Terraform Provider
Manage Puchify resources declaratively alongside your existing infrastructure.
Provider: puchify/puchify
The Puchify Terraform provider lets you manage cloud resources using HashiCorp Configuration Language (HCL) — the same tooling you use for AWS, GCP, and Azure.
Installation
terraform {
required_providers {
puchify = {
source = "puchify/puchify"
version = "~> 1.0"
}
}
}
provider "puchify" {
api_key = var.puchify_api_key
}terraform initQuick start
resource "puchify_server" "web" {
name = "web-prod-01"
plan = "shared-2"
region = "us-east"
image = "ubuntu-24.04"
}
output "server_ip" {
value = puchify_server.web.ipv4
}Why Terraform?
- Declarative — describe the desired state, Terraform handles the rest
- Idempotent — applies are safe to run repeatedly
- Plan/Apply — see what changes before making them
- State management — Terraform tracks resource state automatically
- Existing infra — manage Puchify alongside AWS, GCP, Azure in one state file
Available resources
| Resource | Description |
|---|---|
puchify_server | Cloud servers |
puchify_gpu_server | GPU-accelerated servers |
puchify_data | Managed data resources |
puchify_kubernetes_cluster | Kubernetes clusters |
puchify_object_storage_bucket | S3-compatible buckets |
puchify_file_storage_share | NFS file shares |
puchify_load_balancer | HTTP/TCP load balancers |
puchify_vpn_gateway | VPN gateways |
puchify_nat_gateway | NAT gateways |
puchify_backup | Backup schedules |
puchify_webhook | Webhook subscriptions |
Data sources
| Data source | Description |
|---|---|
data.puchify_servers | List/filter existing servers |
data.puchify_regions | Available regions |
data.puchify_plans | Available server plans |
data.puchify_images | Available OS images |