On this page
netbox.netbox.netbox_virtual_machine – Create, update or delete virtual_machines within Netbox
Note
This plugin is part of the netbox.netbox collection (version 3.3.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install netbox.netbox
.
To use it in a playbook, specify: netbox.netbox.netbox_virtual_machine
.
New in version 0.1.0: of netbox.netbox
Synopsis
- Creates, updates or removes virtual_machines from Netbox
Requirements
The below requirements are needed on the host that executes this module.
- pynetbox
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
cert
raw
|
Certificate path
|
||
data
dictionary / required
|
Defines the virtual machine configuration
|
||
cluster
raw
|
The name of the cluster attach to the virtual machine
|
||
comments
string
|
Comments of the virtual machine
|
||
custom_fields
dictionary
|
Must exist in Netbox
|
||
disk
integer
|
Disk of the virtual machine (GB)
|
||
local_context_data
dictionary
|
configuration context of the virtual machine
|
||
memory
integer
|
Memory of the virtual machine (MB)
|
||
name
string / required
|
The name of the virtual machine
|
||
platform
raw
|
The platform of the virtual machine
|
||
primary_ip4
raw
|
Primary IPv4 address assigned to the virtual machine
|
||
primary_ip6
raw
|
Primary IPv6 address assigned to the virtual machine
|
||
site
raw
|
The name of the site attach to the virtual machine
|
||
status
raw
|
The status of the virtual machine
|
||
tags
list / elements=raw
|
Any tags that the virtual machine may need to be associated with
|
||
tenant
raw
|
The tenant that the virtual machine will be assigned to
|
||
vcpus
float
|
Number of vcpus of the virtual machine
|
||
virtual_machine_role
raw
|
The role of the virtual machine
|
||
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 modules"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create virtual machine within Netbox with only required information
netbox_virtual_machine:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Virtual Machine
cluster: test cluster
state: present
- name: Delete virtual machine within netbox
netbox_virtual_machine:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Virtual Machine
state: absent
- name: Create virtual machine with tags
netbox_virtual_machine:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Another Test Virtual Machine
cluster: test cluster
site: Test Site
tags:
- Schnozzberry
state: present
- name: Update vcpus, memory and disk of an existing virtual machine
netbox_virtual_machine:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Virtual Machine
cluster: test cluster
vcpus: 8
memory: 8
disk: 8
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
msg
string
|
always |
Message indicating failure or info about what has been achieved
|
virtual machine
dictionary
|
success (when state=present) |
Serialized object as created or already existent within Netbox
|
Authors
- Gaelle MANGIN (@gmangin)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/netbox/netbox/netbox_virtual_machine_module.html