govmomi
A Go library for interacting with VMware vSphere APIs (ESXi and/or vCenter Server).
In addition to the vSphere API client, this repository includes:
Compatibility
This library supports vCenter Server and ESXi versions following the VMware Product Lifecycle Matrix.
Product versions that are end of support may work, but are not officially supported.
Documentation
The APIs exposed by this library closely follow the API described in the VMware vSphere API Reference Documentation. Refer to the documentation 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.
Installation
govmomi (Package)
go get -u github.com/vmware/govmomi
govc
and vcsim
Binaries and Docker Images for Installation instructions, released binaries, and Docker images are documented in the respective README files of govc
and vcsim
.
Discussion
The project encourages the community to collaborate using GitHub issues, GitHub discussions, and Slack.
Note
Access to Slack requires a free VMware {code} developer program membership.
Status
Changes to the API are subject to semantic versioning.
Refer to the CHANGELOG for version to version changes.
Notable Projects Using govmomi
- collectd-vsphere
- Docker LinuxKit
- Elastic Agent VMware vSphere integration
- Gru
- Juju
- Jupiter Brain
- Kubernetes vSphere Cloud Provider
- Kubernetes Cluster API
- OPS
- OpenTelemetry Collector Contrib
- Packer Plugin for VMware vSphere
- Rancher
- Terraform Provider for VMware vSphere
- Telegraf
- VMware Event Broker Appliance
- VMware vSphere Integrated Containers Engine
- VMware vSphere 7.0
Related Projects
License
govmomi is available under the Apache 2 License.
Name
Pronounced: goΒ·βvΒ·βmomΒ·βie
Follows pyvmomi and rbvmomi: language prefix + the vSphere acronym "VM Object Management Infrastructure".