1. Registry
  2. Packages
  3. DigitalOcean Provider
  4. API Docs
  5. Microvm
Viewing docs for DigitalOcean v4.84.1
published on Tuesday, Oct 13, 2026 by Pulumi
digitalocean logo
Viewing docs for DigitalOcean v4.84.1
published on Tuesday, Oct 13, 2026 by Pulumi

    Provides a DigitalOcean MicroVM resource. MicroVMs are lightweight sandboxes that run an OCI container image, pause when idle, and resume on demand.

    Note: MicroVMs are in public preview.

    Example Usage

    Create a MicroVM from an OCI image:

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const web = new digitalocean.Microvm("web", {
        name: "example-microvm",
        region: "nyc3",
        httpPort: 8080,
        size: {
            cpu: 2,
            memory: 4096,
        },
        source: {
            ociRef: "docker.io/library/nginx:latest",
        },
        autoPause: {
            enabled: true,
            idleTimeout: "5m",
        },
        environment: {
            LOG_LEVEL: "info",
        },
        tags: ["web"],
    });
    export const url = web.urls[0].hostname;
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    web = digitalocean.Microvm("web",
        name="example-microvm",
        region="nyc3",
        http_port=8080,
        size={
            "cpu": 2,
            "memory": 4096,
        },
        source={
            "oci_ref": "docker.io/library/nginx:latest",
        },
        auto_pause={
            "enabled": True,
            "idle_timeout": "5m",
        },
        environment={
            "LOG_LEVEL": "info",
        },
        tags=["web"])
    pulumi.export("url", web.urls[0].hostname)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		web, err := digitalocean.NewMicrovm(ctx, "web", &digitalocean.MicrovmArgs{
    			Name:     pulumi.String("example-microvm"),
    			Region:   pulumi.String("nyc3"),
    			HttpPort: pulumi.Int(8080),
    			Size: &digitalocean.MicrovmSizeArgs{
    				Cpu:    pulumi.Int(2),
    				Memory: pulumi.Int(4096),
    			},
    			Source: &digitalocean.MicrovmSourceArgs{
    				OciRef: pulumi.String("docker.io/library/nginx:latest"),
    			},
    			AutoPause: &digitalocean.MicrovmAutoPauseArgs{
    				Enabled:     pulumi.Bool(true),
    				IdleTimeout: pulumi.String("5m"),
    			},
    			Environment: pulumi.StringMap{
    				"LOG_LEVEL": pulumi.String("info"),
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("web"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("url", web.Urls.ApplyT(func(urls []digitalocean.MicrovmUrl) (*string, error) {
    			return urls[0].Hostname, nil
    		}).(pulumi.StringPtrOutput))
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var web = new DigitalOcean.Microvm("web", new()
        {
            Name = "example-microvm",
            Region = "nyc3",
            HttpPort = 8080,
            Size = new DigitalOcean.Inputs.MicrovmSizeArgs
            {
                Cpu = 2,
                Memory = 4096,
            },
            Source = new DigitalOcean.Inputs.MicrovmSourceArgs
            {
                OciRef = "docker.io/library/nginx:latest",
            },
            AutoPause = new DigitalOcean.Inputs.MicrovmAutoPauseArgs
            {
                Enabled = true,
                IdleTimeout = "5m",
            },
            Environment = 
            {
                { "LOG_LEVEL", "info" },
            },
            Tags = new[]
            {
                "web",
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["url"] = web.Urls.Apply(urls => urls[0].Hostname),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.Microvm;
    import com.pulumi.digitalocean.MicrovmArgs;
    import com.pulumi.digitalocean.inputs.MicrovmSizeArgs;
    import com.pulumi.digitalocean.inputs.MicrovmSourceArgs;
    import com.pulumi.digitalocean.inputs.MicrovmAutoPauseArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 web = new Microvm("web", MicrovmArgs.builder()
                .name("example-microvm")
                .region("nyc3")
                .httpPort(8080)
                .size(MicrovmSizeArgs.builder()
                    .cpu(2)
                    .memory(4096)
                    .build())
                .source(MicrovmSourceArgs.builder()
                    .ociRef("docker.io/library/nginx:latest")
                    .build())
                .autoPause(MicrovmAutoPauseArgs.builder()
                    .enabled(true)
                    .idleTimeout("5m")
                    .build())
                .environment(Map.of("LOG_LEVEL", "info"))
                .tags("web")
                .build());
    
            ctx.export("url", web.urls().applyValue(_urls -> _urls.get(0).hostname()));
        }
    }
    
    resources:
      web:
        type: digitalocean:Microvm
        properties:
          name: example-microvm
          region: nyc3
          httpPort: 8080
          size:
            cpu: 2
            memory: 4096
          source:
            ociRef: docker.io/library/nginx:latest
          autoPause:
            enabled: true
            idleTimeout: 5m
          environment:
            LOG_LEVEL: info
          tags:
            - web
    outputs:
      url: ${web.urls[0].hostname}
    
    terraform {
      required_providers {
        digitalocean = {
          source = "pulumi/digitalocean"
        }
      }
    }
    
    resource "digitalocean_microvm" "web" {
      lifecycle {
        create_before_destroy = true
      }
      name      = "example-microvm"
      region    = "nyc3"
      http_port = 8080
      size = {
        cpu    = 2
        memory = 4096
      }
      source = {
        oci_ref = "docker.io/library/nginx:latest"
      }
      auto_pause = {
        enabled      = true
        idle_timeout = "5m"
      }
      environment = {
        "LOG_LEVEL" = "info"
      }
      tags = ["web"]
    }
    output "url" {
      value = digitalocean_microvm.web.urls[0].hostname
    }
    

    Pause and Resume

    Set state to paused to pause a running MicroVM, and back to running to resume it. This is the only change that is applied in place; every other argument forces a new MicroVM.

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const worker = new digitalocean.Microvm("worker", {
        name: "example-worker",
        region: "nyc3",
        state: "paused",
        size: {
            cpu: 1,
            memory: 2048,
        },
        source: {
            ociRef: "docker.io/library/alpine:latest",
        },
    });
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    worker = digitalocean.Microvm("worker",
        name="example-worker",
        region="nyc3",
        state="paused",
        size={
            "cpu": 1,
            "memory": 2048,
        },
        source={
            "oci_ref": "docker.io/library/alpine:latest",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := digitalocean.NewMicrovm(ctx, "worker", &digitalocean.MicrovmArgs{
    			Name:   pulumi.String("example-worker"),
    			Region: pulumi.String("nyc3"),
    			State:  pulumi.String("paused"),
    			Size: &digitalocean.MicrovmSizeArgs{
    				Cpu:    pulumi.Int(1),
    				Memory: pulumi.Int(2048),
    			},
    			Source: &digitalocean.MicrovmSourceArgs{
    				OciRef: pulumi.String("docker.io/library/alpine:latest"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var worker = new DigitalOcean.Microvm("worker", new()
        {
            Name = "example-worker",
            Region = "nyc3",
            State = "paused",
            Size = new DigitalOcean.Inputs.MicrovmSizeArgs
            {
                Cpu = 1,
                Memory = 2048,
            },
            Source = new DigitalOcean.Inputs.MicrovmSourceArgs
            {
                OciRef = "docker.io/library/alpine:latest",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.Microvm;
    import com.pulumi.digitalocean.MicrovmArgs;
    import com.pulumi.digitalocean.inputs.MicrovmSizeArgs;
    import com.pulumi.digitalocean.inputs.MicrovmSourceArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 worker = new Microvm("worker", MicrovmArgs.builder()
                .name("example-worker")
                .region("nyc3")
                .state("paused")
                .size(MicrovmSizeArgs.builder()
                    .cpu(1)
                    .memory(2048)
                    .build())
                .source(MicrovmSourceArgs.builder()
                    .ociRef("docker.io/library/alpine:latest")
                    .build())
                .build());
    
        }
    }
    
    resources:
      worker:
        type: digitalocean:Microvm
        properties:
          name: example-worker
          region: nyc3
          state: paused
          size:
            cpu: 1
            memory: 2048
          source:
            ociRef: docker.io/library/alpine:latest
    
    terraform {
      required_providers {
        digitalocean = {
          source = "pulumi/digitalocean"
        }
      }
    }
    
    resource "digitalocean_microvm" "worker" {
      lifecycle {
        create_before_destroy = true
      }
      name   = "example-worker"
      region = "nyc3"
      state  = "paused"
      size = {
        cpu    = 1
        memory = 2048
      }
      source = {
        oci_ref = "docker.io/library/alpine:latest"
      }
    }
    

    Restore from a Checkpoint

    When source.checkpoint_id is set, region and size may be omitted and are inherited from the checkpoint.

    import * as pulumi from "@pulumi/pulumi";
    import * as digitalocean from "@pulumi/digitalocean";
    
    const snapshot = new digitalocean.MicrovmCheckpoint("snapshot", {
        microvmId: web.id,
        name: "web-checkpoint",
    });
    const restored = new digitalocean.Microvm("restored", {
        name: "example-restored",
        source: {
            checkpointId: snapshot.id,
        },
    });
    
    import pulumi
    import pulumi_digitalocean as digitalocean
    
    snapshot = digitalocean.MicrovmCheckpoint("snapshot",
        microvm_id=web["id"],
        name="web-checkpoint")
    restored = digitalocean.Microvm("restored",
        name="example-restored",
        source={
            "checkpoint_id": snapshot.id,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		snapshot, err := digitalocean.NewMicrovmCheckpoint(ctx, "snapshot", &digitalocean.MicrovmCheckpointArgs{
    			MicrovmId: pulumi.Any(web.Id),
    			Name:      pulumi.String("web-checkpoint"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = digitalocean.NewMicrovm(ctx, "restored", &digitalocean.MicrovmArgs{
    			Name: pulumi.String("example-restored"),
    			Source: &digitalocean.MicrovmSourceArgs{
    				CheckpointId: snapshot.ID().ToIDOutput().ToStringOutput(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using DigitalOcean = Pulumi.DigitalOcean;
    
    return await Deployment.RunAsync(() => 
    {
        var snapshot = new DigitalOcean.MicrovmCheckpoint("snapshot", new()
        {
            MicrovmId = web.Id,
            Name = "web-checkpoint",
        });
    
        var restored = new DigitalOcean.Microvm("restored", new()
        {
            Name = "example-restored",
            Source = new DigitalOcean.Inputs.MicrovmSourceArgs
            {
                CheckpointId = snapshot.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.digitalocean.MicrovmCheckpoint;
    import com.pulumi.digitalocean.MicrovmCheckpointArgs;
    import com.pulumi.digitalocean.Microvm;
    import com.pulumi.digitalocean.MicrovmArgs;
    import com.pulumi.digitalocean.inputs.MicrovmSourceArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 snapshot = new MicrovmCheckpoint("snapshot", MicrovmCheckpointArgs.builder()
                .microvmId(web.get("id"))
                .name("web-checkpoint")
                .build());
    
            var restored = new Microvm("restored", MicrovmArgs.builder()
                .name("example-restored")
                .source(MicrovmSourceArgs.builder()
                    .checkpointId(snapshot.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      snapshot:
        type: digitalocean:MicrovmCheckpoint
        properties:
          microvmId: ${web.id}
          name: web-checkpoint
      restored:
        type: digitalocean:Microvm
        properties:
          name: example-restored
          source:
            checkpointId: ${snapshot.id}
    
    terraform {
      required_providers {
        digitalocean = {
          source = "pulumi/digitalocean"
        }
      }
    }
    
    resource "digitalocean_microvm_checkpoint" "snapshot" {
      lifecycle {
        create_before_destroy = true
      }
      microvm_id = web.id
      name       = "web-checkpoint"
    }
    resource "digitalocean_microvm" "restored" {
      lifecycle {
        create_before_destroy = true
      }
      name = "example-restored"
      source = {
        checkpoint_id = digitalocean_microvm_checkpoint.snapshot.id
      }
    }
    

    Create Microvm Resource

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

    Constructor syntax

    new Microvm(name: string, args: MicrovmArgs, opts?: CustomResourceOptions);
    @overload
    def Microvm(resource_name: str,
                args: MicrovmArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Microvm(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                source: Optional[MicrovmSourceArgs] = None,
                networking: Optional[str] = None,
                environment: Optional[Mapping[str, str]] = None,
                http_port: Optional[int] = None,
                http_protocol: Optional[str] = None,
                name: Optional[str] = None,
                auto_pause: Optional[MicrovmAutoPauseArgs] = None,
                ports: Optional[Sequence[int]] = None,
                region: Optional[str] = None,
                size: Optional[MicrovmSizeArgs] = None,
                auto_resume: Optional[bool] = None,
                state: Optional[str] = None,
                tags: Optional[Sequence[str]] = None,
                vpc_uuid: Optional[str] = None)
    func NewMicrovm(ctx *Context, name string, args MicrovmArgs, opts ...ResourceOption) (*Microvm, error)
    public Microvm(string name, MicrovmArgs args, CustomResourceOptions? opts = null)
    public Microvm(String name, MicrovmArgs args)
    public Microvm(String name, MicrovmArgs args, CustomResourceOptions options)
    
    type: digitalocean:Microvm
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "digitalocean_microvm" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args MicrovmArgs
    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 MicrovmArgs
    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 MicrovmArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args MicrovmArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args MicrovmArgs
    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 microvmResource = new DigitalOcean.Microvm("microvmResource", new()
    {
        Source = new DigitalOcean.Inputs.MicrovmSourceArgs
        {
            CheckpointId = "string",
            OciRef = "string",
        },
        Networking = "string",
        Environment = 
        {
            { "string", "string" },
        },
        HttpPort = 0,
        HttpProtocol = "string",
        Name = "string",
        AutoPause = new DigitalOcean.Inputs.MicrovmAutoPauseArgs
        {
            Enabled = false,
            IdleTimeout = "string",
        },
        Ports = new[]
        {
            0,
        },
        Region = "string",
        Size = new DigitalOcean.Inputs.MicrovmSizeArgs
        {
            Cpu = 0,
            Memory = 0,
            Disk = 0,
        },
        AutoResume = false,
        State = "string",
        Tags = new[]
        {
            "string",
        },
        VpcUuid = "string",
    });
    
    example, err := digitalocean.NewMicrovm(ctx, "microvmResource", &digitalocean.MicrovmArgs{
    	Source: &digitalocean.MicrovmSourceArgs{
    		CheckpointId: pulumi.String("string"),
    		OciRef:       pulumi.String("string"),
    	},
    	Networking: pulumi.String("string"),
    	Environment: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	HttpPort:     pulumi.Int(0),
    	HttpProtocol: pulumi.String("string"),
    	Name:         pulumi.String("string"),
    	AutoPause: &digitalocean.MicrovmAutoPauseArgs{
    		Enabled:     pulumi.Bool(false),
    		IdleTimeout: pulumi.String("string"),
    	},
    	Ports: pulumi.IntArray{
    		pulumi.Int(0),
    	},
    	Region: pulumi.String("string"),
    	Size: &digitalocean.MicrovmSizeArgs{
    		Cpu:    pulumi.Int(0),
    		Memory: pulumi.Int(0),
    		Disk:   pulumi.Int(0),
    	},
    	AutoResume: pulumi.Bool(false),
    	State:      pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	VpcUuid: pulumi.String("string"),
    })
    
    resource "digitalocean_microvm" "microvmResource" {
      lifecycle {
        create_before_destroy = true
      }
      source = {
        checkpoint_id = "string"
        oci_ref       = "string"
      }
      networking = "string"
      environment = {
        "string" = "string"
      }
      http_port     = 0
      http_protocol = "string"
      name          = "string"
      auto_pause = {
        enabled      = false
        idle_timeout = "string"
      }
      ports  = [0]
      region = "string"
      size = {
        cpu    = 0
        memory = 0
        disk   = 0
      }
      auto_resume = false
      state       = "string"
      tags        = ["string"]
      vpc_uuid    = "string"
    }
    
    var microvmResource = new Microvm("microvmResource", MicrovmArgs.builder()
        .source(MicrovmSourceArgs.builder()
            .checkpointId("string")
            .ociRef("string")
            .build())
        .networking("string")
        .environment(Map.of("string", "string"))
        .httpPort(0)
        .httpProtocol("string")
        .name("string")
        .autoPause(MicrovmAutoPauseArgs.builder()
            .enabled(false)
            .idleTimeout("string")
            .build())
        .ports(0)
        .region("string")
        .size(MicrovmSizeArgs.builder()
            .cpu(0)
            .memory(0)
            .disk(0)
            .build())
        .autoResume(false)
        .state("string")
        .tags("string")
        .vpcUuid("string")
        .build());
    
    microvm_resource = digitalocean.Microvm("microvmResource",
        source={
            "checkpoint_id": "string",
            "oci_ref": "string",
        },
        networking="string",
        environment={
            "string": "string",
        },
        http_port=0,
        http_protocol="string",
        name="string",
        auto_pause={
            "enabled": False,
            "idle_timeout": "string",
        },
        ports=[0],
        region="string",
        size={
            "cpu": 0,
            "memory": 0,
            "disk": 0,
        },
        auto_resume=False,
        state="string",
        tags=["string"],
        vpc_uuid="string")
    
    const microvmResource = new digitalocean.Microvm("microvmResource", {
        source: {
            checkpointId: "string",
            ociRef: "string",
        },
        networking: "string",
        environment: {
            string: "string",
        },
        httpPort: 0,
        httpProtocol: "string",
        name: "string",
        autoPause: {
            enabled: false,
            idleTimeout: "string",
        },
        ports: [0],
        region: "string",
        size: {
            cpu: 0,
            memory: 0,
            disk: 0,
        },
        autoResume: false,
        state: "string",
        tags: ["string"],
        vpcUuid: "string",
    });
    
    type: digitalocean:Microvm
    properties:
        autoPause:
            enabled: false
            idleTimeout: string
        autoResume: false
        environment:
            string: string
        httpPort: 0
        httpProtocol: string
        name: string
        networking: string
        ports:
            - 0
        region: string
        size:
            cpu: 0
            disk: 0
            memory: 0
        source:
            checkpointId: string
            ociRef: string
        state: string
        tags:
            - string
        vpcUuid: string
    

    Microvm 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 Microvm resource accepts the following input properties:

    Source Pulumi.DigitalOcean.Inputs.MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    AutoPause Pulumi.DigitalOcean.Inputs.MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    AutoResume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    Environment Dictionary<string, string>
    A map of environment variables to pass to the workload.
    HttpPort int
    The port the workload serves HTTP on.
    HttpProtocol string
    The HTTP protocol the workload serves: http or http2.
    Name string
    The name of the MicroVM.
    Networking string
    The networking mode: public or vpc.
    Ports List<int>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    Region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Size Pulumi.DigitalOcean.Inputs.MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    State string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    Tags List<string>
    A list of tag names to apply to the MicroVM.
    VpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    Source MicrovmSourceArgs
    What the MicroVM runs. Exactly one of the following must be set:
    AutoPause MicrovmAutoPauseArgs
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    AutoResume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    Environment map[string]string
    A map of environment variables to pass to the workload.
    HttpPort int
    The port the workload serves HTTP on.
    HttpProtocol string
    The HTTP protocol the workload serves: http or http2.
    Name string
    The name of the MicroVM.
    Networking string
    The networking mode: public or vpc.
    Ports []int
    A list of guest ports to open for ingress. Defaults to httpPort only.
    Region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Size MicrovmSizeArgs
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    State string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    Tags []string
    A list of tag names to apply to the MicroVM.
    VpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    source object
    What the MicroVM runs. Exactly one of the following must be set:
    auto_pause object
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    auto_resume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    environment map(string)
    A map of environment variables to pass to the workload.
    http_port number
    The port the workload serves HTTP on.
    http_protocol string
    The HTTP protocol the workload serves: http or http2.
    name string
    The name of the MicroVM.
    networking string
    The networking mode: public or vpc.
    ports list(number)
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size object
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    state string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags list(string)
    A list of tag names to apply to the MicroVM.
    vpc_uuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    source MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    autoPause MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume Boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    environment Map<String,String>
    A map of environment variables to pass to the workload.
    httpPort Integer
    The port the workload serves HTTP on.
    httpProtocol String
    The HTTP protocol the workload serves: http or http2.
    name String
    The name of the MicroVM.
    networking String
    The networking mode: public or vpc.
    ports List<Integer>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region String
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    state String
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags List<String>
    A list of tag names to apply to the MicroVM.
    vpcUuid String
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    source MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    autoPause MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    environment {[key: string]: string}
    A map of environment variables to pass to the workload.
    httpPort number
    The port the workload serves HTTP on.
    httpProtocol string
    The HTTP protocol the workload serves: http or http2.
    name string
    The name of the MicroVM.
    networking string
    The networking mode: public or vpc.
    ports number[]
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    state string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags string[]
    A list of tag names to apply to the MicroVM.
    vpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    source MicrovmSourceArgs
    What the MicroVM runs. Exactly one of the following must be set:
    auto_pause MicrovmAutoPauseArgs
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    auto_resume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    environment Mapping[str, str]
    A map of environment variables to pass to the workload.
    http_port int
    The port the workload serves HTTP on.
    http_protocol str
    The HTTP protocol the workload serves: http or http2.
    name str
    The name of the MicroVM.
    networking str
    The networking mode: public or vpc.
    ports Sequence[int]
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region str
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSizeArgs
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    state str
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags Sequence[str]
    A list of tag names to apply to the MicroVM.
    vpc_uuid str
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    source Property Map
    What the MicroVM runs. Exactly one of the following must be set:
    autoPause Property Map
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume Boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    environment Map<String>
    A map of environment variables to pass to the workload.
    httpPort Number
    The port the workload serves HTTP on.
    httpProtocol String
    The HTTP protocol the workload serves: http or http2.
    name String
    The name of the MicroVM.
    networking String
    The networking mode: public or vpc.
    ports List<Number>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region String
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size Property Map
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    state String
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags List<String>
    A list of tag names to apply to the MicroVM.
    vpcUuid String
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.

    Outputs

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

    CreatedAt string
    The date and time the MicroVM was created.
    CurrentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    DigitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    FailureReason string
    A description of the failure when currentState is failed.
    Id string
    The provider-assigned unique ID for this managed resource.
    Urls List<Pulumi.DigitalOcean.Outputs.MicrovmUrl>
    A list of ingress URLs for the MicroVM:
    CreatedAt string
    The date and time the MicroVM was created.
    CurrentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    DigitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    FailureReason string
    A description of the failure when currentState is failed.
    Id string
    The provider-assigned unique ID for this managed resource.
    Urls []MicrovmUrl
    A list of ingress URLs for the MicroVM:
    created_at string
    The date and time the MicroVM was created.
    current_state string
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitalocean_urn string
    The uniform resource name (URN) for the MicroVM.
    failure_reason string
    A description of the failure when currentState is failed.
    id string
    The provider-assigned unique ID for this managed resource.
    urls list(object)
    A list of ingress URLs for the MicroVM:
    createdAt String
    The date and time the MicroVM was created.
    currentState String
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn String
    The uniform resource name (URN) for the MicroVM.
    failureReason String
    A description of the failure when currentState is failed.
    id String
    The provider-assigned unique ID for this managed resource.
    urls List<MicrovmUrl>
    A list of ingress URLs for the MicroVM:
    createdAt string
    The date and time the MicroVM was created.
    currentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    failureReason string
    A description of the failure when currentState is failed.
    id string
    The provider-assigned unique ID for this managed resource.
    urls MicrovmUrl[]
    A list of ingress URLs for the MicroVM:
    created_at str
    The date and time the MicroVM was created.
    current_state str
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitalocean_urn str
    The uniform resource name (URN) for the MicroVM.
    failure_reason str
    A description of the failure when currentState is failed.
    id str
    The provider-assigned unique ID for this managed resource.
    urls Sequence[MicrovmUrl]
    A list of ingress URLs for the MicroVM:
    createdAt String
    The date and time the MicroVM was created.
    currentState String
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn String
    The uniform resource name (URN) for the MicroVM.
    failureReason String
    A description of the failure when currentState is failed.
    id String
    The provider-assigned unique ID for this managed resource.
    urls List<Property Map>
    A list of ingress URLs for the MicroVM:

    Look up Existing Microvm Resource

    Get an existing Microvm 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?: MicrovmState, opts?: CustomResourceOptions): Microvm
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auto_pause: Optional[MicrovmAutoPauseArgs] = None,
            auto_resume: Optional[bool] = None,
            created_at: Optional[str] = None,
            current_state: Optional[str] = None,
            digitalocean_urn: Optional[str] = None,
            environment: Optional[Mapping[str, str]] = None,
            failure_reason: Optional[str] = None,
            http_port: Optional[int] = None,
            http_protocol: Optional[str] = None,
            name: Optional[str] = None,
            networking: Optional[str] = None,
            ports: Optional[Sequence[int]] = None,
            region: Optional[str] = None,
            size: Optional[MicrovmSizeArgs] = None,
            source: Optional[MicrovmSourceArgs] = None,
            state: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            urls: Optional[Sequence[MicrovmUrlArgs]] = None,
            vpc_uuid: Optional[str] = None) -> Microvm
    func GetMicrovm(ctx *Context, name string, id IDInput, state *MicrovmState, opts ...ResourceOption) (*Microvm, error)
    public static Microvm Get(string name, Input<string> id, MicrovmState? state, CustomResourceOptions? opts = null)
    public static Microvm get(String name, Output<String> id, MicrovmState state, CustomResourceOptions options)
    resources:  _:    type: digitalocean:Microvm    get:      id: ${id}
    import {
      to = digitalocean_microvm.example
      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:
    AutoPause Pulumi.DigitalOcean.Inputs.MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    AutoResume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    CreatedAt string
    The date and time the MicroVM was created.
    CurrentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    DigitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    Environment Dictionary<string, string>
    A map of environment variables to pass to the workload.
    FailureReason string
    A description of the failure when currentState is failed.
    HttpPort int
    The port the workload serves HTTP on.
    HttpProtocol string
    The HTTP protocol the workload serves: http or http2.
    Name string
    The name of the MicroVM.
    Networking string
    The networking mode: public or vpc.
    Ports List<int>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    Region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Size Pulumi.DigitalOcean.Inputs.MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Source Pulumi.DigitalOcean.Inputs.MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    State string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    Tags List<string>
    A list of tag names to apply to the MicroVM.
    Urls List<Pulumi.DigitalOcean.Inputs.MicrovmUrl>
    A list of ingress URLs for the MicroVM:
    VpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    AutoPause MicrovmAutoPauseArgs
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    AutoResume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    CreatedAt string
    The date and time the MicroVM was created.
    CurrentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    DigitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    Environment map[string]string
    A map of environment variables to pass to the workload.
    FailureReason string
    A description of the failure when currentState is failed.
    HttpPort int
    The port the workload serves HTTP on.
    HttpProtocol string
    The HTTP protocol the workload serves: http or http2.
    Name string
    The name of the MicroVM.
    Networking string
    The networking mode: public or vpc.
    Ports []int
    A list of guest ports to open for ingress. Defaults to httpPort only.
    Region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Size MicrovmSizeArgs
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    Source MicrovmSourceArgs
    What the MicroVM runs. Exactly one of the following must be set:
    State string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    Tags []string
    A list of tag names to apply to the MicroVM.
    Urls []MicrovmUrlArgs
    A list of ingress URLs for the MicroVM:
    VpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    auto_pause object
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    auto_resume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    created_at string
    The date and time the MicroVM was created.
    current_state string
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitalocean_urn string
    The uniform resource name (URN) for the MicroVM.
    environment map(string)
    A map of environment variables to pass to the workload.
    failure_reason string
    A description of the failure when currentState is failed.
    http_port number
    The port the workload serves HTTP on.
    http_protocol string
    The HTTP protocol the workload serves: http or http2.
    name string
    The name of the MicroVM.
    networking string
    The networking mode: public or vpc.
    ports list(number)
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size object
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    source object
    What the MicroVM runs. Exactly one of the following must be set:
    state string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags list(string)
    A list of tag names to apply to the MicroVM.
    urls list(object)
    A list of ingress URLs for the MicroVM:
    vpc_uuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    autoPause MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume Boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    createdAt String
    The date and time the MicroVM was created.
    currentState String
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn String
    The uniform resource name (URN) for the MicroVM.
    environment Map<String,String>
    A map of environment variables to pass to the workload.
    failureReason String
    A description of the failure when currentState is failed.
    httpPort Integer
    The port the workload serves HTTP on.
    httpProtocol String
    The HTTP protocol the workload serves: http or http2.
    name String
    The name of the MicroVM.
    networking String
    The networking mode: public or vpc.
    ports List<Integer>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region String
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    source MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    state String
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags List<String>
    A list of tag names to apply to the MicroVM.
    urls List<MicrovmUrl>
    A list of ingress URLs for the MicroVM:
    vpcUuid String
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    autoPause MicrovmAutoPause
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    createdAt string
    The date and time the MicroVM was created.
    currentState string
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn string
    The uniform resource name (URN) for the MicroVM.
    environment {[key: string]: string}
    A map of environment variables to pass to the workload.
    failureReason string
    A description of the failure when currentState is failed.
    httpPort number
    The port the workload serves HTTP on.
    httpProtocol string
    The HTTP protocol the workload serves: http or http2.
    name string
    The name of the MicroVM.
    networking string
    The networking mode: public or vpc.
    ports number[]
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region string
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSize
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    source MicrovmSource
    What the MicroVM runs. Exactly one of the following must be set:
    state string
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags string[]
    A list of tag names to apply to the MicroVM.
    urls MicrovmUrl[]
    A list of ingress URLs for the MicroVM:
    vpcUuid string
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    auto_pause MicrovmAutoPauseArgs
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    auto_resume bool
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    created_at str
    The date and time the MicroVM was created.
    current_state str
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitalocean_urn str
    The uniform resource name (URN) for the MicroVM.
    environment Mapping[str, str]
    A map of environment variables to pass to the workload.
    failure_reason str
    A description of the failure when currentState is failed.
    http_port int
    The port the workload serves HTTP on.
    http_protocol str
    The HTTP protocol the workload serves: http or http2.
    name str
    The name of the MicroVM.
    networking str
    The networking mode: public or vpc.
    ports Sequence[int]
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region str
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size MicrovmSizeArgs
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    source MicrovmSourceArgs
    What the MicroVM runs. Exactly one of the following must be set:
    state str
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags Sequence[str]
    A list of tag names to apply to the MicroVM.
    urls Sequence[MicrovmUrlArgs]
    A list of ingress URLs for the MicroVM:
    vpc_uuid str
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.
    autoPause Property Map
    Auto-pause configuration. When omitted, the product default (enabled) applies.
    autoResume Boolean
    Whether the MicroVM resumes automatically on incoming HTTP traffic. When omitted, the product default (enabled) applies.
    createdAt String
    The date and time the MicroVM was created.
    currentState String
    The observed lifecycle state of the MicroVM, such as running or paused.
    digitaloceanUrn String
    The uniform resource name (URN) for the MicroVM.
    environment Map<String>
    A map of environment variables to pass to the workload.
    failureReason String
    A description of the failure when currentState is failed.
    httpPort Number
    The port the workload serves HTTP on.
    httpProtocol String
    The HTTP protocol the workload serves: http or http2.
    name String
    The name of the MicroVM.
    networking String
    The networking mode: public or vpc.
    ports List<Number>
    A list of guest ports to open for ingress. Defaults to httpPort only.
    region String
    The slug of the region to create the MicroVM in. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    size Property Map
    The compute size of the MicroVM. Required when creating from source.oci_ref; inherited from the checkpoint when omitted on a restore.
    source Property Map
    What the MicroVM runs. Exactly one of the following must be set:
    state String
    The desired lifecycle state: running or paused. Defaults to running. When autoPause is enabled, a MicroVM that the platform has paused is not resumed to match running.
    tags List<String>
    A list of tag names to apply to the MicroVM.
    urls List<Property Map>
    A list of ingress URLs for the MicroVM:
    vpcUuid String
    The ID of the VPC to place the MicroVM in. Only valid when networking is vpc.

    Supporting Types

    MicrovmAutoPause, MicrovmAutoPauseArgs

    Enabled bool
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    IdleTimeout string
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    Enabled bool
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    IdleTimeout string
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    enabled bool
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    idle_timeout string
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    enabled Boolean
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    idleTimeout String
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    enabled boolean
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    idleTimeout string
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    enabled bool
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    idle_timeout str
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.
    enabled Boolean
    Whether the MicroVM pauses after it has been idle for idleTimeout.
    idleTimeout String
    How long the MicroVM must be idle before it pauses, as a duration such as 5m or 30s.

    MicrovmSize, MicrovmSizeArgs

    Cpu int
    The number of vCPUs.
    Memory int
    The amount of memory in MiB.
    Disk int
    The size of the attached disk in GB.
    Cpu int
    The number of vCPUs.
    Memory int
    The amount of memory in MiB.
    Disk int
    The size of the attached disk in GB.
    cpu number
    The number of vCPUs.
    memory number
    The amount of memory in MiB.
    disk number
    The size of the attached disk in GB.
    cpu Integer
    The number of vCPUs.
    memory Integer
    The amount of memory in MiB.
    disk Integer
    The size of the attached disk in GB.
    cpu number
    The number of vCPUs.
    memory number
    The amount of memory in MiB.
    disk number
    The size of the attached disk in GB.
    cpu int
    The number of vCPUs.
    memory int
    The amount of memory in MiB.
    disk int
    The size of the attached disk in GB.
    cpu Number
    The number of vCPUs.
    memory Number
    The amount of memory in MiB.
    disk Number
    The size of the attached disk in GB.

    MicrovmSource, MicrovmSourceArgs

    CheckpointId string
    The ID of a checkpoint to restore.
    OciRef string
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    CheckpointId string
    The ID of a checkpoint to restore.
    OciRef string
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    checkpoint_id string
    The ID of a checkpoint to restore.
    oci_ref string
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    checkpointId String
    The ID of a checkpoint to restore.
    ociRef String
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    checkpointId string
    The ID of a checkpoint to restore.
    ociRef string
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    checkpoint_id str
    The ID of a checkpoint to restore.
    oci_ref str
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.
    checkpointId String
    The ID of a checkpoint to restore.
    ociRef String
    The OCI reference of the workload container image, such as docker.io/library/nginx:latest.

    MicrovmUrl, MicrovmUrlArgs

    Default bool
    Whether this is the default URL.
    Hostname string
    The hostname, without a scheme.
    Port int
    The guest port the URL forwards to.
    Status string
    The URL status: PENDING or ACTIVE.
    Default bool
    Whether this is the default URL.
    Hostname string
    The hostname, without a scheme.
    Port int
    The guest port the URL forwards to.
    Status string
    The URL status: PENDING or ACTIVE.
    default bool
    Whether this is the default URL.
    hostname string
    The hostname, without a scheme.
    port number
    The guest port the URL forwards to.
    status string
    The URL status: PENDING or ACTIVE.
    default_ Boolean
    Whether this is the default URL.
    hostname String
    The hostname, without a scheme.
    port Integer
    The guest port the URL forwards to.
    status String
    The URL status: PENDING or ACTIVE.
    default boolean
    Whether this is the default URL.
    hostname string
    The hostname, without a scheme.
    port number
    The guest port the URL forwards to.
    status string
    The URL status: PENDING or ACTIVE.
    default bool
    Whether this is the default URL.
    hostname str
    The hostname, without a scheme.
    port int
    The guest port the URL forwards to.
    status str
    The URL status: PENDING or ACTIVE.
    default Boolean
    Whether this is the default URL.
    hostname String
    The hostname, without a scheme.
    port Number
    The guest port the URL forwards to.
    status String
    The URL status: PENDING or ACTIVE.

    Import

    A MicroVM can be imported using its id, e.g.

    $ pulumi import digitalocean:index/microvm:Microvm web 506f78a4-e098-11e5-ad9f-000f53306ae1
    

    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
    Viewing docs for DigitalOcean v4.84.1
    published on Tuesday, Oct 13, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial