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.
| Argument | Type | Description | Required |
|---|---|---|---|
hostname | string | Server hostname | Yes |
plan | string | Plan identifier (e.g., VR2048x2x40). See API Virtual Server Plans. | Yes |
location | string | Location identifier (e.g., ashburn). See API Locations. | Yes |
image | string | OS image identifier (e.g., ubuntu-24.04). See API OS Images. | Yes |
ssh_keys | list(string) | List of SSH key IDs to inject | No |
user_data | string | Cloud-init user data script | No |
tags | map(string) | Tags for the instance | No |
Exported Attributes
| Attribute | Type | Description |
|---|---|---|
id | string | Server ID |
ip_address | string | Primary IPv4 address |
ipv6_address | string | Primary IPv6 address |
status | string | Current server status |
created_at | string | Creation 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.
| Argument | Type | Description | Required |
|---|---|---|---|
name | string | Key name | Yes |
public_key | string | SSH public key content | Yes |
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.
| Argument | Type | Description | Required |
|---|---|---|---|
server_id | string | Server ID to attach session to | Yes |
asn | number | Your BGP ASN | Yes |
neighbor_ip | string | BGP neighbor IP address | Yes |
password | string | BGP session password | No |
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.