diff --git a/docs/vyos.vyos.vyos_file_module.rst b/docs/vyos.vyos.vyos_file_module.rst
new file mode 100644
index 00000000..b9b244a1
--- /dev/null
+++ b/docs/vyos.vyos.vyos_file_module.rst
@@ -0,0 +1,249 @@
+.. _vyos.vyos.vyos_file_module:
+
+
+*******************
+vyos.vyos.vyos_file
+*******************
+
+**Manage files, directories, and their ownership on VyOS devices**
+
+
+Version added: 5.4.0
+
+.. contents::
+ :local:
+ :depth: 1
+
+
+Synopsis
+--------
+- Creates, updates, or removes a file or directory on a VyOS device, optionally pushing content from a local file (*src*) or inline text (*content*), and setting owner/group/mode via sudo chown/chmod.
+- This module does not touch the configuration tree (config.boot). It manages arbitrary filesystem paths such as certificates or auth files under /config/auth/, which are not tracked by commit/save/rollback.
+- All logic runs inside this module's main(), using the standard get_connection()/run_commands() pattern shared with vyos_command — there is no dedicated action plugin; this module uses the shared generic vyos action plugin like every other module in the collection.
+
+
+
+
+Parameters
+----------
+
+.. raw:: html
+
+
+
+ | Parameter |
+ Choices/Defaults |
+ Comments |
+
+
+ |
+
+ become
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Whether to prefix remote commands with sudo.
+ |
+
+
+ |
+
+ content
+
+
+ string
+
+ |
+
+ |
+
+ Inline text content to write to dest. Marked no_log, since this module is commonly used to push credential material. Mutually exclusive with src.
+ |
+
+
+ |
+
+ dest
+
+
+ path
+ / required
+
+ |
+
+ |
+
+ Absolute path to the remote file or directory to manage.
+ |
+
+
+ |
+
+ group
+
+
+ string
+
+ |
+
+ |
+
+ Name of the group that should own dest.
+ |
+
+
+ |
+
+ mode
+
+
+ string
+
+ |
+
+ |
+
+ Permission bits for dest, as a string (e.g. '0600'). Compared against stat output after normalizing to 4 digits; '600' and '0600' are treated as equivalent.
+ |
+
+
+ |
+
+ owner
+
+
+ string
+
+ |
+
+ |
+
+ Name of the user that should own dest.
+ |
+
+
+ |
+
+ src
+
+
+ path
+
+ |
+
+ |
+
+ Path to a local file (on the Ansible controller) whose content should be pushed to dest. Read locally and pushed as base64 via a single CLI command, since network_cli has no SFTP/SCP channel available to this module. Mutually exclusive with content.
+ |
+
+
+ |
+
+ state
+
+
+ string
+
+ |
+
+ Choices:
+ present ←
+ - absent
+
+ |
+
+ Whether the path should exist (present) or be removed (absent).
+ |
+
+
+