diff --git a/models/ios/vrf_global/ios_vrf_global.yaml b/models/ios/vrf_global/ios_vrf_global.yaml new file mode 100644 index 000000000..0e604902e --- /dev/null +++ b/models/ios/vrf_global/ios_vrf_global.yaml @@ -0,0 +1,107 @@ +module: ios_vrf_global +short_description: Resource module to configure VRF definitions. +description: This module provides declarative management of VRF definitions on Cisco IOS. +version_added: 8.0.0 +author: Ruchi Pakhle (@Ruchip16) +notes: + - Tested against Cisco IOS-XE version 17.3 on CML. + - This module works with connection C(network_cli). + See U(https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html) +options: + config: + description: A dictionary containing device configurations for VRF, including a list of VRF definitions. + type: dict + suboptions: + vrfs: + description: List of VRF definitions. + type: list + elements: dict + suboptions: + name: + description: Name of the VRF. + type: str + required: true + description: + description: VRF specific description + type: str + ipv4: + description: VRF IPv4 configuration + type: dict + suboptions: + multicast: + description: IP Multicast configuration + type: dict + suboptions: + multitopology: + description: Enable Multicast-Specific RPF Topology + type: bool + ipv6: + description: VRF IPv6 configuration + type: dict + suboptions: + multicast: + description: IP Multicast configuration + type: dict + suboptions: + multitopology: + description: Enable Multicast-Specific RPF Topology + type: bool + rd: + description: Specify Route Distinguisher (RD). + type: str + route_target: + description: Specify Target VPN Extended Communities. + type: dict + suboptions: + export: + description: Export Target-VPN community. + type: str + import_config: + description: Export Target-VPN community. + type: str + both: + description: Both export and import Target-VPN community + type: str + vnet: + description: Virtual NETworking configuration. + type: dict + suboptions: + tag: + description: Identifier used to tag packets associated with this VNET + type: int + vpn: + description: Configure VPN ID for the VRF as specified in RFC 2685 + type: dict + suboptions: + id: + description: Configure VPN ID in RFC 2685 format + type: str + running_config: + description: + - This option is used only with state I(parsed). + - The value of this option should be the output received from the IOS device by + executing the command B(show running-config vrf). + - The state I(parsed) reads the configuration from C(running_config) option and + transforms it into Ansible structured data as per the resource module's argspec + and the value is then returned in the I(parsed) key within the result. + type: str + state: + choices: [parsed, gathered, deleted, merged, replaced, rendered, overridden, purged] + default: merged + description: + - The state the configuration should be left in + - The states I(rendered), I(gathered) and I(parsed) does not perform any change + on the device. + - The state I(rendered) will transform the configuration in C(config) option to + platform specific CLI commands which will be returned in the I(rendered) key + within the result. For state I(rendered) active connection to remote host is + not required. + - The state I(gathered) will fetch the running configuration from device and transform + it into structured data in the format as per the resource module argspec and + the value is returned in the I(gathered) key within the result. + - The state I(parsed) reads the configuration from C(running_config) option and + transforms it into JSON format as per the resource module parameters and the + value is returned in the I(parsed) key within the result. The value of C(running_config) + option should be the same format as the output of command I(show running-config vrf). + connection to remote host is not required. + type: str