mikewiebe / mikewiebe.ndfc / 2.1.3 / module / dcnm_interface DCNM Ansible Module for managing interfaces. | "added in version" 0.9.0 of mikewiebe.ndfc" Authors: Mallik Mudigonda(@mmudigon) This plugin has a corresponding action plugin.mikewiebe.ndfc.dcnm_interface (2.1.3) — module
Install with ansible-galaxy collection install mikewiebe.ndfc:==2.1.3
collections: - name: mikewiebe.ndfc version: 2.1.3
DCNM Ansible Module for the following interface service operations
Create, Delete, Modify PortChannel, VPC, Loopback and Sub-Interfaces
Modify Ethernet Interfaces
# States: # This module supports the following states: # # Merged: # Interfaces defined in the playbook will be merged into the target fabric. # # The interfaces listed in the playbook will be created if not already present on the DCNM # server. If the interface is already present and the configuration information included # in the playbook is either different or not present in DCNM, then the corresponding # information is added to the interface on DCNM. If an interface mentioned in playbook # is already present on DCNM and there is no difference in configuration, no operation # will be performed for such interface. # # Replaced: # Interfaces defined in the playbook will be replaced in the target fabric. # # The state of the interfaces listed in the playbook will serve as source of truth for the # same interfaces present on the DCNM under the fabric mentioned. Additions and updations # will be done to bring the DCNM interfaces to the state listed in the playbook. # Note: Replace will only work on the interfaces mentioned in the playbook. # # Overridden: # Interfaces defined in the playbook will be overridden in the target fabric. # # The state of the interfaces listed in the playbook will serve as source of truth for all # the interfaces under the fabric mentioned. Additions and deletions will be done to bring # the DCNM interfaces to the state listed in the playbook. All interfaces other than the # ones mentioned in the playbook will either be deleted or reset to default state. # Note: Override will work on the all the interfaces present in the DCNM Fabric. # # Deleted: # Interfaces defined in the playbook will be deleted in the target fabric. # # Deletes the list of interfaces specified in the playbook. If the playbook does not include # any switches or interface information, then all interfaces from all switches in the # fabric will either be deleted or put to default state. If configuuration includes information # pertaining to any particular switch, then interfaces belonging to that switch will either be # deleted or put to default. If configuration includes both interface and switch information, # then the specified interfaces will either be deleted or reset on all the seitches specified # # Query: # Returns the current DCNM state for the interfaces listed in the playbook. # LOOPBACK INTERFACE - name: Create loopback interfaces cisco.dcnm.dcnm_interface: &lo_merge fabric: mmudigon-fabric state: merged # only choose from [merged, replaced, deleted, overridden, query] config: - name: lo100 # should be of the form lo<port-id> type: lo # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch where to deploy the config deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: lo # choose from [lo] int_vrf: "" # VRF name ipv4_addr: 192.169.10.1 # ipv4 address for the loopback interface ipv6_addr: fd01::0201 # ipV6 address for the loopback interface route_tag: "" # Routing Tag for the interface cmds: # Freeform config - no shutdown description: "loopback interface 100 configuration"
- name: Replace loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: replaced # only choose from [merged, replaced, deleted, overridden. query] config: - name: lo100 # should be of the form lo<port-id> type: lo # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch where to deploy the config deploy: true ## choose from [true, false] profile: admin_state: false ## choose from [true, false] mode: lo # choose from [lo] int_vrf: "" # VRF name ipv4_addr: 192.169.12.1 ## ipv4 address for the loopback interface ipv6_addr: fd01:0203 # ipV6 address for the loopback interface route_tag: "100" ## Routing Tag for the interface cmds: # Freeform config - no shutdown description: "loopback interface 100 configuration - replaced"
# To delete or reset all interfaces on all switches in the fabric - name: Delete loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query]
# To delete or reset all interfaces on a specific switch in the fabric - name: Delete loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - switch: - "192.172.1.1" # provide the switch where to deploy the config
# To delete or reset a particular interface on all switches in the fabric - name: Delete loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: lo100 # should be of the form lo<port-id>
# To delete or reset a particular interface on a specific switch in the fabric - name: Delete loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: lo100 # should be of the form lo<port-id> switch: - "192.172.1.1" # provide the switch where to deploy the config
# To override with a particular interface configuration - name: Override loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query] config: - name: lo103 # should be of the form lo<port-id> type: lo # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch where to deploy the config deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: lo # choose from [lo] int_vrf: "" # VRF name ipv4_addr: 192.169.14.1 # ipv4 address for the loopback interface ipv6_addr: fd01::0205 # ipV6 address for the loopback interface route_tag: "" # Routing Tag for the interface cmds: # Freeform config - no shutdown description: "loopback interface 103 configuration - overridden"
# To override all interface on all switches in the fabric - name: Override loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query]
# To override all interfaces on a particular switche in the fabric - name: Override loopback interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query] config: - switch: - "192.172.1.1" # provide the switch where to deploy the config
# PORTCHANNEL INTERFACE - name: Create port channel interfaces cisco.dcnm.dcnm_interface: &pc_merge fabric: mmudigon-fabric state: merged # only choose from [merged, replaced, deleted, overridden, query] config: - name: po300 # should be of the form po<port-id> type: pc # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: trunk # choose from [trunk, access, l3, monitor] members: # member interfaces - e1/10 pc_mode: 'on' # choose from ['on', 'active', 'passive'] bpdu_guard: true # choose from [true, false, no] port_type_fast: true # choose from [true, false] mtu: jumbo # choose from [default, jumbo] allowed_vlans: none # choose from [none, all, vlan range] cmds: # Freeform config - no shutdown description: "port channel acting as trunk" - name: po301 # should be of the form po<port-id> type: pc # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: false # choose from [true, false] mode: access # choose from [trunk, access, l3, monitor] members: # member interfaces - e1/11 pc_mode: 'on' # choose from ['on', 'active', 'passive'] bpdu_guard: true # choose from [true, false, no] port_type_fast: true # choose from [true, false] mtu: default # choose from [default, jumbo] access_vlan: 301 # cmds: # Freeform config - no shutdown description: "port channel acting as access"
- name: Replace port channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: replaced # only choose from [merged, replaced, deleted, overridden, query] config: - name: po300 # should be of the form po<port-id> type: pc # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: false ## choose from [true, false] mode: trunk # choose from [trunk, access, l3, monitor] members: # member interfaces - e1/10 pc_mode: 'active' ## choose from ['on', 'active', 'passive'] bpdu_guard: false ## choose from [true, false, no] port_type_fast: false ## choose from [true, false] mtu: default ## choose from [default, jumbo] allowed_vlans: all ## choose from [none, all, vlan range] cmds: # Freeform config - no shutdown description: "port channel acting as trunk - replace"
# To delete or reset a particular interface on a specific switch in the fabric - name: Delete port channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: po300 # should be of the form po<port-id> switch: - "192.172.1.1" # provide the switch information where the config is to be deployed
# To delete or reset all interfaces on all switches in the fabric - name: Delete port channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query]
# To delete or reset a particular interface on all switches in the fabric - name: Delete port-channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: po300 # should be of the form po<port-id>
# To delete or reset all interfaces on a specific switch in the fabric - name: Delete port channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - switch: - "192.172.1.1" # provide the switch information where the config is to be deployed
- name: Override port channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query] config: - name: po320 # should be of the form po<port-id> type: pc # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: trunk # choose from [trunk, access, l3, monitor] members: # member interfaces - e1/10 pc_mode: 'on' # choose from ['on', 'active', 'passive'] bpdu_guard: true # choose from [true, false, no] port_type_fast: true # choose from [true, false] mtu: jumbo # choose from [default, jumbo] allowed_vlans: none # choose from [none, all, vlan range] cmds: # Freeform config - no shutdown description: "port channel acting as trunk"
# SUB-INTERFACE - name: Create sub-interfaces cisco.dcnm.dcnm_interface: &sub_merge fabric: mmudigon-fabric state: merged # only choose from [merged, replaced, deleted, overridden, query] config: - name: eth1/1.1 # should be of the form eth<port-num>.<port-id> type: sub_int # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: subint # choose from [subint] vlan: 100 # vlan ID [min:2, max:3967] int_vrf: "" # VRF name ipv4_addr: 192.168.30.1 # ipv4 address for the sub-interface ipv4_mask_len: 24 # choose between [min:8, max:31] ipv6_addr: fd01::0401 # ipV6 address for the sub-interface ipv6_mask_len: 64 # choose between [min:64, max:127] mtu: 9216 # choose between [min:576, max:9216] cmds: # Freeform config - no shutdown description: "sub interface eth1/1.1 configuration"
- name: Replace sub-interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: replaced # only choose from [merged, replaced, deleted, overridden, query] config: - name: eth1/1.1 # should be of the form eth<port-num>.<port-id> type: sub_int # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: false ## choose from [true, false] mode: subint # choose from [subint] vlan: 200 ## vlan ID [min:2, max:3967] int_vrf: "" # VRF name ipv4_addr: 192.168.32.1 ## ipv4 address for the sub-interface ipv4_mask_len: 20 # choose between [min:8, max:31] ipv6_addr: fd01::0403 # ipV6 address for the sub-interface ipv6_mask_len: 64 # choose between [min:64, max:127] mtu: 1500 ## choose between [min:576, max:9216] cmds: # Freeform config - no shutdown description: "sub interface eth1/1.1 configuration - replace"
# To delete or reset all interfaces on all switches in the fabric - name: Delete sub-interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query]
# To delete or reset a particular interface on all switches in the fabric - name: Delete port-channel interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: eth1/1.1 # should be of the form eth<port-num>.<port-id>
- name: Override sub-interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query] config: - name: eth1/1.3 # should be of the form eth<port-num>.<port-id> type: sub_int # choose from this list [pc, vpc, sub_int, lo, eth] switch: - "192.172.1.1" # provide the switch information where the config is to be deployed deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: subint # choose from [subint] vlan: 103 # vlan ID [min:2, max:3967] int_vrf: "" # VRF name ipv4_addr: 192.168.35.1 # ipv4 address for the sub-interface ipv4_mask_len: 24 # choose between [min:8, max:31] ipv6_addr: fd01::0405 # ipV6 address for the sub-interface ipv6_mask_len: 64 # choose between [min:64, max:127] mtu: 9216 # choose between [min:576, max:9216] cmds: # Freeform config - no shutdown description: "sub interface eth1/1.3 configuration - override"
# VPC INTERFACE - name: Create vPC interfaces cisco.dcnm.dcnm_interface: &vpc_merge fabric: mmudigon-fabric state: merged # only choose from [merged, replaced, deleted, overridden, query] config: - name: vpc750 # should be of the form vpc<port-id> type: vpc # choose from this list [pc, vpc, sub_int, lo, eth] switch: # provide switches of vPC pair - ["192.172.1.1", "192.172.1.2"] deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: trunk # choose from [trunk, access] peer1_pcid: 100 # choose between [Min:1, Max:4096], if not given, will be VPC port-id peer2_pcid: 100 # choose between [Min:1, Max:4096], if not given, will be VPC port-id peer1_members: # member interfaces on peer 1 - e1/24 peer2_members: # member interfaces on peer 2 - e1/24 pc_mode: 'active' # choose from ['on', 'active', 'passive'] bpdu_guard: true # choose from [true, false, 'no'] port_type_fast: true # choose from [true, false] mtu: jumbo # choose from [default, jumbo] peer1_allowed_vlans: none # choose from [none, all, vlan range] peer2_allowed_vlans: none # choose from [none, all, vlan range] peer1_description: "VPC acting as trunk peer1" peer2_description: "VPC acting as trunk peer2"
- name: Replace vPC interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: replaced # only choose from [merged, replaced, deleted, overridden, query] config: - name: vpc750 # should be of the form vpc<port-id> type: vpc # choose from this list [pc, vpc, sub_int, lo, eth] switch: # provide switches of vPC pair - ["192.172.1.1", "192.172.1.2"] deploy: true # choose from [true, false] profile: admin_state: false ## choose from [true, false] mode: trunk # choose from [trunk, access] peer1_pcid: 100 # choose between [Min:1, Max:4096], if not given, will be VPC port-id peer2_pcid: 100 # choose between [Min:1, Max:4096], if not given, will be VPC port-id peer1_members: ## member interfaces on peer 1 - e1/26 peer2_members: ## member interfaces on peer 2 - e1/26 pc_mode: 'active' ## choose from ['on', 'active', 'passive'] bpdu_guard: false ## choose from [true, false, 'no'] port_type_fast: false ## choose from [true, false] mtu: default ## choose from [default, jumbo] peer1_allowed_vlans: all ## choose from [none, all, vlan range] peer2_allowed_vlans: all ## choose from [none, all, vlan range] peer1_description: "VPC acting as trunk peer1 - modified" peer2_description: "VPC acting as trunk peer2 - modified" peer1_cmds: # Freeform config - no shutdown peer2_cmds: # Freeform config - no shutdown
# To delete or reset a particular interface on a specific switch in the fabric - name: Delete vPC interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: deleted # only choose from [merged, replaced, deleted, overridden, query] config: - name: vpc750 # should be of the form vpc<port-id> switch: # provide switches of vPC pair - ["192.172.1.1", "192.172.1.2"]
- name: Override vPC interfaces cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: overridden # only choose from [merged, replaced, deleted, overridden, query] config: - name: vpc752 # should be of the form vpc<port-id> type: vpc # choose from this list [pc, vpc, sub_int, lo, eth] switch: # provide switches of vPC pair - ["192.172.1.1", "192.172.1.2"] deploy: true # choose from [true, false] profile: admin_state: true # choose from [true, false] mode: trunk # choose from [trunk, access] peer1_pcid: 752 # choose between [Min:1, Max:4096], if not given, will be VPC port-id #peer2_pcid: 1 # choose between [Min:1, Max:4096], if not given, will be VPC port-id peer1_members: # member interfaces on peer 1 - e1/26 peer2_members: # member interfaces on peer 2 - e1/27 pc_mode: 'on' # choose from ['on', 'active', 'passive'] bpdu_guard: true # choose from [true, false, no] port_type_fast: true # choose from [true, false] mtu: jumbo # choose from [default, jumbo] peer1_allowed_vlans: none # choose from [none, all, vlan range] peer2_allowed_vlans: none # choose from [none, all, vlan range] peer1_description: "VPC acting as trunk peer1" peer2_description: "VPC acting as trunk peer2" peer1_cmds: # Freeform config - no shutdown - no shutdown peer2_cmds: # Freeform config - no shutdown - no shutdown
# QUERY - name: Query interface details cisco.dcnm.dcnm_interface: fabric: mmudigon-fabric state: query # only choose from [merged, replaced, deleted, overridden, query] config: - switch: - "192.172.1.1" # provide the switch information where the config is to be deployed - name: po350 switch: - "192.172.1.1" # provide the switch information where the config is to be deployed - name: lo450 switch: - "192.172.1.1" # provide the switch information where the config is to be deployed - name: eth1/1 switch: - "192.172.1.1" # provide the switch information where the config is to be deployed - name: eth1/15.2 switch: - "192.172.1.1" # provide the switch information where the config is to be deployed - name: vpc750 switch: - "192.172.1.1" # provide the switch information where the config is to be deployed
state: choices: - merged - replaced - overridden - deleted - query default: merged description: - The required state of the configuration after module completion. type: str config: description: - A dictionary of interface operations elements: dict suboptions: deploy: default: true description: - Flag indicating if the configuration must be pushed to the switch. If not included it is considered true by default type: bool name: description: - Name of the interface. Example, po55, eth2/1, lo100, vpc25, eth1/1.1. required: true type: str profile_eth: description: - Though the key shown here is 'profile_eth' the actual key to be used in playbook is 'profile'. The key 'profile_eth' is used here to logically segregate the interface objects applicable for this profile - Object profile which must be included for ethernet interface configurations. suboptions: access_vlan: default: '' description: - Vlan for the interface. This option is applicable only for interfaces whose 'mode' is 'access' type: str admin_state: default: true description: - Administrative state of the interface type: bool allowed_vlans: choices: - none - all - vlan-range(e.g., 1-2, 3-40) default: none description: - Vlans that are allowed on this interface. This option is applicable only for interfaces whose 'mode' is 'trunk' type: str bpdu_guard: choices: - 'true' - 'false' - 'no' default: true description: - Spanning-tree bpduguard type: str cmds: default: [] description: - Commands to be included in the configuration under this interface type: list description: default: '' description: - Description of the interface type: str int_vrf: default: default description: - Interface VRF name. This object is applicable only if the 'mode' is 'routed' type: str ipv4_addr: default: '' description: - IPV4 address of the interface. This object is applicable only if the 'mode' is 'routed' or 'epl_routed' type: str ipv4_mask_len: choices: - Min 1 - Max 31 default: 8 description: - IPV4 address mask length. This object is applicable only if the 'mode' is 'routed' or 'epl_routed' type: int ipv6_addr: default: '' description: - IPV6 address of the interface. This object is applicable only if the 'mode' is 'epl_routed' type: str ipv6_mask_len: choices: - Min 1 - Max 31 default: 8 description: - IPV6 address mask length. This object is applicable only if the 'mode' is 'epl_routed' type: int mode: choices: - trunk - access - routed - monitor - epl_routed description: - Interface mode required: true type: str mtu: description: - Interface MTU. - Can be specified either "default" or "jumbo" for access and trunk interface types. If not specified, it defaults to "jumbo" - Can be specified with any value within 576 and 9216 for routed interface types. If not specified, it defaults to 9216 type: str port_type_fast: choices: - true - false default: true description: - Spanning-tree edge port behavior type: bool route_tag: default: '' description: - Route tag associated with the interface IP. This object is applicable only if the 'mode' is 'routed' or 'epl_routed' type: str speed: choices: - Auto - 100Mb - 1Gb - 10Gb - 25Gb - 40Gb - 100Gb default: Auto description: - Speed of the interface. type: str profile_lo: description: - Though the key shown here is 'profile_lo' the actual key to be used in playbook is 'profile'. The key 'profile_lo' is used here to logically segregate the interface objects applicable for this profile - Object profile which must be included for loopback interface configurations. suboptions: admin_state: default: true description: - Administrative state of the interface type: bool cmds: default: [] description: - Commands to be included in the configuration under this interface type: list description: default: '' description: - Description of the interface type: str int_vrf: default: default description: - Interface VRF name. type: str ipv4_addr: default: '' description: - IPV4 address of the interface. type: str ipv6_addr: default: '' description: - IPV6 address of the interface. type: str mode: choices: - lo description: - Interface mode required: true type: str route_tag: default: '' description: - Route tag associated with the interface IP. type: str profile_pc: description: - Though the key shown here is 'profile_pc' the actual key to be used in playbook is 'profile'. The key 'profile_pc' is used here to logically segregate the interface objects applicable for this profile - Object profile which must be included for port channel interface configurations. suboptions: access_vlan: default: '' description: - Vlan for the interface. This option is applicable only for interfaces whose 'mode' is 'access' type: str admin_state: default: true description: - Administrative state of the interface type: bool cmds: default: [] description: - Commands to be included in the configuration under this interface type: list description: default: '' description: - Description of the interface type: str int_vrf: default: default description: - Interface VRF name. This object is applicable only if the 'mode' is 'l3' type: str ipv4_addr: default: '' description: - IPV4 address of the interface. This object is applicable only if the 'mode' is 'l3' type: str ipv4_mask_len: choices: - Min 1 - Max 31 default: 8 description: - IPV4 address mask length. This object is applicable only if the 'mode' is 'l3' type: int members: description: - Member interfaces that are part of this port channel elements: str required: true type: list mode: choices: - trunk - access - l3 - monitor description: - Interface mode required: true type: str route_tag: default: '' description: - Route tag associated with the interface IP. This object is applicable only if the 'mode' is 'l3' type: str profile_subint: description: - Though the key shown here is 'profile_subint' the actual key to be used in playbook is 'profile'. The key 'profile_subint' is used here to logically segregate the interface objects applicable for this profile - Object profile which must be included for sub-interface configurations. suboptions: admin_state: default: true description: - Administrative state of the interface type: bool cmds: default: [] description: - Commands to be included in the configuration under this interface type: list description: default: '' description: - Description of the interface type: str int_vrf: default: default description: - Interface VRF name. type: str ipv4_addr: default: '' description: - IPV4 address of the interface. type: str ipv4_mask_len: choices: - Min 8 - Max 31 default: 8 description: - IPV4 address mask length. type: int ipv6_addr: default: '' description: - IPV6 address of the interface. type: str ipv6_mask_len: choices: - Min 1 - Max 31 default: 8 description: - IPV6 address mask length. type: int mode: choices: - subint description: - Interface mode required: true type: str mtu: choices: - Min 576 - Max 9216 default: 9216 description: - Interface MTU type: int vlan: choices: - Min 2 - Max 3967 default: 0 description: - DOT1Q vlan id for this interface type: int profile_vpc: description: - Though the key shown here is 'profile_vpc' the actual key to be used in playbook is 'profile'. The key 'profile_vpc' is used here to logically segregate the interface objects applicable for this profile - Object profile which must be included for virtual port channel inetrface configurations. suboptions: admin_state: default: true description: - Administrative state of the interface type: bool bpdu_guard: choices: - 'true' - 'false' - 'no' default: true description: - Spanning-tree bpduguard type: str mode: choices: - trunk - access description: - Interface mode required: true type: str mtu: choices: - default - jumbo default: jumbo description: - Interface MTU type: str pc_mode: choices: - active - passive - 'on' default: active description: - Port channel mode type: str peer1_access_vlan: default: '' description: - Vlan for the interface of first peer. This option is applicable only for interfaces whose 'mode' is 'access' type: str peer1_allowed_vlans: choices: - none - all - vlan-range(e.g., 1-2, 3-40) default: none description: - Vlans that are allowed on this interface of first peer. This option is applicable only for interfaces whose 'mode' is 'trunk' type: str peer1_cmds: default: [] description: - Commands to be included in the configuration under this interface of first peer type: list peer1_description: default: '' description: - Description of the interface of first peer type: str peer1_members: description: - Member interfaces that are part of this port channel on first peer elements: str required: true type: list peer1_pcid: choices: - Min 1 - Max 4096 default: Default value is the vPC port identifier description: - Port channel identifier of first peer. If this object is not included, then the value defaults to the vPC identifier. This value cannot be changed once vPC is created type: int peer2_access_vlan: default: '' description: - Vlan for the interface of second peer. This option is applicable only for interfaces whose 'mode' is 'access' type: str peer2_allowed_vlans: choices: - none - all - vlan-range(e.g., 1-2, 3-40) default: none description: - Vlans that are allowed on this interface of second peer. This option is applicable only for interfaces whose 'mode' is 'trunk' type: str peer2_cmds: default: [] description: - Commands to be included in the configuration under this interface of second peer type: list peer2_description: default: '' description: - Description of the interface of second peer type: str peer2_members: description: - Member interfaces that are part of this port channel on second peer elements: str required: true type: list peer2_pcid: choices: - Min 1 - Max 4096 default: Default value is the vPC port identifier description: - Port channel identifier of second peer. If this object is not included, then the value defaults to the vPC identifier. This value cannot be changed once vPC is created type: int port_type_fast: choices: - true - false default: true description: - Spanning-tree edge port behavior type: bool switch: description: - IP address or DNS name of the management interface. All switches mentioned in this list will be deployed with the included configuration. For vPC interfaces this list object will contain elements each of which is a list of pair of switches required: true type: list type: choices: - pc - vpc - sub_int - lo - eth description: - Interface type. Example, pc, vpc, sub_int, lo, eth required: true type: str type: list fabric: description: - Name of the target fabric for interface operations required: true type: str check_deploy: default: false description: - Deploy operations may take considerable time in certain cases based on the configuration included in the playbook. A success response from DCNM server does not guarantee the completion of deploy operation. This flag if set indicates that the module should verify if the configured state is in sync with what is requested in playbook. If not set the module will return without verifying the state. required: false type: bool