2015-10-12 18:42:27 +02:00
|
|
|
---
|
|
|
|
layout: "vsphere"
|
2015-11-03 03:21:08 +01:00
|
|
|
page_title: "Provider: VMware vSphere"
|
2015-10-12 18:42:27 +02:00
|
|
|
sidebar_current: "docs-vsphere-index"
|
|
|
|
description: |-
|
2015-11-03 03:21:08 +01:00
|
|
|
The VMware vSphere provider is used to interact with the resources supported by
|
|
|
|
VMware vSphere. The provider needs to be configured with the proper credentials
|
|
|
|
before it can be used.
|
2015-10-12 18:42:27 +02:00
|
|
|
---
|
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
# VMware vSphere Provider
|
2015-10-12 18:42:27 +02:00
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
The VMware vSphere provider is used to interact with the resources supported by
|
|
|
|
VMware vSphere.
|
2015-10-12 18:42:27 +02:00
|
|
|
The provider needs to be configured with the proper credentials before it can be used.
|
|
|
|
|
|
|
|
Use the navigation to the left to read about the available resources.
|
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
~> **NOTE:** The VMware vSphere Provider currently represents _initial support_
|
2015-11-18 05:53:55 +01:00
|
|
|
and therefore may undergo significant changes as the community improves it. This
|
|
|
|
provider at this time only supports IPv4 addresses on virtual machines.
|
2015-10-15 16:35:06 +02:00
|
|
|
|
2015-10-12 18:42:27 +02:00
|
|
|
## Example Usage
|
|
|
|
|
|
|
|
```
|
2015-11-03 03:21:08 +01:00
|
|
|
# Configure the VMware vSphere Provider
|
2015-10-12 18:42:27 +02:00
|
|
|
provider "vsphere" {
|
|
|
|
user = "${var.vsphere_user}"
|
|
|
|
password = "${var.vsphere_password}"
|
2015-11-01 15:07:23 +01:00
|
|
|
vsphere_server = "${var.vsphere_server}"
|
2015-10-12 18:42:27 +02:00
|
|
|
}
|
|
|
|
|
2015-11-16 19:44:39 +01:00
|
|
|
# Create a folder
|
|
|
|
resource "vsphere_folder" "frontend" {
|
|
|
|
path = "frontend"
|
|
|
|
}
|
|
|
|
|
|
|
|
# Create a virtual machine within the folder
|
2015-10-12 18:42:27 +02:00
|
|
|
resource "vsphere_virtual_machine" "web" {
|
2016-03-05 00:15:09 +01:00
|
|
|
name = "terraform-web"
|
2015-11-16 19:44:39 +01:00
|
|
|
folder = "${vsphere_folder.frontend.path}"
|
2015-10-12 18:42:27 +02:00
|
|
|
vcpu = 2
|
|
|
|
memory = 4096
|
|
|
|
|
|
|
|
network_interface {
|
|
|
|
label = "VM Network"
|
|
|
|
}
|
|
|
|
|
|
|
|
disk {
|
2015-12-07 02:49:04 +01:00
|
|
|
template = "centos-7"
|
2015-10-12 18:42:27 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Argument Reference
|
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
The following arguments are used to configure the VMware vSphere Provider:
|
2015-10-12 18:42:27 +02:00
|
|
|
|
|
|
|
* `user` - (Required) This is the username for vSphere API operations. Can also
|
|
|
|
be specified with the `VSPHERE_USER` environment variable.
|
|
|
|
* `password` - (Required) This is the password for vSphere API operations. Can
|
|
|
|
also be specified with the `VSPHERE_PASSWORD` environment variable.
|
2015-11-01 15:07:23 +01:00
|
|
|
* `vsphere_server` - (Required) This is the vCenter server name for vSphere API
|
|
|
|
operations. Can also be specified with the `VSPHERE_SERVER` environment
|
2015-10-12 18:42:27 +02:00
|
|
|
variable.
|
2015-11-15 04:24:28 +01:00
|
|
|
* `allow_unverified_ssl` - (Optional) Boolean that can be set to true to
|
|
|
|
disable SSL certificate verification. This should be used with care as it
|
|
|
|
could allow an attacker to intercept your auth token. If omitted, default
|
|
|
|
value is `false`. Can also be specified with the `VSPHERE_ALLOW_UNVERIFIED_SSL`
|
|
|
|
environment variable.
|
2015-10-12 18:42:27 +02:00
|
|
|
|
2015-10-29 13:48:11 +01:00
|
|
|
## Acceptance Tests
|
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
The VMware vSphere provider's acceptance tests require the above provider
|
2015-10-29 13:48:11 +01:00
|
|
|
configuration fields to be set using the documented environment variables.
|
|
|
|
|
2015-11-03 03:21:08 +01:00
|
|
|
In addition, the following environment variables are used in tests, and must be set to valid values for your VMware vSphere environment:
|
2015-10-29 13:48:11 +01:00
|
|
|
|
|
|
|
* VSPHERE\_NETWORK\_GATEWAY
|
|
|
|
* VSPHERE\_NETWORK\_IP\_ADDRESS
|
|
|
|
* VSPHERE\_NETWORK\_LABEL
|
|
|
|
* VSPHERE\_NETWORK\_LABEL\_DHCP
|
|
|
|
* VSPHERE\_TEMPLATE
|
2015-10-30 10:18:25 +01:00
|
|
|
|
|
|
|
The following environment variables depend on your vSphere environment:
|
2015-11-18 05:53:55 +01:00
|
|
|
|
2015-10-30 10:18:25 +01:00
|
|
|
* VSPHERE\_DATACENTER
|
|
|
|
* VSPHERE\_CLUSTER
|
|
|
|
* VSPHERE\_RESOURCE\_POOL
|
|
|
|
* VSPHERE\_DATASTORE
|
|
|
|
|
2015-11-25 15:35:37 +01:00
|
|
|
The following additional environment variables are needed for running the "Mount ISO as CDROM media" acceptance tests.
|
|
|
|
|
|
|
|
* VSPHERE\_CDROM\_DATASTORE
|
|
|
|
* VSPHERE\_CDROM\_PATH
|
|
|
|
|
2015-10-29 13:48:11 +01:00
|
|
|
|
|
|
|
These are used to set and verify attributes on the `vsphere_virtual_machine`
|
|
|
|
resource in tests.
|
|
|
|
|
|
|
|
Once all these variables are in place, the tests can be run like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
make testacc TEST=./builtin/providers/vsphere
|
|
|
|
```
|