- Home
- Documentation
- Networking
- Resources
- xcsh_network_interface (Resource)
xcsh_network_interface (Resource)
Manages a Network Interface resource in F5 Distributed Cloud for network interface represents configuration of a network device. it is created by users in system namespace. configuration.
~> Note: For more information, see the F5 Distributed Cloud API documentation.
Example Usage
Section titled “Example Usage”# NetworkInterface Resource Example# Manages a Network Interface resource in F5 Distributed Cloud for network interface represents configuration of a network device.
terraform { required_version = ">= 1.0"
required_providers { xcsh = { source = "f5-sales-demo/xcsh" version = ">= 0.1.0" } }}
# Basic NetworkInterface configurationresource "xcsh_network_interface" "example" { name = "example-network-interface" namespace = "staging"}Argument Reference
Section titled “Argument Reference”-> Syntax Rule: This provider uses OneOf groups for mutually exclusive options. Fields documented as “Optional Block” use block syntax field_name { ... }. Empty OneOf object attributes use field_name = {}; conditional selection uses condition ? {} : null. Boolean attributes (such as add_hsts and http_redirect) use = true or = false.
🔶 High Risk Operations — Some operations on this resource have high danger level. Destructive operations may require confirmation.
Metadata Argument Reference
Section titled “Metadata Argument Reference”• name - Required String
Name of the Network Interface. Must be unique within the namespace
• namespace - Required String
Namespace where the Network Interface is created
• annotations - Optional Map
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata
• description - Optional String
Human readable description for the object
• disable - Optional Bool
A value of true administratively disables the object
• labels - Optional Map
Labels is a user defined key value map that can be attached to resources for organization and filtering
Spec Argument Reference
Section titled “Spec Argument Reference”-> One of the following:
• dedicated_interface - Optional Block
Configuration parameter for dedicated interface
See Dedicated Interface below for details.
• dedicated_management_interface - Optional Block
Configuration parameter for dedicated management interface
See Dedicated Management Interface below for details.
• ethernet_interface - Optional Block
Configuration parameter for ethernet interface
See Ethernet Interface below for details.
• layer2_interface - Optional Block
Configuration parameter for layer2 interface
See Layer2 Interface below for details.
• tunnel_interface - Optional Block
Configuration parameter for tunnel interface
See Tunnel Interface below for details.
• timeouts - Optional Block
See Timeouts below for details.
Attributes Reference
Section titled “Attributes Reference”In addition to all arguments above, the following attributes are exported:
• id - Optional String
Unique identifier for the resource
Dedicated Interface
Section titled “Dedicated Interface”A dedicated_interface block supports the following:
• cluster - Optional Object
Enable this option
• device - Optional String
Name of the device for which interface is configured. Use wwan0 for 4G/LTE
• is_primary - Optional Object
Enable this option
• monitor - Optional Object
Link Quality Monitoring configuration for a network interface
• monitor_disabled - Optional Object
Enable this option
• mtu - Optional Number
Maximum packet size (Maximum Transfer Unit) of the interface When configured, MTU must be between 512 and 16384
• node - Optional String
Configuration will apply to a device on the given node of the site
• not_primary - Optional Object
Configuration parameter for not primary
• priority - Optional Number
Priority of the network interface when multiple network interfaces are present in outside network Greater the value, higher the priority
Dedicated Interface Cluster
Section titled “Dedicated Interface Cluster”A cluster block (within dedicated_interface) supports the following:
Dedicated Interface Is Primary
Section titled “Dedicated Interface Is Primary”An is_primary block (within dedicated_interface) supports the following:
Dedicated Interface Monitor
Section titled “Dedicated Interface Monitor”A monitor block (within dedicated_interface) supports the following:
Dedicated Interface Monitor Disabled
Section titled “Dedicated Interface Monitor Disabled”A monitor_disabled block (within dedicated_interface) supports the following:
Dedicated Interface Not Primary
Section titled “Dedicated Interface Not Primary”A not_primary block (within dedicated_interface) supports the following:
Dedicated Management Interface
Section titled “Dedicated Management Interface”A dedicated_management_interface block supports the following:
• cluster - Optional Object
Enable this option
• device - Optional String
Name of the device for which interface is configured
• mtu - Optional Number
Maximum packet size (Maximum Transfer Unit) of the interface When configured, MTU must be between 512 and 16384
• node - Optional String
Configuration will apply to a device on the given node of the site
Dedicated Management Interface Cluster
Section titled “Dedicated Management Interface Cluster”A cluster block (within dedicated_management_interface) supports the following:
Ethernet Interface
Section titled “Ethernet Interface”An ethernet_interface block supports the following:
• cluster - Optional Object
Enable this option
• device - Optional String
Interface configuration for the ethernet device
• dhcp_client - Optional Object
Enable this option
• dhcp_server - Optional Block
Configuration parameter for DHCP server
See DHCP Server below.
• ipv6_auto_config - Optional Block
IPV6AutoConfigType
See IPv6 Auto Config below.
• is_primary - Optional Object
Enable this option
• monitor - Optional Object
Link Quality Monitoring configuration for a network interface
• monitor_disabled - Optional Object
Enable this option
• mtu - Optional Number
Maximum packet size (Maximum Transfer Unit) of the interface When configured, MTU must be between 512 and 16384
• no_ipv6_address - Optional Object
Enable this option
• node - Optional String
Configuration will apply to a device on the given node
• not_primary - Optional Object
Configuration parameter for not primary
• priority - Optional Number
Priority of the network interface when multiple network interfaces are present in outside network Greater the value, higher the priority
• site_local_inside_network - Optional Object
Enable this option
• site_local_network - Optional Object
Enable this option
• static_ip - Optional Block
Static IP Parameters. Configure Static IP parameters
See Static IP below.
• static_ipv6_address - Optional Block
Static IP Parameters. Configure Static IP parameters
See Static IPv6 Address below.
• storage_network - Optional Object
Configuration parameter for storage network
• untagged - Optional Object
Enable this option
• vlan_id - Optional Number
Configure a VLAN tagged ethernet interface
Ethernet Interface Cluster
Section titled “Ethernet Interface Cluster”A cluster block (within ethernet_interface) supports the following:
Ethernet Interface DHCP Client
Section titled “Ethernet Interface DHCP Client”A dhcp_client block (within ethernet_interface) supports the following:
Ethernet Interface DHCP Server
Section titled “Ethernet Interface DHCP Server”A dhcp_server block (within ethernet_interface) supports the following:
• automatic_from_end - Optional Object
Configuration parameter for automatic from end
• automatic_from_start - Optional Object
Configuration parameter for automatic from start
• dhcp_networks - Optional Block
List of networks from which DHCP Server can allocate IPv4 Addresses
See DHCP Networks below.
• dhcp_option82_tag - Optional String
DHCP option 82 tag
• fixed_ip_map - Optional Map
Assign fixed IPv4 addresses based on the MAC Address of the DHCP Client
• interface_ip_map - Optional Block
Interface IPv4 Assignments. Specify static IPv4 addresses per node
See Interface IP Map below.
Ethernet Interface DHCP Server Automatic From End
Section titled “Ethernet Interface DHCP Server Automatic From End”An automatic_from_end block (within ethernet_interface.dhcp_server) supports the following:
Ethernet Interface DHCP Server Automatic From Start
Section titled “Ethernet Interface DHCP Server Automatic From Start”An automatic_from_start block (within ethernet_interface.dhcp_server) supports the following:
Ethernet Interface DHCP Server DHCP Networks
Section titled “Ethernet Interface DHCP Server DHCP Networks”A dhcp_networks block (within ethernet_interface.dhcp_server) supports the following:
• dgw_address - Optional String
Enter a IPv4 address from the network prefix to be used as the default gateway
• dns_address - Optional String
Enter a IPv4 address from the network prefix to be used as the DNS server
• first_address - Optional Object
Enable this option
• last_address - Optional Object
Enable this option
• network_prefix - Optional String
Set the network prefix for the site. Ex: 192.0.2.0/24
• pool_settings - Optional String Defaults to INCLUDE_IP_ADDRESSES_FROM_DHCP_POOLS
Possible values are INCLUDE_IP_ADDRESSES_FROM_DHCP_POOLS, EXCLUDE_IP_ADDRESSES_FROM_DHCP_POOLS
[Enum: INCLUDE_IP_ADDRESSES_FROM_DHCP_POOLS|EXCLUDE_IP_ADDRESSES_FROM_DHCP_POOLS] Identifies the how to pick the network for Interface. Address ranges
in DHCP pool list are used for IP Address allocation Address ranges in DHCP pool list are excluded from IP Address allocation
• pools - Optional Block
List of non overlapping IP address ranges
See Pools below.
• same_as_dgw - Optional Object
Configuration parameter for same as dgw
Ethernet Interface DHCP Server DHCP Networks First Address
Section titled “Ethernet Interface DHCP Server DHCP Networks First Address”Deeply nested Address block collapsed for readability.
Ethernet Interface DHCP Server DHCP Networks Last Address
Section titled “Ethernet Interface DHCP Server DHCP Networks Last Address”Deeply nested Address block collapsed for readability.
Ethernet Interface DHCP Server DHCP Networks Pools
Section titled “Ethernet Interface DHCP Server DHCP Networks Pools”A pools block (within ethernet_interface.dhcp_server.dhcp_networks) supports the following:
• end_ip - Optional String
Ending IP of the pool range. In case of address allocator, offset is derived based on network prefix. 192.0.2.39 with prefix length of 24, end offset is 192.0.2.186
• exclude - Optional Bool
Exclude this address range from DHCP allocation
• start_ip - Optional String
Starting IP of the pool range. In case of address allocator, offset is derived based on network prefix. 192.0.2.173 with prefix length of 24, start offset is 192.0.2.96
Ethernet Interface DHCP Server DHCP Networks Same As Dgw
Section titled “Ethernet Interface DHCP Server DHCP Networks Same As Dgw”Deeply nested Dgw block collapsed for readability.
Ethernet Interface DHCP Server Interface IP Map
Section titled “Ethernet Interface DHCP Server Interface IP Map”An interface_ip_map block (within ethernet_interface.dhcp_server) supports the following:
• interface_ip_map - Optional Map
Specify static IPv4 addresses per site:node
Ethernet Interface IPv6 Auto Config
Section titled “Ethernet Interface IPv6 Auto Config”An ipv6_auto_config block (within ethernet_interface) supports the following:
• host - Optional Object
Hostname or IP address of the target server
• router - Optional Block
IPV6AutoConfigRouterType
See Router below.
Ethernet Interface IPv6 Auto Config Host
Section titled “Ethernet Interface IPv6 Auto Config Host”A host block (within ethernet_interface.ipv6_auto_config) supports the following:
Ethernet Interface IPv6 Auto Config Router
Section titled “Ethernet Interface IPv6 Auto Config Router”A router block (within ethernet_interface.ipv6_auto_config) supports the following:
• dns_config - Optional Block
IPV6DnsConfig
See DNS Config below.
• network_prefix - Optional String
Network prefix that is used as Prefix information Allowed only /64 prefix length as per RFC 4862
• stateful - Optional Block
DHCPIPV6 Stateful Server
See Stateful below.
Ethernet Interface IPv6 Auto Config Router DNS Config
Section titled “Ethernet Interface IPv6 Auto Config Router DNS Config”Deeply nested Config block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router DNS Config Configured List
Section titled “Ethernet Interface IPv6 Auto Config Router DNS Config Configured List”Deeply nested List block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS
Section titled “Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS”Deeply nested DNS block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS First Address
Section titled “Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS First Address”Deeply nested Address block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS Last Address
Section titled “Ethernet Interface IPv6 Auto Config Router DNS Config Local DNS Last Address”Deeply nested Address block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router Stateful
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful”A stateful block (within ethernet_interface.ipv6_auto_config.router) supports the following:
• automatic_from_end - Optional Object
Configuration parameter for automatic from end
• automatic_from_start - Optional Object
Configuration parameter for automatic from start
• dhcp_networks - Optional Block
List of networks from which DHCP server can allocate IP addresses
See DHCP Networks below.
• fixed_ip_map - Optional Map
Fixed MAC address to IPv6 assignments, Key: MAC address, Value: IPv6 Address Assign fixed IPv6 addresses based on the MAC Address of the DHCP Client
• interface_ip_map - Optional Block
Map of Interface IPv6 assignments per node
See Interface IP Map below.
Ethernet Interface IPv6 Auto Config Router Stateful Automatic From End
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful Automatic From End”Deeply nested End block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router Stateful Automatic From Start
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful Automatic From Start”Deeply nested Start block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router Stateful DHCP Networks
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful DHCP Networks”Deeply nested Networks block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router Stateful DHCP Networks Pools
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful DHCP Networks Pools”Deeply nested Pools block collapsed for readability.
Ethernet Interface IPv6 Auto Config Router Stateful Interface IP Map
Section titled “Ethernet Interface IPv6 Auto Config Router Stateful Interface IP Map”Deeply nested Map block collapsed for readability.
Ethernet Interface Is Primary
Section titled “Ethernet Interface Is Primary”An is_primary block (within ethernet_interface) supports the following:
Ethernet Interface Monitor
Section titled “Ethernet Interface Monitor”A monitor block (within ethernet_interface) supports the following:
Ethernet Interface Monitor Disabled
Section titled “Ethernet Interface Monitor Disabled”A monitor_disabled block (within ethernet_interface) supports the following:
Ethernet Interface No IPv6 Address
Section titled “Ethernet Interface No IPv6 Address”A no_ipv6_address block (within ethernet_interface) supports the following:
Ethernet Interface Not Primary
Section titled “Ethernet Interface Not Primary”A not_primary block (within ethernet_interface) supports the following:
Ethernet Interface Site Local Inside Network
Section titled “Ethernet Interface Site Local Inside Network”A site_local_inside_network block (within ethernet_interface) supports the following:
Ethernet Interface Site Local Network
Section titled “Ethernet Interface Site Local Network”A site_local_network block (within ethernet_interface) supports the following:
Ethernet Interface Static IP
Section titled “Ethernet Interface Static IP”A static_ip block (within ethernet_interface) supports the following:
• cluster_static_ip - Optional Block
Configure Static IP parameters for cluster
See Cluster Static IP below.
• node_static_ip - Optional Block
Configure Static IP parameters for a node
See Node Static IP below.
Ethernet Interface Static IP Cluster Static IP
Section titled “Ethernet Interface Static IP Cluster Static IP”A cluster_static_ip block (within ethernet_interface.static_ip) supports the following:
• interface_ip_map - Optional Map
Map of Node to Static IP configuration value, Key:Node, Value:IP Address
Ethernet Interface Static IP Node Static IP
Section titled “Ethernet Interface Static IP Node Static IP”A node_static_ip block (within ethernet_interface.static_ip) supports the following:
• default_gw - Optional String
Default Gateway. IP address of the default gateway
• dns_server - Optional String
DNS server address for the static interface configuration
• ip_address - Optional String
IP address of the interface and prefix length
Ethernet Interface Static IPv6 Address
Section titled “Ethernet Interface Static IPv6 Address”A static_ipv6_address block (within ethernet_interface) supports the following:
• cluster_static_ip - Optional Block
Configure Static IP parameters for cluster
See Cluster Static IP below.
• node_static_ip - Optional Block
Configure Static IP parameters for a node
See Node Static IP below.
Ethernet Interface Static IPv6 Address Cluster Static IP
Section titled “Ethernet Interface Static IPv6 Address Cluster Static IP”Deeply nested IP block collapsed for readability.
Ethernet Interface Static IPv6 Address Node Static IP
Section titled “Ethernet Interface Static IPv6 Address Node Static IP”Deeply nested IP block collapsed for readability.
Ethernet Interface Storage Network
Section titled “Ethernet Interface Storage Network”A storage_network block (within ethernet_interface) supports the following:
Ethernet Interface Untagged
Section titled “Ethernet Interface Untagged”An untagged block (within ethernet_interface) supports the following:
Layer2 Interface
Section titled “Layer2 Interface”A layer2_interface block supports the following:
• l2sriov_interface - Optional Block
Configuration parameter for l2sriov interface
See L2sriov Interface below.
• l2vlan_interface - Optional Block
Configuration parameter for l2vlan interface
See L2vlan Interface below.
• l2vlan_slo_interface - Optional Block
Layer2 Site Local Outside VLAN Interface Configuration
See L2vlan Slo Interface below.
Layer2 Interface L2sriov Interface
Section titled “Layer2 Interface L2sriov Interface”A l2sriov_interface block (within layer2_interface) supports the following:
• device - Optional String
Ethernet Device. Physical ethernet interface
• untagged - Optional Object
Enable this option
• vlan_id - Optional Number
Configure a VLAN tagged interface
Layer2 Interface L2sriov Interface Untagged
Section titled “Layer2 Interface L2sriov Interface Untagged”An untagged block (within layer2_interface.l2sriov_interface) supports the following:
Layer2 Interface L2vlan Interface
Section titled “Layer2 Interface L2vlan Interface”A l2vlan_interface block (within layer2_interface) supports the following:
• device - Optional String
Ethernet Device. Physical ethernet interface
• vlan_id - Optional Number
VLAN ID. VLAN ID
Layer2 Interface L2vlan Slo Interface
Section titled “Layer2 Interface L2vlan Slo Interface”A l2vlan_slo_interface block (within layer2_interface) supports the following:
• vlan_id - Optional Number
VLAN ID. VLAN ID
Timeouts
Section titled “Timeouts”A timeouts block supports the following:
• create - Optional String (Defaults to 10 minutes)
Used when creating the resource
• delete - Optional String (Defaults to 10 minutes)
Used when deleting the resource
• read - Optional String (Defaults to 5 minutes)
Used when retrieving the resource
• update - Optional String (Defaults to 10 minutes)
Used when updating the resource
Tunnel Interface
Section titled “Tunnel Interface”A tunnel_interface block supports the following:
• mtu - Optional Number
Maximum packet size (Maximum Transfer Unit) of the interface When configured, MTU must be between 512 and 16384
• node - Optional String
Configuration will apply to a given device on the given node
• priority - Optional Number
Priority of the network interface when multiple network interfaces are present in outside network Greater the value, higher the priority
• site_local_inside_network - Optional Object
Enable this option
• site_local_network - Optional Object
Enable this option
• static_ip - Optional Block
Static IP Parameters. Configure Static IP parameters
See Static IP below.
• tunnel - Optional Block
Type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name
See Tunnel below.
Tunnel Interface Site Local Inside Network
Section titled “Tunnel Interface Site Local Inside Network”A site_local_inside_network block (within tunnel_interface) supports the following:
Tunnel Interface Site Local Network
Section titled “Tunnel Interface Site Local Network”A site_local_network block (within tunnel_interface) supports the following:
Tunnel Interface Static IP
Section titled “Tunnel Interface Static IP”A static_ip block (within tunnel_interface) supports the following:
• cluster_static_ip - Optional Block
Configure Static IP parameters for cluster
See Cluster Static IP below.
• node_static_ip - Optional Block
Configure Static IP parameters for a node
See Node Static IP below.
Tunnel Interface Static IP Cluster Static IP
Section titled “Tunnel Interface Static IP Cluster Static IP”A cluster_static_ip block (within tunnel_interface.static_ip) supports the following:
• interface_ip_map - Optional Map
Map of Node to Static IP configuration value, Key:Node, Value:IP Address
Tunnel Interface Static IP Node Static IP
Section titled “Tunnel Interface Static IP Node Static IP”A node_static_ip block (within tunnel_interface.static_ip) supports the following:
• default_gw - Optional String
Default Gateway. IP address of the default gateway
• dns_server - Optional String
DNS server address for the static interface configuration
• ip_address - Optional String
IP address of the interface and prefix length
Tunnel Interface Tunnel
Section titled “Tunnel Interface Tunnel”A tunnel block (within tunnel_interface) supports the following:
• name - Optional String
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name
• namespace - Optional String
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace
• tenant - Optional String
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant
Common Types
Section titled “Common Types”The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
Object Reference {#common-object-reference}
Section titled “Object Reference {#common-object-reference}”Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format tenant/namespace/name.
| Field | Type | Description |
|---|---|---|
name | String | Name of the referenced object |
namespace | String | Namespace containing the referenced object |
tenant | String | Tenant of the referenced object (system-managed) |
Transformers {#common-transformers}
Section titled “Transformers {#common-transformers}”Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
| Value | Description |
|---|---|
LOWER_CASE | Convert to lowercase |
UPPER_CASE | Convert to uppercase |
BASE64_DECODE | Decodebase64 content |
NORMALIZE_PATH | Normalize URL path |
REMOVE_WHITESPACE | Remove whitespace characters |
URL_DECODE | Decode URL-encoded characters |
TRIM_LEFT | Trim leading whitespace |
TRIM_RIGHT | Trim trailing whitespace |
TRIM | Trim both leading and trailing whitespace |
HTTP Methods {#common-http-methods}
Section titled “HTTP Methods {#common-http-methods}”HTTP methods used for request matching.
| Value | Description |
|---|---|
ANY | Match any HTTP method |
GET | HTTP GET request |
HEAD | HTTP HEAD request |
POST | HTTP POST request |
PUT | HTTP PUT request |
DELETE | HTTP DELETE request |
CONNECT | HTTP CONNECT request |
OPTIONS | HTTP OPTIONS request |
TRACE | HTTP TRACE request |
PATCH | HTTP PATCH request |
COPY | HTTP COPY request (WebDAV) |
TLS Fingerprints {#common-tls-fingerprints}
Section titled “TLS Fingerprints {#common-tls-fingerprints}”TLS fingerprint categories for malicious client detection.
| Value | Description |
|---|---|
TLS_FINGERPRINT_NONE | No fingerprint matching |
ANY_MALICIOUS_FINGERPRINT | Match any known malicious fingerprint |
ADWARE | Adware-associated fingerprints |
DRIDEX | Dridex malware fingerprints |
GOOTKIT | Gootkit malware fingerprints |
RANSOMWARE | Ransomware-associated fingerprints |
TRICKBOT | Trickbot malware fingerprints |
IP Threat Categories {#common-ip-threat-categories}
Section titled “IP Threat Categories {#common-ip-threat-categories}”IP address threat categories for security filtering.
| Value | Description |
|---|---|
SPAM_SOURCES | Known spam sources |
WINDOWS_EXPLOITS | Windows exploit sources |
WEB_ATTACKS | Web attack sources |
BOTNETS | Known botnet IPs |
SCANNERS | Network scanner IPs |
REPUTATION | Poor reputation IPs |
PHISHING | Phishing-related IPs |
PROXY | Anonymous proxy IPs |
MOBILE_THREATS | Mobile threat sources |
TOR_PROXY | Tor exit nodes |
DENIAL_OF_SERVICE | DoS attack sources |
NETWORK | Known bad network ranges |
Import
Section titled “Import”Import is supported using the following syntax:
# Import using namespace/name formatterraform import xcsh_network_interface.example system/example