bigip_vlan – Manage VLANs on a BIG-IP system¶
New in version 2.2.
Requirements¶
The below requirements are needed on the host that executes this module.
- f5-sdk >= 3.0.16
Parameters¶
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
cmp_hash
-
added in 2.5 |
|
Specifies how the traffic on the VLAN will be disaggregated. The value selected determines the traffic disaggregation method. You can choose to disaggregate traffic based on
source-address (the source IP address), destination-address (destination IP address), or default , which specifies that the default CMP hash uses L4 ports.When creating a new VLAN, if this parameter is not specified, the default of
default is used. |
|
dag_round_robin
boolean
added in 2.5 |
|
Specifies whether some of the stateless traffic on the VLAN should be disaggregated in a round-robin order instead of using a static hash. The stateless traffic includes non-IP L2 traffic, ICMP, some UDP protocols, and so on.
When creating a new VLAN, if this parameter is not specified, the default of (no) is used.
|
|
dag_tunnel
-
added in 2.5 |
|
Specifies how the disaggregator (DAG) distributes received tunnel-encapsulated packets to TMM instances. Select
inner to distribute packets based on information in inner headers. Select outer to distribute packets based on information in outer headers without inspecting inner headers.When creating a new VLAN, if this parameter is not specified, the default of
outer is used.This parameter is not supported on Virtual Editions of BIG-IP.
|
|
description
-
|
The description to give to the VLAN.
|
||
mtu
-
added in 2.5 |
Specifies the maximum transmission unit (MTU) for traffic on this VLAN. When creating a new VLAN, if this parameter is not specified, the default value used will be
1500 .This number must be between 576 to 9198.
|
||
name
-
/ required
|
The VLAN to manage. If the special VLAN
ALL is specified with the state value of absent then all VLANs will be removed. |
||
partition
-
added in 2.5 |
Default: "Common"
|
Device partition to manage resources on.
|
|
password
-
/ required
|
The password for the user account used to connect to the BIG-IP.
You may omit this option by setting the environment variable
F5_PASSWORD .aliases: pass, pwd |
||
provider
-
added in 2.5 |
Default: null
|
A dict object containing connection details.
|
|
password
-
/ required
|
The password for the user account used to connect to the BIG-IP.
You may omit this option by setting the environment variable
F5_PASSWORD .aliases: pass, pwd |
||
server
-
/ required
|
The BIG-IP host.
You may omit this option by setting the environment variable
F5_SERVER . |
||
server_port
-
|
Default: 443
|
The BIG-IP server port.
You may omit this option by setting the environment variable
F5_SERVER_PORT . |
|
ssh_keyfile
-
|
Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports.
You may omit this option by setting the environment variable
ANSIBLE_NET_SSH_KEYFILE . |
||
timeout
-
|
Default: 10
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
|
transport
-
/ required
|
|
Configures the transport connection to use when connecting to the remote device.
|
|
user
-
/ required
|
The username to connect to the BIG-IP with. This user must have administrative privileges on the device.
You may omit this option by setting the environment variable
F5_USER . |
||
validate_certs
boolean
|
|
If
no , SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.You may omit this option by setting the environment variable
F5_VALIDATE_CERTS . |
|
server
-
/ required
|
The BIG-IP host.
You may omit this option by setting the environment variable
F5_SERVER . |
||
server_port
-
added in 2.2 |
Default: 443
|
The BIG-IP server port.
You may omit this option by setting the environment variable
F5_SERVER_PORT . |
|
state
-
|
|
The state of the VLAN on the system. When
present , guarantees that the VLAN exists with the provided attributes. When absent , removes the VLAN from the system. |
|
tag
-
|
Tag number for the VLAN. The tag number can be any integer between 1 and 4094. The system automatically assigns a tag number if you do not specify a value.
|
||
tagged_interfaces
-
|
Specifies a list of tagged interfaces and trunks that you want to configure for the VLAN. Use tagged interfaces or trunks when you want to assign a single interface or trunk to multiple VLANs.
aliases: tagged_interface |
||
untagged_interfaces
-
|
Specifies a list of untagged interfaces and trunks that you want to configure for the VLAN.
aliases: untagged_interface |
||
user
-
/ required
|
The username to connect to the BIG-IP with. This user must have administrative privileges on the device.
You may omit this option by setting the environment variable
F5_USER . |
||
validate_certs
boolean
added in 2.0 |
|
If
no , SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.You may omit this option by setting the environment variable
F5_VALIDATE_CERTS . |
Notes¶
Note
- Requires BIG-IP versions >= 12.0.0
- For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
- Requires the f5-sdk Python package on the host. This is as easy as
pip install f5-sdk
. - Requires BIG-IP software version >= 12.
- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.
Examples¶
- name: Create VLAN
bigip_vlan:
name: "net1"
password: "secret"
server: "lb.mydomain.com"
user: "admin"
validate_certs: "no"
delegate_to: localhost
- name: Set VLAN tag
bigip_vlan:
name: "net1"
password: "secret"
server: "lb.mydomain.com"
tag: "2345"
user: "admin"
validate_certs: "no"
delegate_to: localhost
- name: Add VLAN 2345 as tagged to interface 1.1
bigip_vlan:
tagged_interface: 1.1
name: "net1"
password: "secret"
server: "lb.mydomain.com"
tag: "2345"
user: "admin"
validate_certs: "no"
delegate_to: localhost
- name: Add VLAN 1234 as tagged to interfaces 1.1 and 1.2
bigip_vlan:
tagged_interfaces:
- 1.1
- 1.2
name: "net1"
password: "secret"
server: "lb.mydomain.com"
tag: "1234"
user: "admin"
validate_certs: "no"
delegate_to: localhost
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
cmp_hash
string
|
changed |
New traffic disaggregation method.
Sample:
source-address
|
dag_tunnel
string
|
changed |
The new DAG tunnel setting.
Sample:
outer
|
description
string
|
changed |
The description set on the VLAN.
Sample:
foo VLAN
|
interfaces
list
|
changed |
Interfaces that the VLAN is assigned to.
Sample:
['1.1', '1.2']
|
partition
string
|
changed |
The partition that the VLAN was created on.
Sample:
Common
|
tag
integer
|
changed |
The ID of the VLAN.
Sample:
2345
|
Status¶
- This module is guaranteed to have no backward incompatible interface changes going forward. [stableinterface]
- This module is maintained by an Ansible Partner. [certified]
Authors¶
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
Hint
If you notice any issues in this documentation you can edit this document to improve it.