<!--
  ~ 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_6_behaviors</samp>](## "avd_6_behaviors") <span style="color:red">removed</span> | Dictionary |  |  |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0.</span> |
    | [<samp>avd_digital_twin_mode</samp>](## "avd_digital_twin_mode") | Boolean |  | `False` |  | PREVIEW: This option is marked as "preview", meaning the data models or generated configuration can change at any time.<br>Enable generation of the Digital Twin version of the fabric (Digital Twin topology, adjusted configuration, etc.).<br>By default, Digital Twin artifacts (such as the topology file, adjusted structured and EOS configuration, device and fabric documentation) will replace original fabric artifacts.<br>To keep Digital Twin artifacts separate, adjust the `output_dir_name` and `documentation_dir_name` variables for both `eos_designs` and `eos_cli_config_gen` to point to a dedicated output location. |
    | [<samp>avd_eos_designs_debug</samp>](## "avd_eos_designs_debug") <span style="color:red">removed</span> | Boolean |  |  |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0. Use <samp>eos_designs_keep_tmp_files</samp> instead.</span> |
    | [<samp>avd_eos_designs_enforce_duplication_checks_across_all_models</samp>](## "avd_eos_designs_enforce_duplication_checks_across_all_models") <span style="color:red">removed</span> | Boolean |  |  |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0.</span> |
    | [<samp>avd_eos_designs_structured_config</samp>](## "avd_eos_designs_structured_config") | Boolean |  | `True` |  | Generate structured configuration per device. |
    | [<samp>avd_eos_designs_unset_facts</samp>](## "avd_eos_designs_unset_facts") <span style="color:red">removed</span> | Boolean |  |  |  | <span style="color:red">This key was removed. Support was removed in AVD version 6.0.0.</span> |
    | [<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 dumping structured configuration files.<br> |
    | [<samp>eos_designs_validation_configuration</samp>](## "eos_designs_validation_configuration") | Dictionary |  |  |  | Validation configuration options when validating AVD Design inputs. |
    | [<samp>&nbsp;&nbsp;warn_eos_config_keys</samp>](## "eos_designs_validation_configuration.warn_eos_config_keys") | Boolean |  | `True` |  | Emit a warning when EOS Config keys are detected in the AVD Design inputs. |
    | [<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_designs_documentation</samp>](## "eos_designs_documentation") | Dictionary |  |  |  | Control fabric documentation generation.<br> |
    | [<samp>&nbsp;&nbsp;enable</samp>](## "eos_designs_documentation.enable") | Boolean |  | `True` |  | Generate fabric-wide documentation. |
    | [<samp>&nbsp;&nbsp;connected_endpoints</samp>](## "eos_designs_documentation.connected_endpoints") | Boolean |  | `False` |  | Include connected endpoints in the fabric-wide documentation.<br>This is `false` by default to avoid cluttering documentation for projects with thousands of endpoints. |
    | [<samp>&nbsp;&nbsp;topology_csv</samp>](## "eos_designs_documentation.topology_csv") | Boolean |  | `False` |  | Generate Topology CSV with all interfaces towards other devices. |
    | [<samp>&nbsp;&nbsp;p2p_links_csv</samp>](## "eos_designs_documentation.p2p_links_csv") | Boolean |  | `False` |  | Generate P2P links CSV with all routed point-to-point links between devices. |
    | [<samp>&nbsp;&nbsp;toc</samp>](## "eos_designs_documentation.toc") | Boolean |  | `True` |  | Generate the table of content(TOC) on fabric documentation. |
    | [<samp>eos_designs_keep_tmp_files</samp>](## "eos_designs_keep_tmp_files") | Boolean |  | `False` |  | Avoid deleting temporary files.<br>This allows for inspecting templated inputs, validated inputs and facts 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_designs_return_structured_config</samp>](## "eos_designs_return_structured_config") | Boolean |  | `False` |  | Return structured configuration as ansible_facts per device. |
    | [<samp>eos_designs_tmp_dir</samp>](## "eos_designs_tmp_dir") | String |  |  |  | Path for temporary files created by the 'eos_designs' role.<br>Contains templated inputs, validated inputs, and facts data used internally by AVD plugins.<br>Defaults to 'intended/tmp_eos_designs'.<br>The temporary directory is cleaned up at the end of the 'eos_designs' role.<br> |
    | [<samp>eos_designs_validate_inputs_batch_size</samp>](## "eos_designs_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. |

=== "YAML"

    ```yaml
    # PREVIEW: This option is marked as "preview", meaning the data models or generated configuration can change at any time.
    # Enable generation of the Digital Twin version of the fabric (Digital Twin topology, adjusted configuration, etc.).
    # By default, Digital Twin artifacts (such as the topology file, adjusted structured and EOS configuration, device and fabric documentation) will replace original fabric artifacts.
    # To keep Digital Twin artifacts separate, adjust the `output_dir_name` and `documentation_dir_name` variables for both `eos_designs` and `eos_cli_config_gen` to point to a dedicated output location.
    avd_digital_twin_mode: <bool; default=False>

    # Generate structured configuration per device.
    avd_eos_designs_structured_config: <bool; default=True>

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

    # Validation configuration options when validating AVD Design inputs.
    eos_designs_validation_configuration:

      # Emit a warning when EOS Config keys are detected in the AVD Design inputs.
      warn_eos_config_keys: <bool; default=True>

    # 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>

    # Control fabric documentation generation.
    eos_designs_documentation:

      # Generate fabric-wide documentation.
      enable: <bool; default=True>

      # Include connected endpoints in the fabric-wide documentation.
      # This is `false` by default to avoid cluttering documentation for projects with thousands of endpoints.
      connected_endpoints: <bool; default=False>

      # Generate Topology CSV with all interfaces towards other devices.
      topology_csv: <bool; default=False>

      # Generate P2P links CSV with all routed point-to-point links between devices.
      p2p_links_csv: <bool; default=False>

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

    # Avoid deleting temporary files.
    # This allows for inspecting templated inputs, validated inputs and facts 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_designs_keep_tmp_files: <bool; default=False>

    # Return structured configuration as ansible_facts per device.
    eos_designs_return_structured_config: <bool; default=False>

    # Path for temporary files created by the 'eos_designs' role.
    # Contains templated inputs, validated inputs, and facts data used internally by AVD plugins.
    # Defaults to 'intended/tmp_eos_designs'.
    # The temporary directory is cleaned up at the end of the 'eos_designs' role.
    eos_designs_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_designs_validate_inputs_batch_size: <int; default=10>
    ```
