Provides an Exoscale Private Network resource. This can be used to create, update and delete Private Networks.

See exoscale_nic for usage with Compute instances.


resource "exoscale_network" "unmanaged" {
  zone             = "ch-gva-2"
  name             = "oob"
  display_text     = "Out-of-band network"
  network_offering = "PrivNet"

  tags = {

Managed Private Network (~> NOTE: this feature is currently only available in the ch-gva-2 zone):

resource "exoscale_network" "managed" {
  zone             = "ch-gva-2"
  name             = "oob"
  display_text     = "Out-of-band network with DHCP"
  network_offering = "PrivNet"

  start_ip = ""
  end_ip   = ""
  netmask  = ""

Argument Reference

  • zone - (Required) The name of the zone to create the Private Network into.
  • name - (Required) The name of the Private Network.
  • display_text - A free-form text describing the Private Network purpose.
  • network_offering - (Required) The Private Nnetwork offering name (PrivNet is the only supported value).
  • start_ip - The first address of IP range used by the DHCP service to automatically assign. Required for managed Private Networks.
  • end_ip - The last address of the IP range used by the DHCP service. Required for managed Private Networks.
  • netmask - The netmask defining the IP network allowed for the static lease (see exoscale_nic resource). Required for managed Private Networks.
  • tags - A dictionary of tags (key/value).


An existing Private Network can be imported as a resource by name or ID:

# By name
$ terraform import exoscale_network.net myprivnet

# By ID
$ terraform import exoscale_network.net 04fb76a2-6d22-49be-8da7-f2a5a0b902e1