Skip to content

Instantly share code, notes, and snippets.

@equelin
Created April 26, 2019 14:30
Show Gist options
  • Save equelin/5d3a2cf82c844000916da95d211cad3d to your computer and use it in GitHub Desktop.
Save equelin/5d3a2cf82c844000916da95d211cad3d to your computer and use it in GitHub Desktop.
Terraform file for deploying a VM on OVH Private Cloud
provider "vsphere" {
user = "admin"
password = "MyAwesomePassword"
vsphere_server = "pcc-XXX-XXX-XXX-XXX.ovh.com"
}
data "vsphere_datacenter" "dc" {
name = "pcc-XXX-XXX-XXX-XXX_datacenter3113"
}
data "vsphere_datastore" "datastore" {
name = "pcc-001234"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
data "vsphere_compute_cluster" "cluster" {
name = "Cluster1"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
data "vsphere_network" "network" {
name = "vxw-dvs-57-virtualwire-2-sid-5001-Dc3113_5001"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
data "vsphere_virtual_machine" "template" {
name = "UBUNTU"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
resource "vsphere_virtual_machine" "vm" {
name = "vm01"
resource_pool_id = "${data.vsphere_compute_cluster.cluster.resource_pool_id}"
datastore_id = "${data.vsphere_datastore.datastore.id}"
guest_id = "${data.vsphere_virtual_machine.template.guest_id}"
scsi_type = "${data.vsphere_virtual_machine.template.scsi_type}"
network_interface {
network_id = "${data.vsphere_network.network.id}"
}
disk {
label = "disk0"
size = "${data.vsphere_virtual_machine.template.disks.0.size}"
}
clone {
template_uuid = "${data.vsphere_virtual_machine.template.id}"
customize {
linux_options {
host_name = "vm01"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.2"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.254"
dns_suffix_list = ["example.com"]
dns_server_list = ["192.168.1.1"]
}
}
}
@olivier-monaco
Copy link

To avoid spending time on stupid issue: for networks (distributed switches) set the correct rights to your vCenter user through the OVH Manager. Otherwise you can't see them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment