Skip to main content

Terraform Options

This page documents the resources and data sources available in the NetActuate Terraform provider.

Resources

netactuate_server

Manages a NetActuate virtual server instance.

ArgumentTypeDescriptionRequired
hostnamestringServer hostnameYes
planstringPlan identifier (e.g., VR2048x2x40). See API Virtual Server Plans.Yes
locationstringLocation identifier (e.g., ashburn). See API Locations.Yes
imagestringOS image identifier (e.g., ubuntu-24.04). See API OS Images.Yes
ssh_keyslist(string)List of SSH key IDs to injectNo
user_datastringCloud-init user data scriptNo
tagsmap(string)Tags for the instanceNo

Exported Attributes

AttributeTypeDescription
idstringServer ID
ip_addressstringPrimary IPv4 address
ipv6_addressstringPrimary IPv6 address
statusstringCurrent server status
created_atstringCreation timestamp

Example

resource "netactuate_server" "web" {
hostname = "web-01"
plan = "VR2048x2x40"
location = "ashburn"
image = "ubuntu-24.04"
ssh_keys = [netactuate_ssh_key.deploy.id]

tags = {
environment = "production"
role = "web"
}
}

netactuate_ssh_key

Manages an SSH public key in your NetActuate account.

ArgumentTypeDescriptionRequired
namestringKey nameYes
public_keystringSSH public key contentYes

Example

resource "netactuate_ssh_key" "deploy" {
name = "deploy-key"
public_key = file("~/.ssh/id_ed25519.pub")
}

netactuate_bgp_session

Manages a BGP session for a server.

ArgumentTypeDescriptionRequired
server_idstringServer ID to attach session toYes
asnnumberYour BGP ASNYes
neighbor_ipstringBGP neighbor IP addressYes
passwordstringBGP session passwordNo

Example

resource "netactuate_bgp_session" "primary" {
server_id = netactuate_server.web.id
asn = 65000
neighbor_ip = "169.254.169.1"
}

Data Sources

netactuate_locations

Retrieves available deployment locations.

data "netactuate_locations" "all" {}

output "locations" {
value = data.netactuate_locations.all.locations
}

netactuate_images

Retrieves available OS images.

data "netactuate_images" "all" {}

netactuate_sizes

Retrieves available server plans.

data "netactuate_sizes" "all" {}

Need Help?

If you need assistance with Terraform resource configuration, visit our support page.