/govmomi

Go library for the VMware vSphere API

Primary LanguageGoApache License 2.0Apache-2.0

Build Status Go Report Card

govmomi

A Go library for interacting with VMware vSphere APIs (ESXi and/or vCenter).

For govc, a CLI built on top of govmomi, check out the govc directory and USAGE document.

Compatibility

This library is built for and tested against ESXi and vCenter 5.5, 6.0 and 6.5.

If you're able to use it against older versions of ESXi and/or vCenter, please leave a note and we'll include it in this compatibility list.

Documentation

The APIs exposed by this library very closely follow the API described in the VMware vSphere API Reference Documentation. Refer to this document to become familiar with the upstream API.

The code in the govmomi package is a wrapper for the code that is generated from the vSphere API description. It primarily provides convenience functions for working with the vSphere API. See godoc.org for documentation.

Building with CI

Merges to this repository will trigger builds in both Travis and Drone.

To build locally with Drone:

  • Ensure that you have Docker 1.6 or higher installed.
  • Install the Drone command line tools.
  • Run drone exec from within the root directory of the govmomi repository.

Discussion

Contributors and users are encouraged to collaborate using GitHub issues and/or Slack. Access to Slack requires a VMware {code} membership.

Status

Changes to the API are subject to semantic versioning.

Refer to the CHANGELOG for version to version changes.

Projects using govmomi

Related projects

License

govmomi is available under the Apache 2 license.