diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml index 439d45fe7e8..aaa3bbe95e1 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml @@ -86,7 +86,7 @@ keys: key: type: str description: Password string. - key_id: + key_ids: type: list convert_types: - dict diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 index 55bdae6f495..7b7cb75b72e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 @@ -190,21 +190,18 @@ router isis {{ router_isis.instance }} {% endif %} {% endif %} {% if router_isis.authentication is arista.avd.defined %} -{% if router_isis.authentication.both is arista.avd.defined %} -{% if router_isis.authentication.both.key_id is arista.avd.defined %} -{% for auth_key_id in router_isis.authentication.both.key_id %} -{% if auth_key_id.id is arista.avd.defined and auth_key_id.algorithm is arista.avd.defined %} -{% if auth_key_id.key_type is arista.avd.defined and auth_key_id.key is arista.avd.defined %} -{% if auth_key_id.rfc_5310 is arista.avd.defined(true) %} - authentication key-id {{ auth_key_id.id }} algorithm {{ auth_key_id.algorithm }} rfc-5310 key {{ auth_key_id.key_type }} {{ auth_key_id.key }} -{% else %} - authentication key-id {{ auth_key_id.id }} algorithm {{ auth_key_id.algorithm }} key {{ auth_key_id.key_type }} {{ auth_key_id.key }} -{% endif %} -{% endif %} -{% endif %} -{% endfor %} +{% for auth_key in router_isis.authentication.both.key_id | arista.avd.natural_sort("id") %} +{% if auth_key_id.id is arista.avd.defined + and auth_key.algorithm is arista.avd.defined + and auth_key.key_type is arista.avd.defined + and auth_key.key is arista.avd.defined %} +{% if auth_key.rfc_5310 is arista.avd.defined(true) %} + authentication key-id {{ auth_key.id }} algorithm {{ auth_key.algorithm }} rfc-5310 key {{ auth_key.key_type }} {{ auth_key.key }} +{% else %} + authentication key-id {{ auth_key.id }} algorithm {{ auth_key.algorithm }} key {{ auth_key.key_type }} {{ auth_key.key }} +{% endif %} {% endif %} -{% endif %} +{% endfor %} {% if router_isis.authentication.level_1 is arista.avd.defined %} {% if router_isis.authentication.level_1.key_id is arista.avd.defined %} {% set both_key_id = [] %}