1. Operations
2. vcenter
3. vm
4. hardware
5. ethernet

## vcenter vm hardware ethernet: update

Updates the configuration of a virtual Ethernet adapter.

### Request:

#### HTTP request

PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}

#### Path Parameters

Name | Type | Description
--- | --- | ---
Required
vm | string | Virtual machine identifier.
nic | string | Virtual Ethernet adapter identifier.

#### Request Body Structure:

- JSON
- XML

{
"spec": {
"allow_guest_control": true,
"backing": {
"distributed_port": "string",
"network": "obj-103",
"type": "STANDARD_PORTGROUP"
},
"mac_address": "string",
"mac_type": "MANUAL",
"start_connected": true,
"upt_compatibility_enabled": true,
"wake_on_lan_enabled": true
}
}
<?xml version="1.0" ?>
<ns0:Update-Input xmlns:ns0="http://vmware.com/vcenter/vm/hardware/ethernet" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<spec>
<mac_address>string</mac_address>
<upt_compatibility_enabled>true</upt_compatibility_enabled>
<mac_type>MANUAL</mac_type>
<allow_guest_control>true</allow_guest_control>
<backing>
<distributed_port>string</distributed_port>
<type>STANDARD_PORTGROUP</type>
<network>obj-103</network>
</backing>
<wake_on_lan_enabled>true</wake_on_lan_enabled>
<start_connected>true</start_connected>
</spec>
</ns0:Update-Input>

#### Request Body Parameters:

Name | Type | Description
--- | --- | ---
bold = required
spec | update_spec | Specification for updating the virtual Ethernet adapter.
spec.upt_compatibility_enabled | boolean | 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. Optional. If unset, the value is unchanged. Must be unset if the emulation type of the virtual Ethernet adapter is not VMXNE_t3.
spec.mac_type | string | MAC address type. This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on. Optional. If unset, the value is unchanged.
spec.mac_address | string | MAC address. This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on. Optional. If unset, the value is unchanged. Must be specified if vcenter.vm.hardware.ethernet.update_spec.mac_type is MANUAL. Must be unset if the MAC address type is not MANUAL.
spec.wake_on_lan_enabled | boolean | 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. Optional. If unset, the value is unchanged.
spec.backing | backing_spec | Physical resource backing for the 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. Optional. If unset, the value is unchanged.
spec.backing.type | string | Backing type for the virtual Ethernet adapter. Defines the valid backing types for a virtual Ethernet adapter. Value is one of: STANDARD_PORTGROUP: vSphere standard portgroup network backing. HOST_DEVICE: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter. DISTRIBUTED_PORTGROUP: Distributed virtual switch backing. OPAQUE_NETWORK: Opaque network backing.
spec.backing.network | string | Identifier of the network that backs the virtual Ethernet adapter. Optional. It is only relevant when type has value [STANDARD_PORTGROUP, DISTRIBUTED_PORTGROUP, OPAQUE_NETWORK]. 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 an identifier for the resource type: `Network`. When operations return a value of this structure as a result, the field will be an identifier for the resource type: `Network`.
spec.backing.distributed_port | string | Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this field. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This field cannot be specified as no free ports exist before use. Optional. It is only relevant when type has value DISTRIBUTED_PORTGROUP. 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.
spec.start_connected | boolean | Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on. Optional. If unset, the value is unchanged.
spec.allow_guest_control | boolean | Flag indicating whether the guest can connect and disconnect the device. Optional. If unset, the value is unchanged.

### Response:

#### HTTP Status Code: 200

None

#### Errors:

HTTP Status Code | Type | Description
--- | --- | ---
500 | error | if the system reports an error while responding to the request.
400 | invalid_argument | if HOST_DEVICE is specified as the type.
404 | not_found | if the virtual machine, virtual Ethernet adapter, or backing network is not found.
400 | resource_busy | if the virtual machine is busy performing another operation.
400 | resource_inaccessible | if the virtual machine's configuration state cannot be accessed.
503 | service_unavailable | if the system is unable to communicate with a service to complete the request.
401 | unauthenticated | if the user can not be authenticated.
403 | unauthorized | if the user doesn't have the required privileges.