You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been playing with implementing the "interface_settings" module as defined in the roadmap, and have found that the "interface_assignments" module has most of the backend code to make this module work already implemented and that using the existing module, it should be fairly straightforward to make a single module that can assign, and configure interfaces, rather than duplicating calls.
Minimum Viable Product (MVP)
options:
identifier:
description:
- "Technical identifier of the interface, used by hasync for example"type: strrequired: truedevice:
description:
- Physical Device Name eg. vtnet0, ipsec1000 etc,.type: strrequired: truedescription:
description:
- Interface name shown in the GUI. Identifier in capital letters if not provided.
- Input will be trimmed, as no whitespaces are allowed.type: strrequired: falseenabled:
description:
- Enable or disable the interfacetype: boolrequired: falselocked:
description:
- Prevent interface removaltype: boolrequired: falseblock_private:
description:
- When set, this option blocks traffic from IP addresses that are reserved for private networks as per RFC 1918 (10/8, 172.16/12, 192.168/16) as well as loopback addresses (127/8) and Carrier-grade NAT addresses (100.64/10). This option should only be set for WAN interfaces that use the public IP address space.type: boolrequired: falseblock_bogons:
description:
- When set, this option blocks traffic from IP addresses that are reserved for private networks as per RFC 1918 (10/8, 172.16/12, 192.168/16) as well as loopback addresses (127/8) and Carrier-grade NAT addresses (100.64/10). This option should only be set for WAN interfaces that use the public IP address space.type: boolrequired: falseipv4_configuration_type:
description:
-
type: strrequired: falseipv6_configuration_type:
description:
-
type: strrequired: falseipv4_address:
description:
-
type: strrequired: falseipv4_gateway:
description:
-
type: strrequired: falseipv6_address:
description:
-
type: strrequired: falseipv6_gateway:
description:
-
type: strrequired: falsetrack6_interface:
description:
-
type: strrequired: falsetrack6_prefix_id:
description:
-
type: intrequired: falsemac_address:
description:
-
type: strrequired: falsepromiscuous_mode:
description:
-
type: boolrequired: falsemtu:
description:
- If you leave this field blank, the adapter's default MTU will be used. This is typically 1500 bytes but can vary in some circumstances.type: intrequired: falsemss:
description:
- If you enter a value in this field, then MSS clamping for TCP connections to the value entered above minus 40 (IPv4) or 60 (IPv6) will be in effect (TCP/IP header size).type: intrequired: falsedynamic_gateway:
description:
- If the destination is directly reachable via an interface requiring no intermediary system to act as a gateway, you can select this option which allows dynamic gateways to be created without direct target addresses. Some tunnel types support this.type: boolrequired: false
Hi @kdhlab,
Thank you so much for this contribution! From my point of view, your paradigm seems reasonable, and I am looking forward using your implementation!
I also think the idea of aliasing interface_assignments to interface_configuration while maintaining backward compatibility is the way to go.
Module Description
I have been playing with implementing the "interface_settings" module as defined in the roadmap, and have found that the "interface_assignments" module has most of the backend code to make this module work already implemented and that using the existing module, it should be fairly straightforward to make a single module that can assign, and configure interfaces, rather than duplicating calls.
Minimum Viable Product (MVP)
Examples
Additional Notes (Optional)
The text was updated successfully, but these errors were encountered: