terraform/builtin/providers/vsphere
dkalleg fb6f2bc750 provider/vSphere - Add DiskEnableUUID option (#7088)
Since the custom_configuration_parameters can't take dots, we cannot
set 'disk.EnableUUID'.  This adds a parameter for this options that gets
added to a configSpec. This option causes the vm to mount disks by uuid
on the guest OS.
2016-06-09 10:19:10 +02:00
..
README.md Fixed obvious typos 2016-05-04 21:07:48 +02:00
config.go Adding Govomi Debug Logging Capability and refactoring of integration tests (#6893) 2016-06-02 20:15:01 +01:00
provider.go Don't require vsphere debug paths to be set (#7027) 2016-06-07 16:16:04 +01:00
provider_test.go Adding Govomi Debug Logging Capability and refactoring of integration tests (#6893) 2016-06-02 20:15:01 +01:00
resource_vsphere_file.go Adding File Resource for vSphere provider 2016-05-02 22:25:35 +02:00
resource_vsphere_file_test.go Adding File Resource for vSphere provider 2016-05-02 22:25:35 +02:00
resource_vsphere_folder.go error checks for vsphere create and delete folder (#6095) 2016-04-08 16:22:36 -05:00
resource_vsphere_folder_test.go Merge pull request #4284 from matt-deboer/master 2016-02-25 08:44:27 -06:00
resource_vsphere_virtual_disk.go Adding volume resource creation to vSphere provider (#6273) 2016-05-25 11:21:16 +01:00
resource_vsphere_virtual_disk_test.go Adding volume resource creation to vSphere provider (#6273) 2016-05-25 11:21:16 +01:00
resource_vsphere_virtual_machine.go provider/vSphere - Add DiskEnableUUID option (#7088) 2016-06-09 10:19:10 +02:00
resource_vsphere_virtual_machine_migrate.go Add vsphere virtual machine migration (Fixes #7008) (#7023) 2016-06-07 16:11:35 +01:00
resource_vsphere_virtual_machine_migrate_test.go Add vsphere virtual machine migration (Fixes #7008) (#7023) 2016-06-07 16:11:35 +01:00
resource_vsphere_virtual_machine_test.go provider/vSphere - Add DiskEnableUUID option (#7088) 2016-06-09 10:19:10 +02:00

README.md

Terraform vSphere Provider Dev Docs

This document is in place for developer documentation. User documentation is located HERE on Terraform's website.

Thank-you @tkak and Rakuten, Inc. for their original contribution of the source base used for this provider!

Introductory Documentation

Both README.md and BUILDING.md should be read first!

Base API Dependency ~ govmomi

This provider utilizes govmomi Go Library for communicating to VMware vSphere APIs (ESXi and/or vCenter). Because of the dependency this provider is compatible with VMware systems that are supported by govmomi. Much thanks to the dev team that maintains govmomi, and even more thanks to their guidance with the development of this provider. We have had many issues answered by the govmomi team!

vSphere CLI ~ govc

One of the great tools that govmomi contains is govc. It is a command line tool for using the govmomi API. Not only is it a tool to use, but also it's source base is a great resource of examples on how to exercise the API.

Required privileges for running Terraform as non-administrative user

Most of the organizations are concerned about administrative privileges. In order to use Terraform provider as non priviledged user, we can define a new Role within a vCenter and assign it appropriate privileges: Navigate to Administration -> Access Control -> Roles Click on "+" icon (Create role action), give it appropraite name and select following privileges:

  • Datastore

    • Allocate space
    • Browse datastore
    • Low level file operations
    • Remove file
    • Update virtual machine files
    • Update virtual machine metadata
  • Folder (all)

    • Create folder
    • Delete folder
    • Move folder
    • Rename folder
  • Network

    • Assign network
  • Resource

    • Apply recommendation
    • Assign virtual machine to resource pool
  • Virtual Machine

    • Configuration (all) - for now
    • Guest Operations (all) - for now
    • Interaction (all)
    • Inventory (all)
    • Provisioning (all)

These settings were tested with vSphere 6.0 and vSphere 5.5. For additional information on roles and permissions, please refer to official VMware documentation.

This section is a work in progress and additional contributions are more than welcome.