151 lines
4.2 KiB
Plaintext
151 lines
4.2 KiB
Plaintext
---
|
|
modeline: |
|
|
vim: set ft=pandoc:
|
|
description: |
|
|
This VMware Packer builder uses the vSphere API to clone an existing vSphere template and create a new virtual machine remotely.
|
|
layout: docs
|
|
page_title: 'VSphere Clone - Builders'
|
|
sidebar_current: 'docs-builders-vsphere-clone'
|
|
---
|
|
|
|
# VMWare Vsphere Clone Builder
|
|
|
|
Type: `vsphere-clone`
|
|
|
|
This builder clones VMs from existing templates.
|
|
|
|
- VMware Player is not required.
|
|
- It uses the official vCenter API, and does not require ESXi host [modification](https://www.packer.io/docs/builders/vmware-iso.html#building-on-a-remote-vsphere-hypervisor)
|
|
|
|
|
|
## Examples
|
|
|
|
See complete Ubuntu, Windows, and macOS templates in the [examples folder](https://github.com/hashicorp/packer/tree/master/builder/vsphere/examples/).
|
|
|
|
## VSphere-Clone Configuration Reference
|
|
|
|
There are many configuration options available for this builder. In addition to
|
|
the items listed here, you will want to look at the general configuration
|
|
references for [ISO](#iso-configuration),
|
|
[HTTP](#http-directory-configuration),
|
|
[Boot](#boot-configuration),
|
|
[Driver](#driver-configuration),
|
|
[Hardware](#hardware-configuration),
|
|
[Output](#output-configuration),
|
|
[Run](#run-configuration),
|
|
[Shutdown](#shutdown-configuration),
|
|
[Communicator](#communicator-configuration),
|
|
[Tools](#tools-configuration),
|
|
[vmx](#vmx-configuration),
|
|
[Export](#export-configuration),
|
|
configuration references, which are
|
|
necessary for this build to succeed and can be found further down the page.
|
|
|
|
<%= partial "partials/builder/vsphere/clone/Config-not-required" %>
|
|
|
|
### Clone Configuration
|
|
|
|
<%= partial "partials/builder/vsphere/clone/CloneConfig-not-required" %>
|
|
|
|
### Extra Configuration Parameters
|
|
<%= partial "partials/builder/vsphere/common/ConfigParamsConfig-not-required" %>
|
|
|
|
### Connection Configuration
|
|
<%= partial "partials/builder/vsphere/common/ConnectConfig-not-required" %>
|
|
|
|
### Hardware Configuration
|
|
<%= partial "partials/builder/vsphere/common/HardwareConfig-not-required" %>
|
|
|
|
### Location Configuration
|
|
<%= partial "partials/builder/vsphere/common/LocationConfig-not-required" %>
|
|
|
|
### Run Configuration
|
|
<%= partial "partials/builder/vsphere/common/RunConfig-not-required" %>
|
|
|
|
### Shutdown Configuration
|
|
<%= partial "partials/builder/vsphere/common/ShutdownConfig-not-required" %>
|
|
|
|
### Wait Configuration
|
|
<%= partial "partials/builder/vsphere/common/WaitIpConfig-not-required" %>
|
|
|
|
### Communicator configuration
|
|
|
|
#### Optional common fields:
|
|
|
|
<%= partial "partials/helper/communicator/Config-not-required" %>
|
|
|
|
#### Optional SSH fields:
|
|
|
|
<%= partial "partials/helper/communicator/SSH-not-required" %>
|
|
|
|
#### Optional WinRM fields:
|
|
|
|
<%= partial "partials/helper/communicator/WinRM-not-required" %>
|
|
|
|
## Working with Clusters
|
|
#### Standalone Hosts
|
|
Only use the `host` option. Optionally specify a `resource_pool`:
|
|
```
|
|
"host": "esxi-1.vsphere65.test",
|
|
"resource_pool": "pool1",
|
|
```
|
|
|
|
#### Clusters Without DRS
|
|
Use the `cluster` and `host `parameters:
|
|
```
|
|
"cluster": "cluster1",
|
|
"host": "esxi-2.vsphere65.test",
|
|
```
|
|
|
|
#### Clusters With DRS
|
|
Only use the `cluster` option. Optionally specify a `resource_pool`:
|
|
```
|
|
"cluster": "cluster2",
|
|
"resource_pool": "pool1",
|
|
```
|
|
|
|
## Required vSphere Permissions
|
|
|
|
* VM folder (this object and children):
|
|
```
|
|
Virtual machine -> Inventory
|
|
Virtual machine -> Configuration
|
|
Virtual machine -> Interaction
|
|
Virtual machine -> Snapshot management
|
|
Virtual machine -> Provisioning
|
|
```
|
|
Individual privileges are listed in https://github.com/jetbrains-infra/packer-builder-vsphere/issues/97#issuecomment-436063235.
|
|
* Resource pool, host, or cluster (this object):
|
|
```
|
|
Resource -> Assign virtual machine to resource pool
|
|
```
|
|
* Host in clusters without DRS (this object):
|
|
```
|
|
Read-only
|
|
```
|
|
* Datastore (this object):
|
|
```
|
|
Datastore -> Allocate space
|
|
Datastore -> Browse datastore
|
|
Datastore -> Low level file operations
|
|
```
|
|
* Network (this object):
|
|
```
|
|
Network -> Assign network
|
|
```
|
|
* Distributed switch (this object):
|
|
```
|
|
Read-only
|
|
```
|
|
|
|
For floppy image upload:
|
|
|
|
* Datacenter (this object):
|
|
```
|
|
Datastore -> Low level file operations
|
|
```
|
|
* Host (this object):
|
|
```
|
|
Host -> Configuration -> System Management
|
|
```
|