vmware.vmware_rest.vcenter_vm_hardware_ethernet module – Adds a virtual Ethernet adapter to the virtual machine.
Note
This module is part of the vmware.vmware_rest collection (version 2.2.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 vmware.vmware_rest
.
To use it in a playbook, specify: vmware.vmware_rest.vcenter_vm_hardware_ethernet
.
New in version 0.1.0: of vmware.vmware_rest
Requirements
The below requirements are needed on the host that executes this module.
vSphere 7.0.2 or greater
python >= 3.6
aiohttp
Parameters
Parameter |
Comments |
---|---|
Flag indicating whether the guest can connect and disconnect the device. Choices:
|
|
Physical resource backing for the virtual Ethernet adapter. Required with state=[‘present’] Valid attributes are:
|
|
The name of the item |
|
MAC address. This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on. |
|
The Choices:
|
|
Virtual Ethernet adapter identifier. Required with state=[‘absent’, ‘connect’, ‘disconnect’, ‘present’] |
|
Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added. |
|
Timeout settings for client session. The maximal number of seconds for the whole operation including connection establishment, request sending and response. The default value is 300s. |
|
Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on. Choices:
|
|
Choices:
|
|
The Choices:
|
|
Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on. Choices:
|
|
The hostname or IP address of the vSphere vCenter If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter password If the value is not specified in the task, the value of environment variable |
|
You can use this optional parameter to set the location of a log file. This file will be used to record the HTTP REST interaction. The file will be stored on the host that run the module. If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter username If the value is not specified in the task, the value of environment variable |
|
Allows connection when SSL certificates are not valid. Set to If the value is not specified in the task, the value of environment variable Choices:
|
|
Virtual machine identifier. This parameter is mandatory. |
|
Flag indicating whether wake-on-LAN shoud be enabled on this virtual Ethernet adapter. This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on. Choices:
|
Examples
- name: Look up the VM called test_vm1 in the inventory
register: search_result
vmware.vmware_rest.vcenter_vm_info:
filter_names:
- test_vm1
- name: Collect information about a specific VM
vmware.vmware_rest.vcenter_vm_info:
vm: '{{ search_result.value[0].vm }}'
register: test_vm1_info
- name: Get the dvswitch called my-portgroup
vmware.vmware_rest.vcenter_network_info:
filter_types: DISTRIBUTED_PORTGROUP
filter_names: my-portrgoup
register: my_portgroup
- name: Attach a VM to a dvswitch
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
vm: '{{ test_vm1_info.id }}'
pci_slot_number: 4
backing:
type: DISTRIBUTED_PORTGROUP
network: '{{ my_portgroup.value[0].network }}'
start_connected: false
register: vm_hardware_ethernet_1
- name: Turn the NIC's start_connected flag on
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
nic: '{{ vm_hardware_ethernet_1.id }}'
start_connected: true
vm: '{{ test_vm1_info.id }}'
- name: Attach the VM to a standard portgroup
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
vm: '{{ test_vm1_info.id }}'
pci_slot_number: 4
backing:
type: STANDARD_PORTGROUP
network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network')\
\ }}"
- name: Attach the VM to a standard portgroup (again)
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
vm: '{{ test_vm1_info.id }}'
pci_slot_number: 4
backing:
type: STANDARD_PORTGROUP
network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network')\
\ }}"
- name: Collect a list of the NIC for a given VM
vmware.vmware_rest.vcenter_vm_hardware_ethernet_info:
vm: '{{ test_vm1_info.id }}'
register: vm_nic
- name: Attach the VM to a standard portgroup (again) using the nic ID
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
vm: '{{ test_vm1_info.id }}'
nic: '{{ vm_nic.value[0].nic }}'
backing:
type: STANDARD_PORTGROUP
network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network')\
\ }}"
- name: Attach to another standard portgroup
vmware.vmware_rest.vcenter_vm_hardware_ethernet:
vm: '{{ test_vm1_info.id }}'
nic: '{{ vm_nic.value[0].nic }}'
backing:
type: STANDARD_PORTGROUP
network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/second_vswitch')\
\ }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
moid of the resource Returned: On success Sample: “4000” |
|
Attach a VM to a dvswitch Returned: On success Sample: {“allow_guest_control”: 0, “backing”: {“connection_cookie”: 2094406230, “distributed_port”: “2”, “distributed_switch_uuid”: “50 07 57 eb bf a2 0d 64-4f c5 98 66 47 29 93 35”, “network”: “dvportgroup-1157”, “type”: “DISTRIBUTED_PORTGROUP”}, “label”: “Network adapter 1”, “mac_address”: “00:50:56:87:8f:08”, “mac_type”: “ASSIGNED”, “pci_slot_number”: 4, “start_connected”: 0, “state”: “NOT_CONNECTED”, “type”: “VMXNET3”, “upt_compatibility_enabled”: 0, “wake_on_lan_enabled”: 0} |
Authors
Ansible Cloud Team (@ansible-collections)