Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 10 additions & 42 deletions .web-docs/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
<!-- markdownlint-disable first-line-h1 no-inline-html -->

The vSphere plugin is able to create vSphere virtual machines for use with VMware products.

To achieve this, the plugin comes with three builders, and two post-processors to build the virtual
machine depending on the strategy you want to use.

The Packer Plugin for VMware vSphere is a multi-component plugin can be used with HashiCorp Packer
to create virtual machine images for VMware vSphere.

The plugin includes three builders which are able to create images, depending on your desired
strategy:
The Packer Plugin for VMware vSphere is a plugin for creating virtual machine images for use with
VMware vSphere®.

### Installation

Expand All @@ -35,10 +27,13 @@ packer plugins install github.com/vmware/vsphere

### Components

The plugin includes builders and post-processors for creating virtual machine images, depending on
your desired strategy:

#### Builders

- [vsphere-iso](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-iso) - This
builder starts from an ISO file and uses the vSphere API to build a virtual machine image on
- [vsphere-iso](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-iso) -
This builder starts from an ISO file and uses the vSphere API to build a virtual machine image on
an ESX host.

- [vsphere-clone](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-clone) -
Expand All @@ -49,39 +44,12 @@ packer plugins install github.com/vmware/vsphere
This builder deploys and publishes new virtual machine to a vSphere Supervisor cluster using VM
Service.

#### Data Sources

- [vsphere-virtualmachine](/packer/integrations/hashicorp/vsphere/latest/components/data-source/vsphere-virtualmachine) -
This data source returns the name of a virtual machine that matches all defined filters.

#### Post-Processors

- [vsphere](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere) -
This post-processor uploads an artifact to a vSphere endpoint. The artifact must be a VMX, OVA,
or OVF file.

- [vsphere-template](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere-template) - This post-processor uses an artifact from the `vmware-iso` builder with an ESX host or an
artifact from the [vSphere](/packer/plugins/post-processors/vsphere/vsphere) post-processor. It
then marks the virtual machine as a template and moves it to your specified path.

### Differences from the Packer Plugin for VMware

While both this plugin and the [`packer-plugin-vmware`](packer/integrations/hashicorp/vmware) are
designed to create virtual machine images, there are some key differences:

- **Platforms**: This plugin is specifically developed to utilize the VMware vSphere API,
facilitating the creation of virtual machine images by integrating with VMware vCenter and
the VMware vSphere Hypervisor. On the other hand, `packer-plugin-vmware` supports a variety of
platforms including VMware vSphere Hypervisor and desktop virtualization products such as VMware
Fusion, VMware Workstation, and VMware Player, though it does not utilize the vSphere API for its
operations.

- **Focus**: This plugin is purpose-built with a focus on VMware vSphere, offering capabilities such
as creating virtual machine images, cloning and modifying base virtual machine images, and
exporting artifacts in specified locations and formats. In contrast, `packer-plugin-vmware`
includes builders that operate on both VMware vSphere Hypervisor and the aforementioned desktop
virtualization products, providing a different set of functionalities, including support for
Vagrant.

Please refer to the documentation for each plugin to understand the specific capabilities and
configuration options.
- [vsphere-template](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere-template) -
This post-processor uses an artifact from the vSphere post-processor. It then marks the virtual
machine as a template and moves it to your specified path.
95 changes: 42 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,37 @@
<!--
© Broadcom. All Rights Reserved.
The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
SPDX-License-Identifier: MPL-2.0
-->

<!-- markdownlint-disable first-line-h1 no-inline-html -->

# Packer Plugin for VMware vSphere

The Packer Plugin for VMware vSphere is a multi-component plugin can be used with
[HashiCorp Packer][packer] to create virtual machine images for [VMware vSphere][docs-vsphere]®.
The Packer Plugin for VMware vSphere is a plugin for creating virtual machine images for use with
[VMware vSphere][docs-vsphere]®.

The plugin includes three builders and two post-processors which are able to create images,
depending on your desired strategy:
The plugin includes builders and post-processors for creating virtual machine images, depending on
your desired strategy:

**Builders**

- `vsphere-iso` - This
builder starts from an ISO file and uses the vSphere API to build a virtual machine image on
an ESXi host.
- `vsphere-iso` - This builder starts from an ISO file and uses the vSphere API to build a virtual
machine image on an ESXi host.

- `vsphere-clone` -
This builder clones a virtual machine from an existing template using the uses the vSphere API and
then modifies and saves it as a new template.
- `vsphere-clone` - This builder clones a virtual machine from an existing template using the
uses the vSphere API and then modifies and saves it as a new template.

- `vsphere-supervisor` -
This builder deploys and publishes new virtual machine to a vSphere Supervisor cluster using VM
Service.
- `vsphere-supervisor` - This builder deploys and publishes new virtual machine to a vSphere
Supervisor cluster using VM Service.

**Post-Processors**

- `vsphere` - This post-processor uploads an artifact to a vSphere endpoint. The artifact must be a
VMX, OVA, or OVF file.

- `vsphere-template` - This post-processor uses an artifact from the `vmware-iso` builder with an
ESXi host or an artifact from the [vSphere](/packer/plugins/post-processors/vsphere/vsphere)
post-processor. It then marks the virtual machine as a template and moves it to your specified
path.

## Differences from the Packer Plugin for VMware

While both this plugin and the `packer-plugin-vmware` are designed to create virtual machine images,
there are some key differences:

- **Platforms**: This plugin is specifically developed to utilize the VMware vSphere API,
facilitating the creation of virtual machine images by integrating with VMware vCenter Server and the
VMware vSphere Hypervisor. On the other hand, `packer-plugin-vmware` supports a variety of
platforms including VMware vSphere Hypervisor and desktop virtualization products such as VMware
Fusion, VMware Workstation, and VMware Player, though it does not utilize the vSphere API for its
operations.

- **Focus**: This plugin is purpose-built with a focus on VMware vSphere, offering capabilities such
as creating virtual machine images, cloning and modifying base virtual machine images, and
exporting artifacts in specified locations and formats. In contrast, `packer-plugin-vmware`
includes builders that operate on both VMware vSphere Hypervisor and the aforementioned desktop
virtualization products, providing a different set of functionalities, including support for
Vagrant.

Please refer to the documentation for each plugin to understand the specific capabilities and configuration options.
- `vsphere-template` - This post-processor uses an artifact from the vSphere post-processor.
It then marks the virtual machine as a template and moves it to your specified path.

## Requirements

Expand Down Expand Up @@ -101,32 +83,39 @@ command `go build` from the repository root directory. Upon successful compilati

To install the compiled plugin, please follow the Packer documentation on [installing a plugin][docs-packer-plugin-install].

### Configuration
### Documentation

For more information on how to configure the plugin, please see the [plugin documentation][docs-vsphere-plugin].
For more information on how to use the plugin, please refer to the [documentation][docs-vsphere-plugin].

- `vsphere-iso` [builder documentation][docs-vsphere-iso]
## Contributing

- `vsphere-clone` [builder documentation][docs-vsphere-clone]
The Packer Plugin for VMware vSphere is the work of many contributors and the project team appreciates your help!

- `vsphere-supervisor` [builder documentation][docs-vsphere-supervisor]
If you discover a bug or would like to suggest an enhancement, submit [an issue][issues].

## Contributing
If you would like to submit a pull request, please read the [contribution guidelines][contributing] to get started. In case of enhancement or feature contribution, we kindly ask you to open an issue to discuss it beforehand.

## Support

The Packer Plugin for VMware vSphere is supported by the maintainers and the plugin community.

## License

- If you think you've found a bug in the code or you have a question regarding the usage of this
software, please reach out to us by opening an issue in this GitHub repository.
© Broadcom. All Rights Reserved.
The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.

- Contributions to this project are welcome: if you want to add a feature or a fix a bug, please do
so by opening a pull request in this GitHub repository. In case of feature contribution, we kindly
ask you to open an issue to discuss it beforehand.
The Packer Plugin for VMware vSphere is available under the [Mozilla Public License, version 2.0][license] license.

[license]: LICENSE
[contributing]: .github/CONTRIBUTING.md
[issues]: https://github.com/vmware/packer-plugin-vsphere/issues
[docs-packer-init]: https://developer.hashicorp.com/packer/docs/commands/init
[docs-packer-plugin-install]: https://developer.hashicorp.com/packer/docs/plugins/install-plugins
[docs-vsphere]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere.html
[docs-vsphere-clone]: https://developer.hashicorp.com/packer/plugins/builders/vsphere/vsphere-clone
[docs-vsphere-iso]: https://developer.hashicorp.com/packer/plugins/builders/vsphere/vsphere-iso
[docs-vsphere-supervisor]: https://developer.hashicorp.com/packer/plugins/builders/vsphere/vsphere-supervisor
[docs-vsphere-plugin]: https://developer.hashicorp.com/packer/plugins/builders/vsphere
[docs-vsphere-clone]: https://developer.hashicorp.com/packer/integrations/vmware/vsphere/latest/components/builder/vsphere-clone
[docs-vsphere-iso]: https://developer.hashicorp.com/packer/integrations/vmware/vsphere/latest/components/builder/vsphere-iso
[docs-vsphere-supervisor]: https://developer.hashicorp.com/packer/integrations/vmware/vsphere/latest/components/builder/vsphere-supervisor
[docs-vsphere-plugin]: https://developer.hashicorp.com/packer/integrations/vmware/vsphere
[golang-install]: https://golang.org/doc/install
[packer]: https://www.packer.io
[releases-vsphere-plugin]: https://github.com/vmware/packer-plugin-vsphere/releases
Expand Down
52 changes: 10 additions & 42 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
<!-- markdownlint-disable first-line-h1 no-inline-html -->

The vSphere plugin is able to create vSphere virtual machines for use with VMware products.

To achieve this, the plugin comes with three builders, and two post-processors to build the virtual
machine depending on the strategy you want to use.

The Packer Plugin for VMware vSphere is a multi-component plugin can be used with HashiCorp Packer
to create virtual machine images for VMware vSphere.

The plugin includes three builders which are able to create images, depending on your desired
strategy:
The Packer Plugin for VMware vSphere is a plugin for creating virtual machine images for use with
VMware vSphere®.

### Installation

Expand All @@ -35,10 +27,13 @@ packer plugins install github.com/vmware/vsphere

### Components

The plugin includes builders and post-processors for creating virtual machine images, depending on
your desired strategy:

#### Builders

- [vsphere-iso](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-iso) - This
builder starts from an ISO file and uses the vSphere API to build a virtual machine image on
- [vsphere-iso](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-iso) -
This builder starts from an ISO file and uses the vSphere API to build a virtual machine image on
Comment on lines +35 to +36
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list item has a trailing space after the dash separator, which commonly triggers markdownlint (MD009) and can cause unnecessary diffs. Remove the trailing whitespace or keep the description on the same line as the bullet.

Copilot uses AI. Check for mistakes.
an ESX host.

- [vsphere-clone](/packer/integrations/hashicorp/vsphere/latest/components/builder/vsphere-clone) -
Expand All @@ -49,39 +44,12 @@ packer plugins install github.com/vmware/vsphere
This builder deploys and publishes new virtual machine to a vSphere Supervisor cluster using VM
Service.

#### Data Sources

- [vsphere-virtualmachine](/packer/integrations/hashicorp/vsphere/latest/components/data-source/vsphere-virtualmachine) -
This data source returns the name of a virtual machine that matches all defined filters.

#### Post-Processors

- [vsphere](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere) -
This post-processor uploads an artifact to a vSphere endpoint. The artifact must be a VMX, OVA,
or OVF file.

- [vsphere-template](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere-template) - This post-processor uses an artifact from the `vmware-iso` builder with an ESX host or an
artifact from the [vSphere](/packer/plugins/post-processors/vsphere/vsphere) post-processor. It
then marks the virtual machine as a template and moves it to your specified path.

### Differences from the Packer Plugin for VMware

While both this plugin and the [`packer-plugin-vmware`](packer/integrations/hashicorp/vmware) are
designed to create virtual machine images, there are some key differences:

- **Platforms**: This plugin is specifically developed to utilize the VMware vSphere API,
facilitating the creation of virtual machine images by integrating with VMware vCenter and
the VMware vSphere Hypervisor. On the other hand, `packer-plugin-vmware` supports a variety of
platforms including VMware vSphere Hypervisor and desktop virtualization products such as VMware
Fusion, VMware Workstation, and VMware Player, though it does not utilize the vSphere API for its
operations.

- **Focus**: This plugin is purpose-built with a focus on VMware vSphere, offering capabilities such
as creating virtual machine images, cloning and modifying base virtual machine images, and
exporting artifacts in specified locations and formats. In contrast, `packer-plugin-vmware`
includes builders that operate on both VMware vSphere Hypervisor and the aforementioned desktop
virtualization products, providing a different set of functionalities, including support for
Vagrant.

Please refer to the documentation for each plugin to understand the specific capabilities and
configuration options.
- [vsphere-template](/packer/integrations/hashicorp/vsphere/latest/components/post-processor/vsphere-template) -
This post-processor uses an artifact from the vSphere post-processor. It then marks the virtual
machine as a template and moves it to your specified path.
Comment on lines +54 to +55
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vsphere-template post-processor description is incomplete: the implementation accepts more artifact types than just artifacts from the vSphere post-processor (it also supports exported OVF from vsphere-iso, etc.). Update the README text to reflect the supported inputs so users don't think they must chain through the vSphere post-processor.

Suggested change
This post-processor uses an artifact from the vSphere post-processor. It then marks the virtual
machine as a template and moves it to your specified path.
This post-processor takes a vSphere virtual machine artifact (for example, an artifact produced by
the vSphere post-processor or an exported OVF/OVA from a vSphere builder such as `vsphere-iso`),
then marks the virtual machine as a template and moves it to your specified path.

Copilot uses AI. Check for mistakes.