netbox.netbox.netbox_virtual_machine module – Create, update or delete virtual_machines within NetBox
Note
This module is part of the netbox.netbox collection (version 3.20.0).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: netbox.netbox.netbox_virtual_machine
.
New in netbox.netbox 0.1.0
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 |
Comments |
---|---|
Certificate path |
|
Defines the virtual machine configuration |
|
The name of the cluster attach to the virtual machine |
|
Comments of the virtual machine |
|
Configuration template |
|
Must exist in NetBox |
|
The description of the virtual machine |
|
The device the virtual machine is pinned to in the cluster |
|
Disk of the virtual machine (GB) |
|
configuration context of the virtual machine |
|
Memory of the virtual machine (MB) |
|
The name of the virtual machine |
|
The platform of the virtual machine |
|
Primary IPv4 address assigned to the virtual machine |
|
Primary IPv6 address assigned to the virtual machine |
|
Serial number of the virtual machine |
|
The name of the site attach to the virtual machine |
|
The status of the virtual machine |
|
Any tags that the virtual machine may need to be associated with |
|
The tenant that the virtual machine will be assigned to |
|
Number of vcpus of the virtual machine |
|
The role of the virtual machine |
|
The NetBox API token. |
|
The URL of the NetBox instance. Must be accessible by the Ansible control host. |
|
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are defined in plugins/module_utils/netbox_utils.py and provides control to users on what may make an object unique in their environment. |
|
If This should only be used on personally controlled sites using a self-signed certificates. :ansible-option-default-bold:`Default:` :ansible-option-default:`true` |
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
- name: Update virtual machine within NetBox with serial number
netbox_virtual_machine:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Virtual Machine
cluster: test cluster
serial: 1234abc
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Message indicating failure or info about what has been achieved |
|
Serialized object as created or already existent within NetBox :ansible-option-returned-bold:`Returned:` success (when state=present) |