github.com/danp/terraform@v0.9.5-0.20170426144147-39d740081351/builtin/providers/vsphere/README.md (about)

     1  # Terraform vSphere Provider Dev Docs
     2  
     3  This document is in place for developer documentation.  User documentation is located [HERE](https://www.terraform.io/docs/providers/vsphere/) on Terraform's website.
     4  
     5  Thank-you [@tkak](https://github.com/tkak) and [Rakuten, Inc.](https://github.com/rakutentech) for their original contribution of the source base used for this provider!
     6  
     7  ## Introductory Documentation
     8  
     9  Both [README.md](../../../README.md) and [BUILDING.md](../../../BUILDING.md) should be read first!
    10  
    11  ## Base API Dependency ~ [govmomi](https://github.com/vmware/govmomi) 
    12  
    13  This provider utilizes [govmomi](https://github.com/vmware/govmomi) Go Library for communicating to  VMware vSphere APIs (ESXi and/or vCenter).
    14  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
    15  even more thanks to their guidance with the development of this provider.  We have had many issues answered by the govmomi team!
    16  
    17  #### vSphere CLI ~ [govc](https://github.com/vmware/govmomi/blob/master/govc/README.md)
    18  
    19  One of the great tools that govmomi contains is [govc](https://github.com/vmware/govmomi/blob/master/govc/README.md). It is a command line tool for using the govmomi API.  Not only is it a tool to use, but also it's 
    20  [source base](https://github.com/vmware/govmomi/blob/master/govc/) is a great resource of examples on how to exercise the API.
    21  
    22  ## Required privileges for running Terraform as non-administrative user
    23  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:
    24  Navigate to Administration -> Access Control -> Roles
    25  Click on "+" icon (Create role action), give it appropraite name and select following privileges:
    26   * Datastore
    27     - Allocate space
    28     - Browse datastore
    29     - Low level file operations
    30     - Remove file
    31     - Update virtual machine files
    32     - Update virtual machine metadata
    33   
    34   * Folder (all)
    35     - Create folder
    36     - Delete folder
    37     - Move folder
    38     - Rename folder
    39   
    40   * Network
    41     - Assign network
    42  
    43   * Resource
    44     - Apply recommendation
    45     - Assign virtual machine to resource pool
    46  
    47   * Virtual Machine
    48     - Configuration (all) - for now
    49     - Guest Operations (all) - for now
    50     - Interaction (all)
    51     - Inventory (all)
    52     - Provisioning (all)
    53  
    54  These settings were tested with [vSphere 6.0](https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.security.doc%2FGUID-18071E9A-EED1-4968-8D51-E0B4F526FDA3.html) and [vSphere 5.5](https://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.vsphere.security.doc%2FGUID-18071E9A-EED1-4968-8D51-E0B4F526FDA3.html). For additional information on roles and permissions, please refer to official VMware documentation.
    55  
    56  This section is a work in progress and additional contributions are more than welcome.
    57