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