diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md index 91252315911..22536010969 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md @@ -1491,6 +1491,70 @@ match_list_input: match_regex: ``` +## Monitor Connectivity + +### Variables + +| Variable | Type | Required | Default | Value Restrictions | Description | +| -------- | ---- | -------- | ------- | ------------------ | ----------- | +| [monitor_connectivity](## "monitor_connectivity") | Dictionary | | | | | +| [  shutdown](## "monitor_connectivity.shutdown") | Boolean | | | | | +| [  interval](## "monitor_connectivity.interval") | Integer | | | | | +| [  interface_sets](## "monitor_connectivity.interface_sets") | List, items: Dictionary | | | | | +| [    - name](## "monitor_connectivity.interface_sets.[].name") | String | | | | | +| [      interfaces](## "monitor_connectivity.interface_sets.[].interfaces") | String | | | | Interface range(s) should be of same type, Ethernet, Loopback, Management etc.
Multiple interface ranges can be specified separated by ","
| +| [  local_interfaces](## "monitor_connectivity.local_interfaces") | String | | | | | +| [  hosts](## "monitor_connectivity.hosts") | List, items: Dictionary | | | | | +| [    - name](## "monitor_connectivity.hosts.[].name") | String | | | | Host Name | +| [      description](## "monitor_connectivity.hosts.[].description") | String | | | | | +| [      ip](## "monitor_connectivity.hosts.[].ip") | String | | | | | +| [      local_interfaces](## "monitor_connectivity.hosts.[].local_interfaces") | String | | | | | +| [      url](## "monitor_connectivity.hosts.[].url") | String | | | | | +| [  vrfs](## "monitor_connectivity.vrfs") | List, items: Dictionary | | | | | +| [    - name](## "monitor_connectivity.vrfs.[].name") | String | | | | VRF Name | +| [      description](## "monitor_connectivity.vrfs.[].description") | String | | | | | +| [      interface_sets](## "monitor_connectivity.vrfs.[].interface_sets") | List, items: Dictionary | | | | | +| [        - name](## "monitor_connectivity.vrfs.[].interface_sets.[].name") | String | | | | | +| [          interfaces](## "monitor_connectivity.vrfs.[].interface_sets.[].interfaces") | String | | | | | +| [      local_interfaces](## "monitor_connectivity.vrfs.[].local_interfaces") | String | | | | | +| [      hosts](## "monitor_connectivity.vrfs.[].hosts") | List, items: Dictionary | | | | | +| [        - name](## "monitor_connectivity.vrfs.[].hosts.[].name") | String | | | | Host name | +| [          description](## "monitor_connectivity.vrfs.[].hosts.[].description") | String | | | | | +| [          ip](## "monitor_connectivity.vrfs.[].hosts.[].ip") | String | | | | | +| [          local_interfaces](## "monitor_connectivity.vrfs.[].hosts.[].local_interfaces") | String | | | | | +| [          url](## "monitor_connectivity.vrfs.[].hosts.[].url") | String | | | | | + +### YAML + +```yaml +monitor_connectivity: + shutdown: + interval: + interface_sets: + - name: + interfaces: + local_interfaces: + hosts: + - name: + description: + ip: + local_interfaces: + url: + vrfs: + - name: + description: + interface_sets: + - name: + interfaces: + local_interfaces: + hosts: + - name: + description: + ip: + local_interfaces: + url: +``` + ## MPLS ### Variables diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 65d116f3043..cfc2c5c38bc 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -2459,6 +2459,144 @@ }, "additionalProperties": false }, + "monitor_connectivity": { + "type": "object", + "properties": { + "shutdown": { + "type": "boolean", + "title": "Shutdown" + }, + "interval": { + "type": "integer", + "title": "Interval" + }, + "interface_sets": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "interfaces": { + "type": "string", + "description": "Interface range(s) should be of same type, Ethernet, Loopback, Management etc.\nMultiple interface ranges can be specified separated by \",\"\n", + "title": "Interfaces" + } + }, + "additionalProperties": false + }, + "title": "Interface Sets" + }, + "local_interfaces": { + "type": "string", + "title": "Local Interfaces" + }, + "hosts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "title": "Host Name", + "type": "string" + }, + "description": { + "type": "string", + "title": "Description" + }, + "ip": { + "type": "string", + "title": "Ip" + }, + "local_interfaces": { + "type": "string", + "title": "Local Interfaces" + }, + "url": { + "type": "string", + "title": "Url" + } + }, + "additionalProperties": false + }, + "title": "Hosts" + }, + "vrfs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "title": "VRF Name", + "type": "string" + }, + "description": { + "type": "string", + "title": "Description" + }, + "interface_sets": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "interfaces": { + "type": "string", + "title": "Interfaces" + } + }, + "additionalProperties": false + }, + "title": "Interface Sets" + }, + "local_interfaces": { + "type": "string", + "title": "Local Interfaces" + }, + "hosts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "title": "Host name", + "type": "string" + }, + "description": { + "type": "string", + "title": "Description" + }, + "ip": { + "type": "string", + "title": "Ip" + }, + "local_interfaces": { + "type": "string", + "title": "Local Interfaces" + }, + "url": { + "type": "string", + "title": "Url" + } + }, + "additionalProperties": false + }, + "title": "Hosts" + } + }, + "additionalProperties": false + }, + "title": "Vrfs" + } + }, + "additionalProperties": false, + "title": "Monitor Connectivity" + }, "mpls": { "type": "object", "title": "MPLS", diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 61ce0a606e9..18c02e52e4f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -1996,6 +1996,85 @@ keys: type: str required: true display_name: Regular Expression + monitor_connectivity: + type: dict + keys: + shutdown: + type: bool + interval: + type: int + convert_types: + - str + interface_sets: + type: list + items: + type: dict + keys: + name: + type: str + interfaces: + type: str + description: 'Interface range(s) should be of same type, Ethernet, Loopback, + Management etc. + + Multiple interface ranges can be specified separated by "," + + ' + local_interfaces: + type: str + hosts: + type: list + items: + type: dict + keys: + name: + display_name: Host Name + type: str + description: + type: str + ip: + type: str + local_interfaces: + type: str + url: + type: str + vrfs: + type: list + items: + type: dict + keys: + name: + display_name: VRF Name + type: str + description: + type: str + interface_sets: + type: list + items: + type: dict + keys: + name: + type: str + interfaces: + type: str + local_interfaces: + type: str + hosts: + type: list + items: + type: dict + keys: + name: + display_name: Host name + type: str + description: + type: str + ip: + type: str + local_interfaces: + type: str + url: + type: str mpls: type: dict display_name: MPLS diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_connectivity.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_connectivity.schema.yml new file mode 100644 index 00000000000..d4a8158839a --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_connectivity.schema.yml @@ -0,0 +1,81 @@ +# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json +# Line above is used by RedHat's YAML Schema vscode extension +# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. +type: dict +keys: + monitor_connectivity: + type: dict + keys: + shutdown: + type: bool + interval: + type: int + convert_types: + - str + interface_sets: + type: list + items: + type: dict + keys: + name: + type: str + interfaces: + type: str + description: | + Interface range(s) should be of same type, Ethernet, Loopback, Management etc. + Multiple interface ranges can be specified separated by "," + local_interfaces: + type: str + hosts: + type: list + items: + type: dict + keys: + name: + display_name: Host Name + type: str + description: + type: str + ip: + type: str + local_interfaces: + type: str + url: + type: str + vrfs: + type: list + items: + type: dict + keys: + name: + display_name: VRF Name + type: str + description: + type: str + interface_sets: + type: list + items: + type: dict + keys: + name: + type: str + interfaces: + type: str + local_interfaces: + type: str + hosts: + type: list + items: + type: dict + keys: + name: + display_name: Host name + type: str + description: + type: str + ip: + type: str + local_interfaces: + type: str + url: + type: str