digitalocean_droplet_autoscale
Generated on 14 May 2026
from Terraform version
v2.86.0
Provides a DigitalOcean Droplet Autoscale resource. This can be used to create, modify, read and delete Droplet Autoscale pools.
Example Usage
resource "digitalocean_ssh_key" "my-ssh-key" {
name = "terraform-example"
public_key = file("/Users/terraform/.ssh/id_rsa.pub")
}
resource "digitalocean_tag" "my-tag" {
name = "terraform-example"
}
resource "digitalocean_droplet_autoscale" "my-autoscale-pool" {
name = "terraform-example"
config {
min_instances = 10
max_instances = 50
target_cpu_utilization = 0.5
target_memory_utilization = 0.5
cooldown_minutes = 5
}
droplet_template {
size = "c-2"
region = "nyc3"
image = "ubuntu-24-04-x64"
tags = [digitalocean_tag.my-tag.id]
ssh_keys = [digitalocean_ssh_key.my-ssh-key.id]
with_droplet_agent = true
ipv6 = true
user_data = "\n#cloud-config\nruncmd:\n- apt-get update\n- apt-get install -y stress-ng\n"
public_networking = false
}
}Argument Reference
The following arguments are supported:
name- (Required) The name of the Droplet Autoscale pool.config- (Required) The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.droplet_template- (Required) The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
config supports the following:
min_instances- The minimum number of instances to maintain in the Droplet Autoscale pool.max_instances- The maximum number of instances to maintain in the Droplet Autoscale pool.target_cpu_utilization- The target average CPU load (in range[0, 1]) to maintain in the Droplet Autoscale pool.target_memory_utilization- The target average Memory load (in range[0, 1]) to maintain in the Droplet Autoscale pool.cooldown_minutes- The cooldown duration between scaling events for the Droplet Autoscale pool.target_number_instances- The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
droplet_template supports the following:
size- (Required) Size slug of the Droplet Autoscale pool underlying resource(s).region- (Required) Region slug of the Droplet Autoscale pool underlying resource(s).image- (Required) Image slug of the Droplet Autoscale pool underlying resource(s).tags- List of tags to add to the Droplet Autoscale pool underlying resource(s).ssh_keys- (Required) SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).vpc_uuid- VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specifiedregion(default VPC).with_droplet_agent- Boolean flag to enable metric agent on the Droplet Autoscale pool underlying resource(s). The metric agent enables collecting resource utilization metrics, which allows making resource based scaling decisions.project_id- Project UUID to create the Droplet Autoscale pool underlying resource(s).ipv6- Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).user_data- Custom user data that can be added to the Droplet Autoscale pool underlying resource(s). This can be a cloud init script that user may configure to setup their application workload.public_networking(Optional) - A boolean indicating whether to enables public networking for the Droplet or not. By default, this is always enabled on new droplets. But, by explicitly setting it to false, you can create a droplet with public networking entirely disabled.
Attributes Reference
The following attributes are exported:
id- The ID of the Droplet Autoscale pool.current_utilization- The current average resource utilization of the Droplet Autoscale pool, this attribute further embedsmemoryandcpuattributes to respectively report utilization data.status- Droplet Autoscale pool health status; this reflects if the pool is currently healthy and ready to accept traffic, or in an error state and needs user intervention.created_at- Created at timestamp for the Droplet Autoscale pool.updated_at- Updated at timestamp for the Droplet Autoscale pool.
Import
Droplet Autoscale pools can be imported using their id, e.g.
terraform import digitalocean_droplet_autoscale.my-autoscale-pool 38e66834-d741-47ec-88e7-c70cbdcz0445