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 4.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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: vmware.vmware_rest.vcenter_vm_hardware_ethernet
.
New in vmware.vmware_rest 0.1.0
Synopsis
Adds a virtual Ethernet adapter to the virtual machine.
Requirements
The below requirements are needed on the host that executes this module.
vSphere 7.0.3 or greater
python >= 3.6
aiohttp
Parameters
Parameter |
Comments |
---|---|
Flag indicating whether the guest can connect and disconnect the device. If unset, the value is unchanged. Choices:
|
|
Physical resource backing for the virtual Ethernet adapter. If unset, the system may try to find an appropriate backing. If one is not found, the request will fail. Required with state=[‘present’] Valid attributes are:
This key is required with [‘present’].
This field is optional and it is only relevant when the value of type is one of STANDARD_PORTGROUP, DISTRIBUTED_PORTGROUP, or OPAQUE_NETWORK. When clients pass a value of this structure as a parameter, the field must be the id of a resource returned by vmware.vmware_rest.vcenter_network_info. ([‘present’])
May be used to specify a port when the network specified on the network field is a static or early binding distributed portgroup. If unset, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type. ([‘present’]) |
|
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. If unset, the value is unchanged. Must be specified if mac_type is MANUAL. Must be unset if the MAC address type is not MANUAL. |
|
The mac_address_type enumerated type defines the valid MAC address origins for a virtual Ethernet adapter. Choices:
|
|
Virtual Ethernet adapter identifier. The parameter must be the id of a resource returned by vmware.vmware_rest.vcenter_vm_hardware_ethernet. 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. If unset, the server will choose an available address when the virtual machine is powered on. |
|
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. If unset, the value is unchanged. Choices:
|
|
Choices:
|
|
The emulation_type enumerated type defines the valid emulation types for a virtual Ethernet adapter. 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. If unset, the value is unchanged. Must be unset if the emulation type of the virtual Ethernet adapter is not VMXNET3. 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 runs 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. The parameter must be the id of a resource returned by vmware.vmware_rest.vcenter_vm_info. 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. If unset, the value is unchanged. Choices:
|
Notes
Note
Tested on vSphere 7.0.3
Examples
- 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: 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: 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') }}"
register: _result
- 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') }}"
register: _result
- 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') }}"
register: _result
- 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') }}"
register: _result
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: |
|
Attach a VM to a dvswitch Returned: On success Sample: |