VMware vSphere Automation SDK for REST 6.5 Release Notes

VMware vSphere Automation SDK for REST 6.5 | 15 November 2016 | Build 4571894

Check for additions and updates to these release notes.

This document contains the following sections:

Overview

The VMware vSphere Automation SDKs provide support for your client application infrastructure with services to perform management operations in your vSphere environment. The vSphere Automation SDK for REST also contains samples to demonstrate how to use the new APIs.

The version 6.5 SDK enables programmatic access to the following services:

  • Session management
  • Tagging
  • Content Library
  • Virtual Machines
  • vCenter Server Appliance management

Note:  Single Sign-On authentication is available through the VMware vCenter Single Sign-On API and the vSphere API. Service discovery is available through the Lookup Service API. This feature can be accessed using the SOAP API mechanism shown in the SDK samples.

Distribution Kit

When you extract the contents of the vSphere Automation SDK for REST distribution kit, you see the following files and folders:

VMware-vSphere-Automation-SDK-REST-6.5.0-build-num
    VMware-vSphere-Automation-SDK-REST-6.5.0
        client
        docs
        open_source_license.txt
        SDK-EULA.txt
        vSphere-Automation-SDK-REST-README.html

You can download the vSphere Automation SDK for REST distribution kit from the VMware Developer Center.

What's New

This release of vSphere 6.5 included the following new features:

  • vCloud Suite SDK for REST is now renamed to vSphere Automation SDK for REST.
  • Creating a content library backed by a file storage URI is not supported. When you create a content library and specify a Windows Shared Folder as a storage backing, note that the file URI format is not supported and you should use smb://unc-server/path instead of file://unc-server/path.
  • Creating a subscribed content library with a file subscription URL is not supported. When you create a subscribed library you can use an HTTP or HTTPS subscription URL. The new URI schemes supported for this release are NFS, SMB, and DS. For more information about the supported URI formats, see the API Reference documentation.
  • Virtual Machine Management APIs that enable developers to manage the lifecycle and configure the hardware of a virtual machine.
  • The Tagging API is more powerful, including improved search methods and bulk tagging capability.
  • vCenter Server Appliance Management APIs that enable developers to create client applications to configure, monitor, and manage the vCenter Server Appliance.

Known Issues

The following issues were discovered during testing.

  • Internal Server Error if Tagging Description Field is Empty

    The Tag Category Description field is optional in the vSphere Web Services API, but it is mandatory in the vSphere Automation SDK. Therefore, if the description field is empty, the vSphere Automation SDK can return an internal server error that states, "the ‘description’ field of the Category model is empty".

    Workaround:

    When creating tags, do not leave the description field empty. If you do not have any description, you may add a whitespace character (i.e. space).

  • Unauthenticated exception following long-running operation

    After an API client completes a long-running operation, such as an upload to the content library, the next operation might fail with an "Unauthenticated exception" message. This happens if the long running operation did not complete within the lifetime of the authentication session.

    Workarounds:

    • Keep the session alive by issuing short operations on another thread until the long running operation completes.
    • Increase the session length using the VMware vSphere Web Client. Select Administration > System Configuration > Services > vAPI Endpoint > Manage > General, and increase the value for the Maximum session idle time.
  • Enabling certificate validation

    The samples in the vSphere Automation SDK for REST do not enable certificate validation for service endpoints by default. To enable certificate validation, modify the code that sets request options. Where the flag rejectUnauthorized is set to false in the samples, set the value to true instead.

    If the service endpoint uses an untrusted certificate, you have two ways to use it in the client:

    • Download the certificate authority's root certificate, using a Web browser connected to the service endpoint, and import it into your client machine certificate store.
    • Modify the sample code to specify a certificate file in the request options.

    The following code extract shows the second way:

    function makeAuthRequestOptions(ssoConnectionInfo, requestXml) {
       return {
          host: ssoConnectionInfo.host,
          path: ssoConnectionInfo.path || '/sts/STSService/vsphere.local',
          port: ssoConnectionInfo.port || 443,
          method: 'POST',
          rejectUnauthorized: true, // was: false to ignore server SSL validation. 
          ca: fs.readFileSync('/path/to/downloaded/root.cer'), // VMCA root certificate from PSC
          requestCert: true,
          agent: false,
          headers: {
             'Content-type': 'text/xml; charset="UTF-8"',
             'Content-length': requestXml.length,
             'User-Agent': 'VMware/jsSample',
             'Connection': 'keep-alive',
             'SOAPAction': "http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue"
          }
       }
    }
    

    Note: When you test with certificate validation enabled, use only host names in the service endpoint URL. Certificates will not validate against endpoints constructed with IP addresses.

  • API Explorer does not work with the Internet Explorer browser.

    The API Explorer does not load properly in Internet Explorer 11. The browser displays a blank page.

    Workaround: Use a different browser, such as Firefox, Chrome, or Edge.

  • API Explorer unsupported operations

    The "Try it Out" feature in the API Explorer is not supported for some operations. When you try the following operations in API Explorer, they yield error messages:

    • https://vcip/rest/com/vmware/vcenter/inventory/datastore?~action=find
    • https://vcip/rest/com/vmware/vcenter/inventory/network?~action=find
    • https://vcip/rest/com/vmware/vcenter/ovf/import-flag
    • https://vcip/rest/vcenter/resource-pool/{resource_pool}