<!--
  ~ Copyright (c) 2026 Arista Networks, Inc.
  ~ Use of this source code is governed by the Apache License 2.0
  ~ that can be found in the LICENSE file.
  -->
=== "Table"

    | Variable | Type | Required | Default | Value Restrictions | Description |
    | -------- | ---- | -------- | ------- | ------------------ | ----------- |
    | [<samp>avd_structured_config_file_format</samp>](## "avd_structured_config_file_format") | String |  | `yml` | Valid Values:<br>- <code>yml</code><br>- <code>yaml</code><br>- <code>json</code> | The file format to use when loading structured configuration files.<br> |
    | [<samp>avd_vault_id</samp>](## "avd_vault_id") | String |  |  |  | Vault ID used for encrypting temporary files generated by the role.<br>When Ansible Vault is not configured, this parameter has no effect and files are written as plain JSON.<br>When Ansible Vault is configured, AVD encrypts files containing templated and validated data<br>to prevent sensitive information from being exposed in the temporary directories.<br>  * When `avd_vault_id` is not specified, AVD uses the *first* Vault ID in the list for encryption.<br>  * When `avd_vault_id` is specified, AVD uses the specified Vault ID for encryption. |
    | [<samp>eos_cli_config_gen_configuration</samp>](## "eos_cli_config_gen_configuration") | Dictionary |  |  |  |  |
    | [<samp>&nbsp;&nbsp;enable</samp>](## "eos_cli_config_gen_configuration.enable") | Boolean |  | `True` |  | Generate device EOS configurations. |
    | [<samp>&nbsp;&nbsp;hide_passwords</samp>](## "eos_cli_config_gen_configuration.hide_passwords") | Boolean |  | `False` |  | Replace the input data using the `hide_passwords` filter in the Jinja2 templates by '<removed>' in the configuration if true.<br> |
    | [<samp>eos_cli_config_gen_documentation</samp>](## "eos_cli_config_gen_documentation") | Dictionary |  |  |  |  |
    | [<samp>&nbsp;&nbsp;enable</samp>](## "eos_cli_config_gen_documentation.enable") | Boolean |  | `True` |  | Generate device Markdown documentation. |
    | [<samp>&nbsp;&nbsp;hide_passwords</samp>](## "eos_cli_config_gen_documentation.hide_passwords") | Boolean |  | `True` |  | Replace the input data using the `hide_passwords` filter in the Jinja2 templates by '<removed>' in the documentation if true.<br> |
    | [<samp>&nbsp;&nbsp;toc</samp>](## "eos_cli_config_gen_documentation.toc") | Boolean |  | `True` |  | Generate the table of content(TOC) on device documentation. |
    | [<samp>eos_cli_config_gen_keep_tmp_files</samp>](## "eos_cli_config_gen_keep_tmp_files") | Boolean |  | `False` |  | Avoid deleting temporary files.<br>This allows for inspecting templated inputs and validated inputs used internally by AVD plugins.<br>When an Ansible Vault secret is set, temporary files holding input variables are encrypted. Decryption is required to inspect them.<br> |
    | [<samp>eos_cli_config_gen_tmp_dir</samp>](## "eos_cli_config_gen_tmp_dir") | String |  |  |  | Path for temporary files created by the 'eos_cli_config_gen' role.<br>Contains templated inputs and validated inputs used internally by AVD plugins.<br>Defaults to 'intended/tmp_eos_cli_config_gen'.<br>The temporary directory is cleaned up at the end of the 'eos_cli_config_gen' role.<br> |
    | [<samp>eos_cli_config_gen_validate_inputs_batch_size</samp>](## "eos_cli_config_gen_validate_inputs_batch_size") | Integer |  | `10` |  | The number of hosts to process in each batch when validating inputs.<br>Depending on your inventory size and the available resources, you may want to adjust this number. |
    | [<samp>generate_default_config</samp>](## "generate_default_config") <span style="color:red">removed</span> | Boolean |  | `False` |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0. See [here](https://avd.arista.com/5.x/docs/porting-guides/5.x.x.html#default-eos-configuration-is-no-longer-automatically-generated) for details.</span> |
    | [<samp>generate_device_documentation</samp>](## "generate_device_documentation") <span style="color:red">removed</span> | Boolean |  | `True` |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0. Use <samp>eos_cli_config_gen_documentation.enable</samp> instead.</span> |
    | [<samp>read_structured_config_from_file</samp>](## "read_structured_config_from_file") | Boolean |  | `True` |  | Read structured configuration from files in `structured_dir` (default directory also used by the `eos_designs` role).<br>If set to false, `eos_cli_config_gen` will read structured configuration from hostvars.<br> |

=== "YAML"

    ```yaml
    # The file format to use when loading structured configuration files.
    avd_structured_config_file_format: <str; "yml" | "yaml" | "json"; default="yml">

    # Vault ID used for encrypting temporary files generated by the role.
    # When Ansible Vault is not configured, this parameter has no effect and files are written as plain JSON.
    # When Ansible Vault is configured, AVD encrypts files containing templated and validated data
    # to prevent sensitive information from being exposed in the temporary directories.
    #   * When `avd_vault_id` is not specified, AVD uses the *first* Vault ID in the list for encryption.
    #   * When `avd_vault_id` is specified, AVD uses the specified Vault ID for encryption.
    avd_vault_id: <str>
    eos_cli_config_gen_configuration:

      # Generate device EOS configurations.
      enable: <bool; default=True>

      # Replace the input data using the `hide_passwords` filter in the Jinja2 templates by '<removed>' in the configuration if true.
      hide_passwords: <bool; default=False>
    eos_cli_config_gen_documentation:

      # Generate device Markdown documentation.
      enable: <bool; default=True>

      # Replace the input data using the `hide_passwords` filter in the Jinja2 templates by '<removed>' in the documentation if true.
      hide_passwords: <bool; default=True>

      # Generate the table of content(TOC) on device documentation.
      toc: <bool; default=True>

    # Avoid deleting temporary files.
    # This allows for inspecting templated inputs and validated inputs used internally by AVD plugins.
    # When an Ansible Vault secret is set, temporary files holding input variables are encrypted. Decryption is required to inspect them.
    eos_cli_config_gen_keep_tmp_files: <bool; default=False>

    # Path for temporary files created by the 'eos_cli_config_gen' role.
    # Contains templated inputs and validated inputs used internally by AVD plugins.
    # Defaults to 'intended/tmp_eos_cli_config_gen'.
    # The temporary directory is cleaned up at the end of the 'eos_cli_config_gen' role.
    eos_cli_config_gen_tmp_dir: <str>

    # The number of hosts to process in each batch when validating inputs.
    # Depending on your inventory size and the available resources, you may want to adjust this number.
    eos_cli_config_gen_validate_inputs_batch_size: <int; default=10>

    # Read structured configuration from files in `structured_dir` (default directory also used by the `eos_designs` role).
    # If set to false, `eos_cli_config_gen` will read structured configuration from hostvars.
    read_structured_config_from_file: <bool; default=True>
    ```
