Whenever you create a vApp network or update its configuration, you might also need to update the NetworkConnectionSection elements of the virtual machines in the vApp.

This operation requires the rights included in the predefined vApp Author role or an equivalent set of rights.

1

Retrieve the virtual machine's NetworkConnectionSection.

2

Modify the returned NetworkConnectionSection as needed.

Request bodies must contain all required elements and attributes, even if you are not changing their values. Because optional elements and attributes typically revert to default values if they are omitted or empty, it is a best practice to include optional elements in request bodies that modify existing objects. Link elements and href attributes from responses do not need to be included in modified sections. Some elements and attributes are read-only and cannot be modified. See the schema reference for details.

3

Update the section with your modifications.

a

In the retrieved section, find the Link element where rel="edit".

b

Make a PUT request to the URL in that link's href attribute value, and supply the modified section as the request body.

The response to this request is a Task element that tracks the update operation. When the task is complete, the section is updated.

This example modifies the NetworkConnectionSection shown in Example: Configuration Links in a Vm Element so that this network connection is compatible with the reconfigured vApp network to which it must connect. See Example: Update a NetworkConfigSection. The modified NetworkConnectionSection in the request changes two values:

The IpAddress now specifies the address to which the vApp network's firewall allows access.

Because it specifies an IP address, the modified NetworkConnectionSection also changes the value of the IpAddressAllocationMode from DHCP to STATIC.

Note

The ovf:Info element is a required member of NetworkConnectionSection and all other sections that are derived from ovf:SectionType. The element must be present, even if it has no content. In this example, we use the content to explain why the connection is configured this way.

Request:

PUT "https://vcloud.example.com/api/vApp/vm-4/networkConnectionSection/
Content-type: application/vnd.vmware.vcloud.networkConnectionSection+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<NetworkConnectionSection 
   type="application/vnd.vmware.vcloud.networkConnectionSection+xml"
   xmlns="http://www.vmware.com/vcloud/v1.5"
   xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
   <ovf:Info>Firewall allows access to this address.</ovf:Info>
   <PrimaryNetworkConnectionIndex>0</PrimaryNetworkConnectionIndex>
   <NetworkConnection
      network="vAppNetwork">
      <NetworkConnectionIndex>0</NetworkConnectionIndex>
      <IpAddress>10.147.115.1</IpAddress>
      <IsConnected>true</IsConnected>
      <MACAddress>00:50:56:01:01:49</MACAddress>
      <IpAddressAllocationMode>STATIC</IpAddressAllocationMode>
   </NetworkConnection>
</NetworkConnectionSection>

Response:

202 Accepted
Content-Type: application/vnd.vmware.vcloud.task+xml
...
<Task ... operation="Updating Virtual Application Linux FTP server (7)" ...>
   ...
</Task>