On this page
netbox.netbox.netbox_vm_interface – Creates or removes interfaces from virtual machines in Netbox
Note
This plugin is part of the netbox.netbox collection (version 2.0.0).
To install it use: ansible-galaxy collection install netbox.netbox
.
To use it in a playbook, specify: netbox.netbox.netbox_vm_interface
.
New in version 0.1.0: of netbox.netbox
Synopsis
- Creates or removes interfaces from virtual machines in Netbox
Requirements
The below requirements are needed on the host that executes this module.
- pynetbox
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
data
dictionary / required
|
Defines the vm interface configuration
|
||
description
string
|
The description of the interface
|
||
enabled
boolean
|
|
Sets whether interface shows enabled or disabled
|
|
mac_address
string
|
The MAC address of the interface
|
||
mode
raw
|
The mode of the interface
|
||
mtu
integer
|
The MTU of the interface
|
||
name
string / required
|
Name of the interface to be created
|
||
tagged_vlans
raw
|
A list of tagged VLANS to be assigned to interface. Mode must be set to either Tagged or Tagged All
|
||
tags
list / elements=string
|
Any tags that the prefix may need to be associated with
|
||
untagged_vlan
raw
|
The untagged VLAN to be assigned to interface
|
||
virtual_machine
raw
|
Name of the virtual machine the interface will be associated with (case-sensitive)
|
||
netbox_token
string / required
|
The token created within Netbox to authorize API access
|
||
netbox_url
string / required
|
URL of the Netbox instance resolvable by Ansible control host
|
||
query_params
list / elements=string
|
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined
in plugins/module_utils/netbox_utils.py and provides control to users on what may make
an object unique in their environment.
|
||
state
string
|
|
Use present or absent for adding or removing.
|
|
validate_certs
raw
|
Default:
"yes"
|
If no , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
|
Notes
Note
- Tags should be defined as a YAML list
- This should be ran with connection
local
and hostslocalhost
Examples
- name: "Test Netbox interface module"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create interface within Netbox with only required information
netbox_vm_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
virtual_machine: test100
name: GigabitEthernet1
state: present
- name: Delete interface within netbox
netbox_vm_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
virtual_machine: test100
name: GigabitEthernet1
state: absent
- name: Create interface as a trunk port
netbox_vm_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
virtual_machine: test100
name: GigabitEthernet25
enabled: false
untagged_vlan:
name: Wireless
site: Test Site
tagged_vlans:
- name: Data
site: Test Site
- name: VoIP
site: Test Site
mtu: 1600
mode: Tagged
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
interface
dictionary
|
on creation |
Serialized object as created or already existent within Netbox
|
msg
string
|
always |
Message indicating failure or info about what has been achieved
|
Authors
- Benjamin Vergnaud (@bvergnaud)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/netbox/netbox/netbox_vm_interface_module.html