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

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


The following commit(s) were added to refs/heads/main by this push:
     new 0390fa418d0 CAMEL-21352: Add more header constants to ftp component.
0390fa418d0 is described below

commit 0390fa418d017c92eb24d5a47ff8405a0861bbd8
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat Jan 4 19:15:57 2025 +0100

    CAMEL-21352: Add more header constants to ftp component.
---
 .../org/apache/camel/catalog/components/ftp.json   |  23 ++--
 .../org/apache/camel/catalog/components/ftps.json  |  23 ++--
 .../org/apache/camel/catalog/components/sftp.json  |  23 ++--
 .../apache/camel/component/file/remote/ftp.json    |  23 ++--
 .../apache/camel/component/file/remote/ftps.json   |  23 ++--
 .../apache/camel/component/file/remote/sftp.json   |  23 ++--
 .../camel/component/file/remote/FtpConstants.java  |  56 ++++++--
 .../endpoint/dsl/FtpEndpointBuilderFactory.java    | 152 +++++++++++++++++----
 .../endpoint/dsl/FtpsEndpointBuilderFactory.java   | 152 +++++++++++++++++----
 .../endpoint/dsl/SftpEndpointBuilderFactory.java   | 152 +++++++++++++++++----
 10 files changed, 510 insertions(+), 140 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
index 473bfe499a7..2f321874e47 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
@@ -34,14 +34,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.FtpConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
index cc9aea6068e..f1e34e66a74 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
@@ -35,14 +35,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.FtpsConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
index e453d948577..775e8630812 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
@@ -33,14 +33,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.SftpConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftp.json
 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftp.json
index 473bfe499a7..2f321874e47 100644
--- 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftp.json
+++ 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftp.json
@@ -34,14 +34,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.FtpConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftps.json
 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftps.json
index cc9aea6068e..f1e34e66a74 100644
--- 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftps.json
+++ 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/ftps.json
@@ -35,14 +35,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.FtpsConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/sftp.json
 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/sftp.json
index e453d948577..775e8630812 100644
--- 
a/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/sftp.json
+++ 
b/components/camel-ftp/src/generated/resources/META-INF/org/apache/camel/component/file/remote/sftp.json
@@ -33,14 +33,21 @@
   "headers": {
     "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the file size.", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LENGTH" },
     "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LAST_MODIFIED" },
-    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
-    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
-    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
-    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
-    "CamelFileLocalWorkPath": { "index": 6, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelFtpReplyCode": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
-    "CamelFtpReplyString": { "index": 8, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" },
-    "CamelFileHost": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" }
+    "CamelFileNameOnly": { "index": 2, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Only the file name (the name with no leading 
paths).", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_ONLY" },
+    "CamelFileName": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(producer) Specifies the name of the file to write 
(relative to the endpoint directory). This name can be a String; a String with 
a file or simple Language expression; or an Expression object. If it's null 
then Camel will auto-generate a filename bas [...]
+    "CamelFileNameConsumed": { "index": 4, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The name of the file that has been consumed", 
"constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_NAME_CONSUMED" },
+    "CamelFileAbsolute": { "index": 5, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A boolean option specifying whether the 
consumed file denotes an absolute path or not. Should normally be false for 
relative paths. Absolute paths should normally not be used but we added to the 
move option to allow moving files to abs [...]
+    "CamelFileAbsolutePath": { "index": 6, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The absolute path to the file. For relative 
files this path holds the relative path instead.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_ABSOLUTE_PATH" },
+    "CamelFilePath": { "index": 7, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The file path. For relative files this is the 
starting directory. For absolute files this is the absolute path.", 
"constantName": "org.apache.camel.component.file.remote.FtpConstants#FILE_PATH" 
},
+    "CamelFileRelativePath": { "index": 8, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The relative path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_RELATIVE_PATH" },
+    "CamelFileParent": { "index": 9, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_PARENT" },
+    "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
+    "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
+    "CamelFileLocalWorkPath": { "index": 12, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Path to the local work file, if local work 
directory is used.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelRemoteFileInputStream": { "index": 13, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#REMOTE_FILE_INPUT_STREAM" 
},
+    "CamelFileHost": { "index": 14, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FILE_HOST" },
+    "CamelFtpReplyCode": { "index": 15, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply code", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_CODE" },
+    "CamelFtpReplyString": { "index": 16, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The FTP client reply string", "constantName": 
"org.apache.camel.component.file.remote.FtpConstants#FTP_REPLY_STRING" }
   },
   "properties": {
     "host": { "index": 0, "kind": "path", "displayName": "Host", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.remote.SftpConfiguration", 
"configurationField": "configuration", "description": "Hostname of the FTP 
server" },
diff --git 
a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConstants.java
 
b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConstants.java
index 33b4687fe81..c45530c236c 100644
--- 
a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConstants.java
+++ 
b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConstants.java
@@ -29,27 +29,61 @@ public final class FtpConstants {
     @Metadata(label = "consumer", description = "A `Long` value containing the 
last modified timestamp of the file.",
               javaType = "long")
     public static final String FILE_LAST_MODIFIED = 
Exchange.FILE_LAST_MODIFIED;
-    @Metadata(description = "Specifies the output file name (relative to the 
endpoint directory) to"
-                            + " be used for the output message when sending to 
the endpoint. If this is"
-                            + " not present and no expression either, then a 
generated message ID is"
-                            + " used as the filename instead.",
+    @Metadata(label = "consumer", description = "Only the file name (the name 
with no leading paths).", javaType = "String")
+    public static final String FILE_NAME_ONLY = Exchange.FILE_NAME_ONLY;
+    @Metadata(description = "(producer) Specifies the name of the file to 
write (relative to the endpoint"
+                            + " directory). This name can be a `String`; a 
`String` with a"
+                            + " file or simple Language expression; or an 
Expression object. If it's"
+                            + " `null` then Camel will auto-generate a 
filename based on the message"
+                            + " unique ID. (consumer) Name of the consumed 
file as a relative file path with offset from the"
+                            + " starting directory configured on the 
endpoint.",
               javaType = "String")
     public static final String FILE_NAME = Exchange.FILE_NAME;
-    @Metadata(description = "Only the file name (the name with no leading 
paths).", javaType = "String")
-    public static final String FILE_NAME_ONLY = Exchange.FILE_NAME_ONLY;
+    @Metadata(label = "consumer", description = "The name of the file that has 
been consumed", javaType = "String")
+    public static final String FILE_NAME_CONSUMED = 
Exchange.FILE_NAME_CONSUMED;
+    @Metadata(label = "consumer", description = "A `boolean` option specifying 
whether the consumed file denotes an"
+                                                + " absolute path or not. 
Should normally be `false` for relative paths."
+                                                + " Absolute paths should 
normally not be used but we added to the move"
+                                                + " option to allow moving 
files to absolute paths. But can be used"
+                                                + " elsewhere as well.",
+              javaType = "Boolean")
+    public static final String FILE_ABSOLUTE = "CamelFileAbsolute";
+    @Metadata(label = "consumer", description = "The absolute path to the 
file. For relative files this path holds the"
+                                                + " relative path instead.",
+              javaType = "String")
+    public static final String FILE_ABSOLUTE_PATH = "CamelFileAbsolutePath";
+    @Metadata(label = "consumer", description = "The file path. For relative 
files this is the starting directory."
+                                                + " For absolute files this is 
the absolute path.",
+              javaType = "String")
+    public static final String FILE_PATH = Exchange.FILE_PATH;
+    @Metadata(label = "consumer", description = "The relative path.", javaType 
= "String")
+    public static final String FILE_RELATIVE_PATH = "CamelFileRelativePath";
     @Metadata(description = "The parent path.", javaType = "String")
     public static final String FILE_PARENT = Exchange.FILE_PARENT;
-    @Metadata(description = "The remote file input stream.", javaType = 
"java.io.InputStream")
-    public static final String REMOTE_FILE_INPUT_STREAM = 
RemoteFileComponent.REMOTE_FILE_INPUT_STREAM;
-    @Metadata(description = "Path to the local work file, if local work 
directory is used.", javaType = "String")
+    @Metadata(label = "producer", description = "The actual absolute filepath 
(path + name) for the output file that was"
+                                                + " written. This header is 
set by Camel and its purpose is providing"
+                                                + " end-users with the name of 
the file that was written.",
+              javaType = "String")
+    public static final String FILE_NAME_PRODUCED = 
Exchange.FILE_NAME_PRODUCED;
+    @Metadata(label = "producer", description = "Is used for overruling 
`CamelFileName` header and use the"
+                                                + " value instead (but only 
once, as the producer will remove this header"
+                                                + " after writing the file). 
The value can be only be a String. Notice that"
+                                                + " if the option `fileName` 
has been configured, then this is still being"
+                                                + " evaluated.",
+              javaType = "Object")
+    public static final String OVERRULE_FILE_NAME = 
Exchange.OVERRULE_FILE_NAME;
+    @Metadata(label = "consumer", description = "Path to the local work file, 
if local work directory is used.",
+              javaType = "String")
     public static final String FILE_LOCAL_WORK_PATH = 
Exchange.FILE_LOCAL_WORK_PATH;
 
+    @Metadata(label = "consumer", description = "The remote file input 
stream.", javaType = "java.io.InputStream")
+    public static final String REMOTE_FILE_INPUT_STREAM = 
RemoteFileComponent.REMOTE_FILE_INPUT_STREAM;
+    @Metadata(label = "consumer", description = "The remote hostname.", 
javaType = "String")
+    public static final String FILE_HOST = "CamelFileHost";
     @Metadata(description = "The FTP client reply code", javaType = "int")
     public static final String FTP_REPLY_CODE = "CamelFtpReplyCode";
     @Metadata(description = "The FTP client reply string", javaType = "String")
     public static final String FTP_REPLY_STRING = "CamelFtpReplyString";
-    @Metadata(description = "The remote hostname.", javaType = "String")
-    public static final String FILE_HOST = "CamelFileHost";
 
     private FtpConstants() {
     }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpEndpointBuilderFactory.java
index c53870d061f..726b68f774e 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpEndpointBuilderFactory.java
@@ -5647,10 +5647,24 @@ public interface FtpEndpointBuilderFactory {
             return "CamelFileLastModified";
         }
         /**
-         * Specifies the output file name (relative to the endpoint directory)
-         * to be used for the output message when sending to the endpoint. If
-         * this is not present and no expression either, then a generated
-         * message ID is used as the filename instead.
+         * Only the file name (the name with no leading paths).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileNameOnly}.
+         */
+        public String fileNameOnly() {
+            return "CamelFileNameOnly";
+        }
+        /**
+         * (producer) Specifies the name of the file to write (relative to the
+         * endpoint directory). This name can be a String; a String with a file
+         * or simple Language expression; or an Expression object. If it's null
+         * then Camel will auto-generate a filename based on the message unique
+         * ID. (consumer) Name of the consumed file as a relative file path 
with
+         * offset from the starting directory configured on the endpoint.
          * 
          * The option is a: {@code String} type.
          * 
@@ -5662,16 +5676,70 @@ public interface FtpEndpointBuilderFactory {
             return "CamelFileName";
         }
         /**
-         * Only the file name (the name with no leading paths).
+         * The name of the file that has been consumed.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileNameOnly}.
+         * @return the name of the header {@code FileNameConsumed}.
          */
-        public String fileNameOnly() {
-            return "CamelFileNameOnly";
+        public String fileNameConsumed() {
+            return "CamelFileNameConsumed";
+        }
+        /**
+         * A boolean option specifying whether the consumed file denotes an
+         * absolute path or not. Should normally be false for relative paths.
+         * Absolute paths should normally not be used but we added to the move
+         * option to allow moving files to absolute paths. But can be used
+         * elsewhere as well.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolute}.
+         */
+        public String fileAbsolute() {
+            return "CamelFileAbsolute";
+        }
+        /**
+         * The absolute path to the file. For relative files this path holds 
the
+         * relative path instead.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolutePath}.
+         */
+        public String fileAbsolutePath() {
+            return "CamelFileAbsolutePath";
+        }
+        /**
+         * The file path. For relative files this is the starting directory. 
For
+         * absolute files this is the absolute path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FilePath}.
+         */
+        public String filePath() {
+            return "CamelFilePath";
+        }
+        /**
+         * The relative path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileRelativePath}.
+         */
+        public String fileRelativePath() {
+            return "CamelFileRelativePath";
         }
         /**
          * The parent path.
@@ -5685,12 +5753,54 @@ public interface FtpEndpointBuilderFactory {
         public String fileParent() {
             return "CamelFileParent";
         }
+        /**
+         * The actual absolute filepath (path name) for the output file that 
was
+         * written. This header is set by Camel and its purpose is providing
+         * end-users with the name of the file that was written.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code FileNameProduced}.
+         */
+        public String fileNameProduced() {
+            return "CamelFileNameProduced";
+        }
+        /**
+         * Is used for overruling CamelFileName header and use the value 
instead
+         * (but only once, as the producer will remove this header after 
writing
+         * the file). The value can be only be a String. Notice that if the
+         * option fileName has been configured, then this is still being
+         * evaluated.
+         * 
+         * The option is a: {@code Object} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code OverruleFileName}.
+         */
+        public String overruleFileName() {
+            return "CamelOverruleFileName";
+        }
+        /**
+         * Path to the local work file, if local work directory is used.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileLocalWorkPath}.
+         */
+        public String fileLocalWorkPath() {
+            return "CamelFileLocalWorkPath";
+        }
         /**
          * The remote file input stream.
          * 
          * The option is a: {@code java.io.InputStream} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
          * @return the name of the header {@code RemoteFileInputStream}.
          */
@@ -5698,16 +5808,16 @@ public interface FtpEndpointBuilderFactory {
             return "CamelRemoteFileInputStream";
         }
         /**
-         * Path to the local work file, if local work directory is used.
+         * The remote hostname.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileLocalWorkPath}.
+         * @return the name of the header {@code FileHost}.
          */
-        public String fileLocalWorkPath() {
-            return "CamelFileLocalWorkPath";
+        public String fileHost() {
+            return "CamelFileHost";
         }
         /**
          * The FTP client reply code.
@@ -5733,18 +5843,6 @@ public interface FtpEndpointBuilderFactory {
         public String ftpReplyString() {
             return "CamelFtpReplyString";
         }
-        /**
-         * The remote hostname.
-         * 
-         * The option is a: {@code String} type.
-         * 
-         * Group: common
-         * 
-         * @return the name of the header {@code FileHost}.
-         */
-        public String fileHost() {
-            return "CamelFileHost";
-        }
     }
     static FtpEndpointBuilder endpointBuilder(String componentName, String 
path) {
         class FtpEndpointBuilderImpl extends AbstractEndpointBuilder 
implements FtpEndpointBuilder, AdvancedFtpEndpointBuilder {
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpsEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpsEndpointBuilderFactory.java
index 3b441e9274b..d166f1af11e 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpsEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/FtpsEndpointBuilderFactory.java
@@ -6358,10 +6358,24 @@ public interface FtpsEndpointBuilderFactory {
             return "CamelFileLastModified";
         }
         /**
-         * Specifies the output file name (relative to the endpoint directory)
-         * to be used for the output message when sending to the endpoint. If
-         * this is not present and no expression either, then a generated
-         * message ID is used as the filename instead.
+         * Only the file name (the name with no leading paths).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileNameOnly}.
+         */
+        public String fileNameOnly() {
+            return "CamelFileNameOnly";
+        }
+        /**
+         * (producer) Specifies the name of the file to write (relative to the
+         * endpoint directory). This name can be a String; a String with a file
+         * or simple Language expression; or an Expression object. If it's null
+         * then Camel will auto-generate a filename based on the message unique
+         * ID. (consumer) Name of the consumed file as a relative file path 
with
+         * offset from the starting directory configured on the endpoint.
          * 
          * The option is a: {@code String} type.
          * 
@@ -6373,16 +6387,70 @@ public interface FtpsEndpointBuilderFactory {
             return "CamelFileName";
         }
         /**
-         * Only the file name (the name with no leading paths).
+         * The name of the file that has been consumed.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileNameOnly}.
+         * @return the name of the header {@code FileNameConsumed}.
          */
-        public String fileNameOnly() {
-            return "CamelFileNameOnly";
+        public String fileNameConsumed() {
+            return "CamelFileNameConsumed";
+        }
+        /**
+         * A boolean option specifying whether the consumed file denotes an
+         * absolute path or not. Should normally be false for relative paths.
+         * Absolute paths should normally not be used but we added to the move
+         * option to allow moving files to absolute paths. But can be used
+         * elsewhere as well.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolute}.
+         */
+        public String fileAbsolute() {
+            return "CamelFileAbsolute";
+        }
+        /**
+         * The absolute path to the file. For relative files this path holds 
the
+         * relative path instead.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolutePath}.
+         */
+        public String fileAbsolutePath() {
+            return "CamelFileAbsolutePath";
+        }
+        /**
+         * The file path. For relative files this is the starting directory. 
For
+         * absolute files this is the absolute path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FilePath}.
+         */
+        public String filePath() {
+            return "CamelFilePath";
+        }
+        /**
+         * The relative path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileRelativePath}.
+         */
+        public String fileRelativePath() {
+            return "CamelFileRelativePath";
         }
         /**
          * The parent path.
@@ -6396,12 +6464,54 @@ public interface FtpsEndpointBuilderFactory {
         public String fileParent() {
             return "CamelFileParent";
         }
+        /**
+         * The actual absolute filepath (path name) for the output file that 
was
+         * written. This header is set by Camel and its purpose is providing
+         * end-users with the name of the file that was written.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code FileNameProduced}.
+         */
+        public String fileNameProduced() {
+            return "CamelFileNameProduced";
+        }
+        /**
+         * Is used for overruling CamelFileName header and use the value 
instead
+         * (but only once, as the producer will remove this header after 
writing
+         * the file). The value can be only be a String. Notice that if the
+         * option fileName has been configured, then this is still being
+         * evaluated.
+         * 
+         * The option is a: {@code Object} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code OverruleFileName}.
+         */
+        public String overruleFileName() {
+            return "CamelOverruleFileName";
+        }
+        /**
+         * Path to the local work file, if local work directory is used.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileLocalWorkPath}.
+         */
+        public String fileLocalWorkPath() {
+            return "CamelFileLocalWorkPath";
+        }
         /**
          * The remote file input stream.
          * 
          * The option is a: {@code java.io.InputStream} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
          * @return the name of the header {@code RemoteFileInputStream}.
          */
@@ -6409,16 +6519,16 @@ public interface FtpsEndpointBuilderFactory {
             return "CamelRemoteFileInputStream";
         }
         /**
-         * Path to the local work file, if local work directory is used.
+         * The remote hostname.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileLocalWorkPath}.
+         * @return the name of the header {@code FileHost}.
          */
-        public String fileLocalWorkPath() {
-            return "CamelFileLocalWorkPath";
+        public String fileHost() {
+            return "CamelFileHost";
         }
         /**
          * The FTP client reply code.
@@ -6444,18 +6554,6 @@ public interface FtpsEndpointBuilderFactory {
         public String ftpReplyString() {
             return "CamelFtpReplyString";
         }
-        /**
-         * The remote hostname.
-         * 
-         * The option is a: {@code String} type.
-         * 
-         * Group: common
-         * 
-         * @return the name of the header {@code FileHost}.
-         */
-        public String fileHost() {
-            return "CamelFileHost";
-        }
     }
     static FtpsEndpointBuilder endpointBuilder(String componentName, String 
path) {
         class FtpsEndpointBuilderImpl extends AbstractEndpointBuilder 
implements FtpsEndpointBuilder, AdvancedFtpsEndpointBuilder {
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SftpEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SftpEndpointBuilderFactory.java
index 347053502db..e8b9452fe30 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SftpEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SftpEndpointBuilderFactory.java
@@ -6692,10 +6692,24 @@ public interface SftpEndpointBuilderFactory {
             return "CamelFileLastModified";
         }
         /**
-         * Specifies the output file name (relative to the endpoint directory)
-         * to be used for the output message when sending to the endpoint. If
-         * this is not present and no expression either, then a generated
-         * message ID is used as the filename instead.
+         * Only the file name (the name with no leading paths).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileNameOnly}.
+         */
+        public String fileNameOnly() {
+            return "CamelFileNameOnly";
+        }
+        /**
+         * (producer) Specifies the name of the file to write (relative to the
+         * endpoint directory). This name can be a String; a String with a file
+         * or simple Language expression; or an Expression object. If it's null
+         * then Camel will auto-generate a filename based on the message unique
+         * ID. (consumer) Name of the consumed file as a relative file path 
with
+         * offset from the starting directory configured on the endpoint.
          * 
          * The option is a: {@code String} type.
          * 
@@ -6707,16 +6721,70 @@ public interface SftpEndpointBuilderFactory {
             return "CamelFileName";
         }
         /**
-         * Only the file name (the name with no leading paths).
+         * The name of the file that has been consumed.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileNameOnly}.
+         * @return the name of the header {@code FileNameConsumed}.
          */
-        public String fileNameOnly() {
-            return "CamelFileNameOnly";
+        public String fileNameConsumed() {
+            return "CamelFileNameConsumed";
+        }
+        /**
+         * A boolean option specifying whether the consumed file denotes an
+         * absolute path or not. Should normally be false for relative paths.
+         * Absolute paths should normally not be used but we added to the move
+         * option to allow moving files to absolute paths. But can be used
+         * elsewhere as well.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolute}.
+         */
+        public String fileAbsolute() {
+            return "CamelFileAbsolute";
+        }
+        /**
+         * The absolute path to the file. For relative files this path holds 
the
+         * relative path instead.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileAbsolutePath}.
+         */
+        public String fileAbsolutePath() {
+            return "CamelFileAbsolutePath";
+        }
+        /**
+         * The file path. For relative files this is the starting directory. 
For
+         * absolute files this is the absolute path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FilePath}.
+         */
+        public String filePath() {
+            return "CamelFilePath";
+        }
+        /**
+         * The relative path.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileRelativePath}.
+         */
+        public String fileRelativePath() {
+            return "CamelFileRelativePath";
         }
         /**
          * The parent path.
@@ -6730,12 +6798,54 @@ public interface SftpEndpointBuilderFactory {
         public String fileParent() {
             return "CamelFileParent";
         }
+        /**
+         * The actual absolute filepath (path name) for the output file that 
was
+         * written. This header is set by Camel and its purpose is providing
+         * end-users with the name of the file that was written.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code FileNameProduced}.
+         */
+        public String fileNameProduced() {
+            return "CamelFileNameProduced";
+        }
+        /**
+         * Is used for overruling CamelFileName header and use the value 
instead
+         * (but only once, as the producer will remove this header after 
writing
+         * the file). The value can be only be a String. Notice that if the
+         * option fileName has been configured, then this is still being
+         * evaluated.
+         * 
+         * The option is a: {@code Object} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code OverruleFileName}.
+         */
+        public String overruleFileName() {
+            return "CamelOverruleFileName";
+        }
+        /**
+         * Path to the local work file, if local work directory is used.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code FileLocalWorkPath}.
+         */
+        public String fileLocalWorkPath() {
+            return "CamelFileLocalWorkPath";
+        }
         /**
          * The remote file input stream.
          * 
          * The option is a: {@code java.io.InputStream} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
          * @return the name of the header {@code RemoteFileInputStream}.
          */
@@ -6743,16 +6853,16 @@ public interface SftpEndpointBuilderFactory {
             return "CamelRemoteFileInputStream";
         }
         /**
-         * Path to the local work file, if local work directory is used.
+         * The remote hostname.
          * 
          * The option is a: {@code String} type.
          * 
-         * Group: common
+         * Group: consumer
          * 
-         * @return the name of the header {@code FileLocalWorkPath}.
+         * @return the name of the header {@code FileHost}.
          */
-        public String fileLocalWorkPath() {
-            return "CamelFileLocalWorkPath";
+        public String fileHost() {
+            return "CamelFileHost";
         }
         /**
          * The FTP client reply code.
@@ -6778,18 +6888,6 @@ public interface SftpEndpointBuilderFactory {
         public String ftpReplyString() {
             return "CamelFtpReplyString";
         }
-        /**
-         * The remote hostname.
-         * 
-         * The option is a: {@code String} type.
-         * 
-         * Group: common
-         * 
-         * @return the name of the header {@code FileHost}.
-         */
-        public String fileHost() {
-            return "CamelFileHost";
-        }
     }
     static SftpEndpointBuilder endpointBuilder(String componentName, String 
path) {
         class SftpEndpointBuilderImpl extends AbstractEndpointBuilder 
implements SftpEndpointBuilder, AdvancedSftpEndpointBuilder {

Reply via email to