Description
OpenNebula provider for Terraform.
Development
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.
Authors
Compatibility
This provider has been initiated to use official Goca from OpenNebula
For Older OpenNebula and Terraform releases, you can use non official provider from Runtastic and enhanced by BlackBerry.
Features
Data sources
Current definition of these data sources are supported:
- Groups
- Image
- Security Groups
- Template
- Virtual Data Center
- Virtual Network
Resources
Current definition of these resources are supported:
Limitations
Following OpenNebula Objects are not currently supported:
Requirements
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+
Golang
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
Installation
From Source
Compilation
- Get the code of the OpenNebula provider.
- Get provider dependencies (if you use go dep)
repopath$ dep init
- Compile
repopath$ go build -o terraform-provider-opennebula
Warning: this provider is a "Third party" provider. It must follow these rules for the binary name.
Create a terraform file to use OpenNebula provider (follow instructions on Wiki page of the project) and run terraform init
.
This will initialize terraform to use OpenNebula Provider.
Work In Progress
Configuration
Opennebula provider has the following supports parameters:
Parameter |
Description |
endpoint |
URL to the OpenNebula XML-RPC API |
username |
OpenNebula username |
password |
OpenNebula password OR token |
version |
Version of the provider (optional) |
Usage
Lots of Examples and details of data sources and resources parameters are available on the Wiki.
References
Other Projects about Terraform provider exists. This project has been inspired by Runtastic and BlackBerry projects
License
This project is under MPL v2.0 License. For more details about the License, please read LICENCE file.