Skip to content

Commit

Permalink
Merge pull request #110 from girishramnani/license-resource
Browse files Browse the repository at this point in the history
Enhancement: Added resource for license management
  • Loading branch information
vancluever authored Aug 17, 2017
2 parents f895a87 + 05cdd19 commit fdb42c2
Show file tree
Hide file tree
Showing 10 changed files with 869 additions and 0 deletions.
70 changes: 70 additions & 0 deletions vendor/github.com/vmware/govmomi/license/assignment_manager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

195 changes: 195 additions & 0 deletions vendor/github.com/vmware/govmomi/license/manager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions vendor/vendor.json
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,14 @@
"version": "v0.15.0",
"versionExact": "v0.15.0"
},
{
"checksumSHA1": "gqiwfI1jgNjANcUHiI1z5f+3zF4=",
"path": "github.com/vmware/govmomi/license",
"revision": "b63044e5f833781eb7b305bc035392480ee06a82",
"revisionTime": "2017-06-19T23:14:37Z",
"version": "v0.15.0",
"versionExact": "v0.15.0"
},
{
"checksumSHA1": "J3JrwZagGYMX6oNMkdsUFf8hHo8=",
"comment": "v0.15.0",
Expand Down
62 changes: 62 additions & 0 deletions vsphere/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Terraform vSphere Provider Dev Docs

This document is in place for developer documentation. User documentation is located [HERE](https://www.terraform.io/docs/providers/vsphere/) on Terraform's website.

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!

## Introductory Documentation

Both [README.md](../../../README.md) and [BUILDING.md](../../../BUILDING.md) should be read first!

## Base API Dependency ~ [govmomi](https://github.com/vmware/govmomi)

This provider utilizes [govmomi](https://github.com/vmware/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](https://github.com/vmware/govmomi/blob/master/govc/README.md)

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
[source base](https://github.com/vmware/govmomi/blob/master/govc/) 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)

* License
- Add license
- Remove license
- Update license labels

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.

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

1 change: 1 addition & 0 deletions vsphere/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ func Provider() terraform.ResourceProvider {
"vsphere_folder": resourceVSphereFolder(),
"vsphere_virtual_disk": resourceVSphereVirtualDisk(),
"vsphere_virtual_machine": resourceVSphereVirtualMachine(),
"vsphere_license": resourceVSphereLicense(),
},

ConfigureFunc: providerConfigure,
Expand Down
Loading

0 comments on commit fdb42c2

Please sign in to comment.