This plugin allows Terraform to work with the oVirt Virtual Machine management platform. It requires oVirt 4.x.
Firstly, this project is inspired by EMSL-MSC, the author @Maigard surely done a outstanding work and great thanks to him.
While in the last five months, the upstream project was not actively maintained and the pull request I committed is still not reviewed. Since this project is a heavy work in progress, for intuitive and convenient usage, I replaced the references of EMSL-MSC
with imjoey
in main.go
, README
and some other CI configuration files.
If possible, I would surely be happy to contribute back to the upstream again. ^_^ .
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.12+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
Note: This project uses Go Modules making it safe to work with it outside of your existing GOPATH. The instructions that follow assume a directory in your home directory outside of the standard GOPATH (i.e $HOME/development/terraform-providers/
).
Clone repository to: $HOME/development/terraform-providers/
$ mkdir -p $HOME/development/terraform-providers/
$ cd $HOME/development/terraform-providers/
$ git clone [email protected]:ovirt/terraform-provider-ovirt
...
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-ovirt
...
If you're building the provider, follow the instructions to install it as a plugin. After placing it into your plugins directory, run terraform init
to initialize it.
- Provider Configuration
provider "ovirt" {
username = "username@profile"
url = "https://ovirt/ovirt-engine/api"
password = "Password"
}
- username - (Required) The username to access the oVirt api including the profile used
- url - (Required) The url to the api endpoint (usually the ovirt server with a path of /ovirt-engine/api)
- password - (Required) Password to access the server
- Resources
- ovirt_cluster
- ovirt_datacenter
- ovirt_disk
- ovirt_disk_attachment
- ovirt_host
- ovirt_mac_pool
- ovirt_network
- ovirt_snapshot
- ovirt_storage_domain
- ovirt_tag
- ovirt_user
- ovirt_vm
- ovirt_vnic
- ovirt_vnic_profile
- Data Sources
- ovirt_authzs
- ovirt_clusters
- ovirt_datacenters
- ovirt_disks
- ovirt_hosts
- ovirt_mac_pools
- ovirt_networks
- ovirt_nics
- ovirt_storagedomains
- ovirt_template
- ovirt_users
- ovirt_vms
- ovirt_vnic_profiles
Currently the documents for this provider is not hosted by the official site Terraform Providers. Please enter the provider directory and build the website locally.
$ make website
The commands above will start a docker-based web server powered by Middleman, which hosts the documents in website
directory. Simply open http://localhost:4567/docs/providers/ovirt
and enjoy them.