github.com/vmware/govmomi@v0.37.2/README.md (about)

     1  <!-- markdownlint-disable first-line-h1 no-inline-html -->
     2  
     3  [![Build](https://github.com/vmware/govmomi/actions/workflows/govmomi-build.yaml/badge.svg)][ci-build]
     4  [![Tests](https://github.com/vmware/govmomi/actions/workflows/govmomi-go-tests.yaml/badge.svg)][ci-tests]
     5  [![Go Report Card](https://goreportcard.com/badge/github.com/vmware/govmomi)][go-report-card]
     6  [![Latest Release](https://img.shields.io/github/release/vmware/govmomi.svg?logo=github&style=flat-square)][latest-release]
     7  [![Go Reference](https://pkg.go.dev/badge/github.com/vmware/govmomi.svg)][go-reference]
     8  [![go.mod Go version](https://img.shields.io/github/go-mod/go-version/vmware/govmomi)][go-version]
     9  
    10  # govmomi
    11  
    12  A Go library for interacting with VMware vSphere APIs (ESXi and/or vCenter Server).
    13  
    14  In addition to the vSphere API client, this repository includes:
    15  
    16  * [govc][govc] - vSphere CLI
    17  * [vcsim][vcsim] - vSphere API mock framework
    18  * [toolbox][toolbox] - VM guest tools framework
    19  
    20  ## Compatibility
    21  
    22  This library supports vCenter Server and ESXi versions following the [VMware Product Lifecycle Matrix][reference-lifecycle].
    23  
    24  Product versions that are end of support may work, but are not officially supported.
    25  
    26  ## Documentation
    27  
    28  The APIs exposed by this library closely follow the API described in the [VMware vSphere API Reference Documentation][reference-api]. Refer to the documentation to become familiar with the upstream API.
    29  
    30  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][reference-godoc] for documentation.
    31  
    32  ## Installation
    33  
    34  ### Binaries and Docker Images for `govc` and `vcsim`
    35  
    36  Installation instructions, released binaries, and Docker images are documented in the respective README files of [`govc`][govc] and [`vcsim`][vcsim].
    37  
    38  ## Discussion
    39  
    40  The project encourages the community to collaborate using GitHub [issues][govmomi-github-issues], GitHub [discussions][govmomi-github-discussions], and [Slack][slack-channel].
    41  
    42  > **Note**
    43  > Access to Slack requires a free [VMware {code}][slack-join] developer program membership.
    44  
    45  ## Status
    46  
    47  Changes to the API are subject to [semantic versioning][reference-semver].
    48  
    49  Refer to the [CHANGELOG][govmomi-changelog] for version to version changes.
    50  
    51  ## Notable Projects Using govmomi
    52  
    53  * [collectd-vsphere][project-travisci-collectd-vsphere]
    54  * [Docker LinuxKit][project-docker-linuxKit]
    55  * [Elastic Agent VMware vSphere integration][project-elastic-agent]
    56  * [Gru][project-gru]
    57  * [Juju][project-juju]
    58  * [Jupiter Brain][project-travisci-jupiter-brain]
    59  * [Kubernetes vSphere Cloud Provider][project-k8s-cloud-provider]
    60  * [Kubernetes Cluster API][project-k8s-cluster-api]
    61  * [OPS][project-nanovms-ops]
    62  * [OpenTelemetry Collector Contrib][opentelemetry-collector-contrib]
    63  * [Packer Plugin for VMware vSphere][project-hashicorp-packer-plugin-vsphere]
    64  * [Rancher][project-rancher]
    65  * [Terraform Provider for VMware vSphere][project-hashicorp-terraform-provider-vsphere]
    66  * [Telegraf][project-influxdata-telegraf]
    67  * [VMware Event Broker Appliance][project-vmware-veba]
    68  * [VMware vSphere Integrated Containers Engine][project-vmware-vic]
    69  * [VMware vSphere 7.0][project-vmware-vsphere]
    70  
    71  ## Related Projects
    72  
    73  * [go-vmware-nsxt][reference-go-vmware-nsxt]
    74  * [pyvmomi][reference-pyvmomi]
    75  * [rbvmomi][reference-rbvmomi]
    76  
    77  ## License
    78  
    79  govmomi is available under the [Apache 2 License][govmomi-license].
    80  
    81  ## Name
    82  
    83  Pronounced: _go·​v·​mom·​ie_
    84  
    85  Follows pyvmomi and rbvmomi: language prefix + the vSphere acronym "VM Object Management Infrastructure".
    86  
    87  [//]: Links
    88  
    89  [ci-build]: https://github.com/vmware/govmomi/actions/workflows/govmomi-build.yaml
    90  [ci-tests]: https://github.com/vmware/govmomi/actions/workflows/govmomi-go-tests.yaml
    91  [latest-release]: https://github.com/vmware/govmomi/releases/latest
    92  [govc]: govc/README.md
    93  [govmomi-github-issues]: https://github.com/vmware/govmomi/issues
    94  [govmomi-github-discussions]: https://github.com/vmware/govmomi/discussions
    95  [govmomi-changelog]: CHANGELOG.md
    96  [govmomi-license]: LICENSE.txt
    97  [go-reference]: https://pkg.go.dev/github.com/vmware/govmomi
    98  [go-report-card]: https://goreportcard.com/report/github.com/vmware/govmomi
    99  [go-version]: https://github.com/vmware/govmomi
   100  [opentelemetry-collector-contrib]: https://github.com/open-telemetry/opentelemetry-collector-contrib
   101  [project-docker-linuxKit]: https://github.com/linuxkit/linuxkit/tree/master/src/cmd/linuxkit
   102  [project-elastic-agent]: https://github.com/elastic/integrations/tree/main/packages/vsphere
   103  [project-gru]: https://github.com/dnaeon/gru
   104  [project-hashicorp-packer-plugin-vsphere]: https://github.com/hashicorp/packer-plugin-vsphere
   105  [project-hashicorp-terraform-provider-vsphere]: https://github.com/hashicorp/terraform-provider-vsphere
   106  [project-influxdata-telegraf]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/vsphere
   107  [project-juju]: https://github.com/juju/juju
   108  [project-k8s-cloud-provider]: https://github.com/kubernetes/cloud-provider-vsphere
   109  [project-k8s-cluster-api]: https://github.com/kubernetes-sigs/cluster-api-provider-vsphere
   110  [project-nanovms-ops]: https://github.com/nanovms/ops
   111  [project-rancher]: https://github.com/rancher/rancher/blob/master/pkg/api/norman/customization/vsphere/listers.go
   112  [project-travisci-collectd-vsphere]: https://github.com/travis-ci/collectd-vsphere
   113  [project-travisci-jupiter-brain]: https://github.com/travis-ci/jupiter-brain
   114  [project-vmware-veba]: https://github.com/vmware-samples/vcenter-event-broker-appliance/tree/development/vmware-event-router
   115  [project-vmware-vic]: https://github.com/vmware/vic
   116  [project-vmware-vsphere]: https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-7-vsphere-with-kubernetes-release-notes.html
   117  [reference-api]: https://developer.vmware.com/apis/968/vsphere
   118  [reference-godoc]: http://godoc.org/github.com/vmware/govmomi
   119  [reference-go-vmware-nsxt]: https://github.com/vmware/go-vmware-nsxt
   120  [reference-lifecycle]: https://lifecycle.vmware.com
   121  [reference-pyvmomi]: https://github.com/vmware/pyvmomi
   122  [reference-rbvmomi]: https://github.com/vmware/rbvmomi
   123  [reference-semver]: http://semver.org
   124  [slack-join]: https://developer.vmware.com/join/
   125  [slack-channel]: https://vmwarecode.slack.com/messages/govmomi
   126  [toolbox]: toolbox/README.md
   127  [vcsim]: vcsim/README.md