1. Packages
  2. Digitalocean Provider
  3. API Docs
  4. DropletAutoscale
DigitalOcean v4.38.0 published on Wednesday, Jan 8, 2025 by Pulumi

digitalocean.DropletAutoscale

Explore with Pulumi AI

digitalocean logo
DigitalOcean v4.38.0 published on Wednesday, Jan 8, 2025 by Pulumi

    Provides a DigitalOcean Droplet Autoscale resource. This can be used to create, modify, read and delete Droplet Autoscale pools.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    import * as std from "@pulumi/std";
    
    const my_ssh_key = new digitalocean.SshKey("my-ssh-key", {
        name: "terraform-example",
        publicKey: std.file({
            input: "/Users/terraform/.ssh/id_rsa.pub",
        }).then(invoke => invoke.result),
    });
    const my_tag = new digitalocean.Tag("my-tag", {name: "terraform-example"});
    const my_autoscale_pool = new digitalocean.DropletAutoscale("my-autoscale-pool", {
        name: "terraform-example",
        config: {
            minInstances: 10,
            maxInstances: 50,
            targetCpuUtilization: 0.5,
            targetMemoryUtilization: 0.5,
            cooldownMinutes: 5,
        },
        dropletTemplate: {
            size: "c-2",
            region: "nyc3",
            image: "ubuntu-24-04-x64",
            tags: [my_tag.id],
            sshKeys: [my_ssh_key.id],
            withDropletAgent: true,
            ipv6: true,
            userData: `
    #cloud-config
    runcmd:
    - apt-get update
    - apt-get install -y stress-ng
    `,
        },
    });
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    import pulumi_std as std
    
    my_ssh_key = digitalocean.SshKey("my-ssh-key",
        name="terraform-example",
        public_key=std.file(input="/Users/terraform/.ssh/id_rsa.pub").result)
    my_tag = digitalocean.Tag("my-tag", name="terraform-example")
    my_autoscale_pool = digitalocean.DropletAutoscale("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": [my_tag.id],
            "ssh_keys": [my_ssh_key.id],
            "with_droplet_agent": True,
            "ipv6": True,
            "user_data": """
    #cloud-config
    runcmd:
    - apt-get update
    - apt-get install -y stress-ng
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		invokeFile, err := std.File(ctx, &std.FileArgs{
    			Input: "/Users/terraform/.ssh/id_rsa.pub",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = digitalocean.NewSshKey(ctx, "my-ssh-key", &digitalocean.SshKeyArgs{
    			Name:      pulumi.String("terraform-example"),
    			PublicKey: pulumi.String(invokeFile.Result),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = digitalocean.NewTag(ctx, "my-tag", &digitalocean.TagArgs{
    			Name: pulumi.String("terraform-example"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = digitalocean.NewDropletAutoscale(ctx, "my-autoscale-pool", &digitalocean.DropletAutoscaleArgs{
    			Name: pulumi.String("terraform-example"),
    			Config: &digitalocean.DropletAutoscaleConfigArgs{
    				MinInstances:            pulumi.Int(10),
    				MaxInstances:            pulumi.Int(50),
    				TargetCpuUtilization:    pulumi.Float64(0.5),
    				TargetMemoryUtilization: pulumi.Float64(0.5),
    				CooldownMinutes:         pulumi.Int(5),
    			},
    			DropletTemplate: &digitalocean.DropletAutoscaleDropletTemplateArgs{
    				Size:   pulumi.String("c-2"),
    				Region: pulumi.String("nyc3"),
    				Image:  pulumi.String("ubuntu-24-04-x64"),
    				Tags: pulumi.StringArray{
    					my_tag.ID(),
    				},
    				SshKeys: pulumi.StringArray{
    					my_ssh_key.ID(),
    				},
    				WithDropletAgent: pulumi.Bool(true),
    				Ipv6:             pulumi.Bool(true),
    				UserData: pulumi.String(`
    #cloud-config
    runcmd:
    - apt-get update
    - apt-get install -y stress-ng
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var my_ssh_key = new DigitalOcean.SshKey("my-ssh-key", new()
        {
            Name = "terraform-example",
            PublicKey = Std.File.Invoke(new()
            {
                Input = "/Users/terraform/.ssh/id_rsa.pub",
            }).Apply(invoke => invoke.Result),
        });
    
        var my_tag = new DigitalOcean.Tag("my-tag", new()
        {
            Name = "terraform-example",
        });
    
        var my_autoscale_pool = new DigitalOcean.DropletAutoscale("my-autoscale-pool", new()
        {
            Name = "terraform-example",
            Config = new DigitalOcean.Inputs.DropletAutoscaleConfigArgs
            {
                MinInstances = 10,
                MaxInstances = 50,
                TargetCpuUtilization = 0.5,
                TargetMemoryUtilization = 0.5,
                CooldownMinutes = 5,
            },
            DropletTemplate = new DigitalOcean.Inputs.DropletAutoscaleDropletTemplateArgs
            {
                Size = "c-2",
                Region = "nyc3",
                Image = "ubuntu-24-04-x64",
                Tags = new[]
                {
                    my_tag.Id,
                },
                SshKeys = new[]
                {
                    my_ssh_key.Id,
                },
                WithDropletAgent = true,
                Ipv6 = true,
                UserData = @"
    #cloud-config
    runcmd:
    - apt-get update
    - apt-get install -y stress-ng
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.SshKey;
    import com.pulumi.digitalocean.SshKeyArgs;
    import com.pulumi.digitalocean.Tag;
    import com.pulumi.digitalocean.TagArgs;
    import com.pulumi.digitalocean.DropletAutoscale;
    import com.pulumi.digitalocean.DropletAutoscaleArgs;
    import com.pulumi.digitalocean.inputs.DropletAutoscaleConfigArgs;
    import com.pulumi.digitalocean.inputs.DropletAutoscaleDropletTemplateArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var my_ssh_key = new SshKey("my-ssh-key", SshKeyArgs.builder()
                .name("terraform-example")
                .publicKey(StdFunctions.file(FileArgs.builder()
                    .input("/Users/terraform/.ssh/id_rsa.pub")
                    .build()).result())
                .build());
    
            var my_tag = new Tag("my-tag", TagArgs.builder()
                .name("terraform-example")
                .build());
    
            var my_autoscale_pool = new DropletAutoscale("my-autoscale-pool", DropletAutoscaleArgs.builder()
                .name("terraform-example")
                .config(DropletAutoscaleConfigArgs.builder()
                    .minInstances(10)
                    .maxInstances(50)
                    .targetCpuUtilization(0.5)
                    .targetMemoryUtilization(0.5)
                    .cooldownMinutes(5)
                    .build())
                .dropletTemplate(DropletAutoscaleDropletTemplateArgs.builder()
                    .size("c-2")
                    .region("nyc3")
                    .image("ubuntu-24-04-x64")
                    .tags(my_tag.id())
                    .sshKeys(my_ssh_key.id())
                    .withDropletAgent(true)
                    .ipv6(true)
                    .userData("""
    
    #cloud-config
    runcmd:
    - apt-get update
    - apt-get install -y stress-ng
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      my-ssh-key:
        type: digitalocean:SshKey
        properties:
          name: terraform-example
          publicKey:
            fn::invoke:
              function: std:file
              arguments:
                input: /Users/terraform/.ssh/id_rsa.pub
              return: result
      my-tag:
        type: digitalocean:Tag
        properties:
          name: terraform-example
      my-autoscale-pool:
        type: digitalocean:DropletAutoscale
        properties:
          name: terraform-example
          config:
            minInstances: 10
            maxInstances: 50
            targetCpuUtilization: 0.5
            targetMemoryUtilization: 0.5
            cooldownMinutes: 5
          dropletTemplate:
            size: c-2
            region: nyc3
            image: ubuntu-24-04-x64
            tags:
              - ${["my-tag"].id}
            sshKeys:
              - ${["my-ssh-key"].id}
            withDropletAgent: true
            ipv6: true
            userData: |2
              #cloud-config
              runcmd:
              - apt-get update
              - apt-get install -y stress-ng
    

    Create DropletAutoscale Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DropletAutoscale(name: string, args: DropletAutoscaleArgs, opts?: CustomResourceOptions);
    @overload
    def DropletAutoscale(resource_name: str,
                         args: DropletAutoscaleArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def DropletAutoscale(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         config: Optional[DropletAutoscaleConfigArgs] = None,
                         droplet_template: Optional[DropletAutoscaleDropletTemplateArgs] = None,
                         name: Optional[str] = None)
    func NewDropletAutoscale(ctx *Context, name string, args DropletAutoscaleArgs, opts ...ResourceOption) (*DropletAutoscale, error)
    public DropletAutoscale(string name, DropletAutoscaleArgs args, CustomResourceOptions? opts = null)
    public DropletAutoscale(String name, DropletAutoscaleArgs args)
    public DropletAutoscale(String name, DropletAutoscaleArgs args, CustomResourceOptions options)
    
    type: digitalocean:DropletAutoscale
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DropletAutoscaleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DropletAutoscaleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DropletAutoscaleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DropletAutoscaleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DropletAutoscaleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var dropletAutoscaleResource = new DigitalOcean.DropletAutoscale("dropletAutoscaleResource", new()
    {
        Config = new DigitalOcean.Inputs.DropletAutoscaleConfigArgs
        {
            CooldownMinutes = 0,
            MaxInstances = 0,
            MinInstances = 0,
            TargetCpuUtilization = 0,
            TargetMemoryUtilization = 0,
            TargetNumberInstances = 0,
        },
        DropletTemplate = new DigitalOcean.Inputs.DropletAutoscaleDropletTemplateArgs
        {
            Image = "string",
            Region = "string",
            Size = "string",
            SshKeys = new[]
            {
                "string",
            },
            Ipv6 = false,
            ProjectId = "string",
            Tags = new[]
            {
                "string",
            },
            UserData = "string",
            VpcUuid = "string",
            WithDropletAgent = false,
        },
        Name = "string",
    });
    
    example, err := digitalocean.NewDropletAutoscale(ctx, "dropletAutoscaleResource", &digitalocean.DropletAutoscaleArgs{
    	Config: &digitalocean.DropletAutoscaleConfigArgs{
    		CooldownMinutes:         pulumi.Int(0),
    		MaxInstances:            pulumi.Int(0),
    		MinInstances:            pulumi.Int(0),
    		TargetCpuUtilization:    pulumi.Float64(0),
    		TargetMemoryUtilization: pulumi.Float64(0),
    		TargetNumberInstances:   pulumi.Int(0),
    	},
    	DropletTemplate: &digitalocean.DropletAutoscaleDropletTemplateArgs{
    		Image:  pulumi.String("string"),
    		Region: pulumi.String("string"),
    		Size:   pulumi.String("string"),
    		SshKeys: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Ipv6:      pulumi.Bool(false),
    		ProjectId: pulumi.String("string"),
    		Tags: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		UserData:         pulumi.String("string"),
    		VpcUuid:          pulumi.String("string"),
    		WithDropletAgent: pulumi.Bool(false),
    	},
    	Name: pulumi.String("string"),
    })
    
    var dropletAutoscaleResource = new DropletAutoscale("dropletAutoscaleResource", DropletAutoscaleArgs.builder()
        .config(DropletAutoscaleConfigArgs.builder()
            .cooldownMinutes(0)
            .maxInstances(0)
            .minInstances(0)
            .targetCpuUtilization(0)
            .targetMemoryUtilization(0)
            .targetNumberInstances(0)
            .build())
        .dropletTemplate(DropletAutoscaleDropletTemplateArgs.builder()
            .image("string")
            .region("string")
            .size("string")
            .sshKeys("string")
            .ipv6(false)
            .projectId("string")
            .tags("string")
            .userData("string")
            .vpcUuid("string")
            .withDropletAgent(false)
            .build())
        .name("string")
        .build());
    
    droplet_autoscale_resource = digitalocean.DropletAutoscale("dropletAutoscaleResource",
        config={
            "cooldown_minutes": 0,
            "max_instances": 0,
            "min_instances": 0,
            "target_cpu_utilization": 0,
            "target_memory_utilization": 0,
            "target_number_instances": 0,
        },
        droplet_template={
            "image": "string",
            "region": "string",
            "size": "string",
            "ssh_keys": ["string"],
            "ipv6": False,
            "project_id": "string",
            "tags": ["string"],
            "user_data": "string",
            "vpc_uuid": "string",
            "with_droplet_agent": False,
        },
        name="string")
    
    const dropletAutoscaleResource = new digitalocean.DropletAutoscale("dropletAutoscaleResource", {
        config: {
            cooldownMinutes: 0,
            maxInstances: 0,
            minInstances: 0,
            targetCpuUtilization: 0,
            targetMemoryUtilization: 0,
            targetNumberInstances: 0,
        },
        dropletTemplate: {
            image: "string",
            region: "string",
            size: "string",
            sshKeys: ["string"],
            ipv6: false,
            projectId: "string",
            tags: ["string"],
            userData: "string",
            vpcUuid: "string",
            withDropletAgent: false,
        },
        name: "string",
    });
    
    type: digitalocean:DropletAutoscale
    properties:
        config:
            cooldownMinutes: 0
            maxInstances: 0
            minInstances: 0
            targetCpuUtilization: 0
            targetMemoryUtilization: 0
            targetNumberInstances: 0
        dropletTemplate:
            image: string
            ipv6: false
            projectId: string
            region: string
            size: string
            sshKeys:
                - string
            tags:
                - string
            userData: string
            vpcUuid: string
            withDropletAgent: false
        name: string
    

    DropletAutoscale Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The DropletAutoscale resource accepts the following input properties:

    Config Pulumi.DigitalOcean.Inputs.DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    DropletTemplate Pulumi.DigitalOcean.Inputs.DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    Name string
    The name of the Droplet Autoscale pool.
    Config DropletAutoscaleConfigArgs
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    DropletTemplate DropletAutoscaleDropletTemplateArgs
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    Name string
    The name of the Droplet Autoscale pool.
    config DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    dropletTemplate DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name String
    The name of the Droplet Autoscale pool.
    config DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    dropletTemplate DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name string
    The name of the Droplet Autoscale pool.
    config DropletAutoscaleConfigArgs
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    droplet_template DropletAutoscaleDropletTemplateArgs
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name str
    The name of the Droplet Autoscale pool.
    config Property Map
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    dropletTemplate Property Map
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name String
    The name of the Droplet Autoscale pool.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DropletAutoscale resource produces the following output properties:

    CreatedAt string
    Created at timestamp for the Droplet Autoscale pool.
    CurrentUtilizations List<Pulumi.DigitalOcean.Outputs.DropletAutoscaleCurrentUtilization>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    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.
    UpdatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    CreatedAt string
    Created at timestamp for the Droplet Autoscale pool.
    CurrentUtilizations []DropletAutoscaleCurrentUtilization
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    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.
    UpdatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    createdAt String
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations List<DropletAutoscaleCurrentUtilization>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    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.
    updatedAt String
    Updated at timestamp for the Droplet Autoscale pool.
    createdAt string
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations DropletAutoscaleCurrentUtilization[]
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    id string
    The provider-assigned unique ID for this managed resource.
    status string
    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.
    updatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    created_at str
    Created at timestamp for the Droplet Autoscale pool.
    current_utilizations Sequence[DropletAutoscaleCurrentUtilization]
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    id str
    The provider-assigned unique ID for this managed resource.
    status str
    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.
    updated_at str
    Updated at timestamp for the Droplet Autoscale pool.
    createdAt String
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations List<Property Map>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    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.
    updatedAt String
    Updated at timestamp for the Droplet Autoscale pool.

    Look up Existing DropletAutoscale Resource

    Get an existing DropletAutoscale resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DropletAutoscaleState, opts?: CustomResourceOptions): DropletAutoscale
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            config: Optional[DropletAutoscaleConfigArgs] = None,
            created_at: Optional[str] = None,
            current_utilizations: Optional[Sequence[DropletAutoscaleCurrentUtilizationArgs]] = None,
            droplet_template: Optional[DropletAutoscaleDropletTemplateArgs] = None,
            name: Optional[str] = None,
            status: Optional[str] = None,
            updated_at: Optional[str] = None) -> DropletAutoscale
    func GetDropletAutoscale(ctx *Context, name string, id IDInput, state *DropletAutoscaleState, opts ...ResourceOption) (*DropletAutoscale, error)
    public static DropletAutoscale Get(string name, Input<string> id, DropletAutoscaleState? state, CustomResourceOptions? opts = null)
    public static DropletAutoscale get(String name, Output<String> id, DropletAutoscaleState state, CustomResourceOptions options)
    resources:  _:    type: digitalocean:DropletAutoscale    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Config Pulumi.DigitalOcean.Inputs.DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    CreatedAt string
    Created at timestamp for the Droplet Autoscale pool.
    CurrentUtilizations List<Pulumi.DigitalOcean.Inputs.DropletAutoscaleCurrentUtilization>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    DropletTemplate Pulumi.DigitalOcean.Inputs.DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    Name string
    The name of the Droplet Autoscale pool.
    Status string
    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.
    UpdatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    Config DropletAutoscaleConfigArgs
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    CreatedAt string
    Created at timestamp for the Droplet Autoscale pool.
    CurrentUtilizations []DropletAutoscaleCurrentUtilizationArgs
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    DropletTemplate DropletAutoscaleDropletTemplateArgs
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    Name string
    The name of the Droplet Autoscale pool.
    Status string
    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.
    UpdatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    config DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    createdAt String
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations List<DropletAutoscaleCurrentUtilization>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    dropletTemplate DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name String
    The name of the Droplet Autoscale pool.
    status String
    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.
    updatedAt String
    Updated at timestamp for the Droplet Autoscale pool.
    config DropletAutoscaleConfig
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    createdAt string
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations DropletAutoscaleCurrentUtilization[]
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    dropletTemplate DropletAutoscaleDropletTemplate
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name string
    The name of the Droplet Autoscale pool.
    status string
    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.
    updatedAt string
    Updated at timestamp for the Droplet Autoscale pool.
    config DropletAutoscaleConfigArgs
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    created_at str
    Created at timestamp for the Droplet Autoscale pool.
    current_utilizations Sequence[DropletAutoscaleCurrentUtilizationArgs]
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    droplet_template DropletAutoscaleDropletTemplateArgs
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name str
    The name of the Droplet Autoscale pool.
    status str
    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.
    updated_at str
    Updated at timestamp for the Droplet Autoscale pool.
    config Property Map
    The configuration parameters for Droplet Autoscale pool, the supported arguments are documented below.
    createdAt String
    Created at timestamp for the Droplet Autoscale pool.
    currentUtilizations List<Property Map>
    The current average resource utilization of the Droplet Autoscale pool, this attribute further embeds memory and cpu attributes to respectively report utilization data.
    dropletTemplate Property Map
    The droplet template parameters for Droplet Autoscale pool, the supported arguments are documented below.
    name String
    The name of the Droplet Autoscale pool.
    status String
    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.
    updatedAt String
    Updated at timestamp for the Droplet Autoscale pool.

    Supporting Types

    DropletAutoscaleConfig, DropletAutoscaleConfigArgs

    CooldownMinutes int
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    MaxInstances int
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    MinInstances int
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    TargetCpuUtilization double
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    TargetMemoryUtilization double
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    TargetNumberInstances int
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
    CooldownMinutes int
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    MaxInstances int
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    MinInstances int
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    TargetCpuUtilization float64
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    TargetMemoryUtilization float64
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    TargetNumberInstances int
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
    cooldownMinutes Integer
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    maxInstances Integer
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    minInstances Integer
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    targetCpuUtilization Double
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetMemoryUtilization Double
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetNumberInstances Integer
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
    cooldownMinutes number
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    maxInstances number
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    minInstances number
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    targetCpuUtilization number
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetMemoryUtilization number
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetNumberInstances number
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
    cooldown_minutes int
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    max_instances int
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    min_instances int
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    target_cpu_utilization float
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    target_memory_utilization float
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    target_number_instances int
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.
    cooldownMinutes Number
    The cooldown duration between scaling events for the Droplet Autoscale pool.
    maxInstances Number
    The maximum number of instances to maintain in the Droplet Autoscale pool.
    minInstances Number
    The minimum number of instances to maintain in the Droplet Autoscale pool.
    targetCpuUtilization Number
    The target average CPU load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetMemoryUtilization Number
    The target average Memory load (in range [0, 1]) to maintain in the Droplet Autoscale pool.
    targetNumberInstances Number
    The static number of instances to maintain in the pool Droplet Autoscale pool. This argument cannot be used with any other config options.

    DropletAutoscaleCurrentUtilization, DropletAutoscaleCurrentUtilizationArgs

    Cpu double
    Average CPU utilization
    Memory double
    Average Memory utilization
    Cpu float64
    Average CPU utilization
    Memory float64
    Average Memory utilization
    cpu Double
    Average CPU utilization
    memory Double
    Average Memory utilization
    cpu number
    Average CPU utilization
    memory number
    Average Memory utilization
    cpu float
    Average CPU utilization
    memory float
    Average Memory utilization
    cpu Number
    Average CPU utilization
    memory Number
    Average Memory utilization

    DropletAutoscaleDropletTemplate, DropletAutoscaleDropletTemplateArgs

    Image string
    Image slug of the Droplet Autoscale pool underlying resource(s).
    Region string
    Region slug of the Droplet Autoscale pool underlying resource(s).
    Size string
    Size slug of the Droplet Autoscale pool underlying resource(s).
    SshKeys List<string>
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    Ipv6 bool
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    ProjectId string
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    Tags List<string>
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    UserData string
    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.
    VpcUuid string
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    WithDropletAgent bool
    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.
    Image string
    Image slug of the Droplet Autoscale pool underlying resource(s).
    Region string
    Region slug of the Droplet Autoscale pool underlying resource(s).
    Size string
    Size slug of the Droplet Autoscale pool underlying resource(s).
    SshKeys []string
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    Ipv6 bool
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    ProjectId string
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    Tags []string
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    UserData string
    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.
    VpcUuid string
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    WithDropletAgent bool
    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.
    image String
    Image slug of the Droplet Autoscale pool underlying resource(s).
    region String
    Region slug of the Droplet Autoscale pool underlying resource(s).
    size String
    Size slug of the Droplet Autoscale pool underlying resource(s).
    sshKeys List<String>
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    ipv6 Boolean
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    projectId String
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    tags List<String>
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    userData String
    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.
    vpcUuid String
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    withDropletAgent Boolean
    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.
    image string
    Image slug of the Droplet Autoscale pool underlying resource(s).
    region string
    Region slug of the Droplet Autoscale pool underlying resource(s).
    size string
    Size slug of the Droplet Autoscale pool underlying resource(s).
    sshKeys string[]
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    ipv6 boolean
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    projectId string
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    tags string[]
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    userData string
    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.
    vpcUuid string
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    withDropletAgent boolean
    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.
    image str
    Image slug of the Droplet Autoscale pool underlying resource(s).
    region str
    Region slug of the Droplet Autoscale pool underlying resource(s).
    size str
    Size slug of the Droplet Autoscale pool underlying resource(s).
    ssh_keys Sequence[str]
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    ipv6 bool
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    project_id str
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    tags Sequence[str]
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    user_data str
    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.
    vpc_uuid str
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    with_droplet_agent bool
    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.
    image String
    Image slug of the Droplet Autoscale pool underlying resource(s).
    region String
    Region slug of the Droplet Autoscale pool underlying resource(s).
    size String
    Size slug of the Droplet Autoscale pool underlying resource(s).
    sshKeys List<String>
    SSH fingerprints to add to the Droplet Autoscale pool underlying resource(s).
    ipv6 Boolean
    Boolean flag to enable IPv6 networking on the Droplet Autoscale pool underlying resource(s).
    projectId String
    Project UUID to create the Droplet Autoscale pool underlying resource(s).
    tags List<String>
    List of tags to add to the Droplet Autoscale pool underlying resource(s).
    userData String
    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.
    vpcUuid String
    VPC UUID to create the Droplet Autoscale pool underlying resource(s). If not provided, this is inferred from the specified region (default VPC).
    withDropletAgent Boolean
    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.

    Import

    Droplet Autoscale pools can be imported using their id, e.g.

    $ pulumi import digitalocean:index/dropletAutoscale:DropletAutoscale my-autoscale-pool 38e66834-d741-47ec-88e7-c70cbdcz0445
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    DigitalOcean pulumi/pulumi-digitalocean
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the digitalocean Terraform Provider.
    digitalocean logo
    DigitalOcean v4.38.0 published on Wednesday, Jan 8, 2025 by Pulumi