Bug reports and pull requests are welcome on GitHub at https://github.com/OpenNebula/addon-terraform/issues.
Please follow How to Contribute rules for any pull request.
- Tino Vazquez (https://github.com/tinova)
- Jean-Philippe Fourès (https://github.com/jaypif)
- Pierre Lafièvre (https://github.com/treywelsh)
- Edouard Hur (https://github.com/hekmon)
- Benjamin Gustin (https://github.com/aloababa)
- Leverages OpenNebula's XML/RPC API
- Tested on OpenNebula version 5.8
This provider has been initiated to use official Goca from OpenNebula
Current definition of these data sources are supported:
- Security Groups
- Virtual Data Center
- Virtual Network
Current definition of these resources are supported:
- Groups onegroup
- Image oneimage
- Security Groups onesecgroup
- Template onetemplate
- Virtual Data Center onevdc
- Virtual Machine onevm
- Virtual Network onevnet
Following OpenNebula Objects are not currently supported:
- ACL oneacl
- Accounting oneacct
- Hosts Management onehost
- Clusters onecluster
- Users oneuser
- Datastore onedatastore
- Market onemarket
- Market App onemarketapp
- Virtual Router onevrouter
- Zone onezone
Because this Add-On is the OpenNebula Terraform Provider, it requires to have Terraform installed on your machine. Instructions to install terraform are accessible here
Please note that this version is indended to be used with Terraform version 0.12+
The only way to use this add-on is to compile it from source code. OpenNebula Terraform provider is written in Golang, you must have a Golang environment to compile the provider.
A Golang dependency management tool is also required. This README is based on goland/dep
- Get the code of the OpenNebula provider.
- Get provider dependencies (if you use go dep)
repopath$ dep init
repopath$ go build -o terraform-provider-opennebula
Warning: this provider is a "Third party" provider. It must follow these rules for the binary name.
Integration with Terraform
Create a terraform file to use OpenNebula provider (follow instructions on Wiki page of the project) and run
This will initialize terraform to use OpenNebula Provider.
Work In Progress
Opennebula provider has the following supports parameters:
|endpoint||URL to the OpenNebula XML-RPC API|
|password||OpenNebula password OR token|
|version||Version of the provider (optional)|
Lots of Examples and details of data sources and resources parameters are available on the Wiki.
This project is under MPL v2.0 License. For more details about the License, please read LICENCE file.