published on Tuesday, Oct 13, 2026 by Pulumi
published on Tuesday, Oct 13, 2026 by Pulumi
Provides a DigitalOcean MicroVM checkpoint resource. A checkpoint captures the
memory and disk state of a running MicroVM, and can be used as the source of a
new digitalocean.Microvm.
Note: MicroVMs are in public preview.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const web = new digitalocean.Microvm("web", {
name: "example-microvm",
region: "nyc3",
size: {
cpu: 2,
memory: 4096,
},
source: {
ociRef: "docker.io/library/nginx:latest",
},
});
const webMicrovmCheckpoint = new digitalocean.MicrovmCheckpoint("web", {
microvmId: web.id,
name: "web-checkpoint",
});
import pulumi
import pulumi_digitalocean as digitalocean
web = digitalocean.Microvm("web",
name="example-microvm",
region="nyc3",
size={
"cpu": 2,
"memory": 4096,
},
source={
"oci_ref": "docker.io/library/nginx:latest",
})
web_microvm_checkpoint = digitalocean.MicrovmCheckpoint("web",
microvm_id=web.id,
name="web-checkpoint")
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"),
Size: &digitalocean.MicrovmSizeArgs{
Cpu: pulumi.Int(2),
Memory: pulumi.Int(4096),
},
Source: &digitalocean.MicrovmSourceArgs{
OciRef: pulumi.String("docker.io/library/nginx:latest"),
},
})
if err != nil {
return err
}
_, err = digitalocean.NewMicrovmCheckpoint(ctx, "web", &digitalocean.MicrovmCheckpointArgs{
MicrovmId: web.ID().ToIDOutput().ToStringOutput(),
Name: pulumi.String("web-checkpoint"),
})
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 web = new DigitalOcean.Microvm("web", new()
{
Name = "example-microvm",
Region = "nyc3",
Size = new DigitalOcean.Inputs.MicrovmSizeArgs
{
Cpu = 2,
Memory = 4096,
},
Source = new DigitalOcean.Inputs.MicrovmSourceArgs
{
OciRef = "docker.io/library/nginx:latest",
},
});
var webMicrovmCheckpoint = new DigitalOcean.MicrovmCheckpoint("web", new()
{
MicrovmId = web.Id,
Name = "web-checkpoint",
});
});
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.MicrovmCheckpoint;
import com.pulumi.digitalocean.MicrovmCheckpointArgs;
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")
.size(MicrovmSizeArgs.builder()
.cpu(2)
.memory(4096)
.build())
.source(MicrovmSourceArgs.builder()
.ociRef("docker.io/library/nginx:latest")
.build())
.build());
var webMicrovmCheckpoint = new MicrovmCheckpoint("webMicrovmCheckpoint", MicrovmCheckpointArgs.builder()
.microvmId(web.id())
.name("web-checkpoint")
.build());
}
}
resources:
web:
type: digitalocean:Microvm
properties:
name: example-microvm
region: nyc3
size:
cpu: 2
memory: 4096
source:
ociRef: docker.io/library/nginx:latest
webMicrovmCheckpoint:
type: digitalocean:MicrovmCheckpoint
name: web
properties:
microvmId: ${web.id}
name: web-checkpoint
terraform {
required_providers {
digitalocean = {
source = "pulumi/digitalocean"
}
}
}
resource "digitalocean_microvm" "web" {
lifecycle {
create_before_destroy = true
}
name = "example-microvm"
region = "nyc3"
size = {
cpu = 2
memory = 4096
}
source = {
oci_ref = "docker.io/library/nginx:latest"
}
}
resource "digitalocean_microvm_checkpoint" "web" {
lifecycle {
create_before_destroy = true
}
microvm_id = digitalocean_microvm.web.id
name = "web-checkpoint"
}
Create MicrovmCheckpoint Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new MicrovmCheckpoint(name: string, args: MicrovmCheckpointArgs, opts?: CustomResourceOptions);@overload
def MicrovmCheckpoint(resource_name: str,
args: MicrovmCheckpointArgs,
opts: Optional[ResourceOptions] = None)
@overload
def MicrovmCheckpoint(resource_name: str,
opts: Optional[ResourceOptions] = None,
microvm_id: Optional[str] = None,
name: Optional[str] = None)func NewMicrovmCheckpoint(ctx *Context, name string, args MicrovmCheckpointArgs, opts ...ResourceOption) (*MicrovmCheckpoint, error)public MicrovmCheckpoint(string name, MicrovmCheckpointArgs args, CustomResourceOptions? opts = null)
public MicrovmCheckpoint(String name, MicrovmCheckpointArgs args)
public MicrovmCheckpoint(String name, MicrovmCheckpointArgs args, CustomResourceOptions options)
type: digitalocean:MicrovmCheckpoint
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "digitalocean_microvm_checkpoint" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args MicrovmCheckpointArgs
- 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 MicrovmCheckpointArgs
- 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 MicrovmCheckpointArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args MicrovmCheckpointArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args MicrovmCheckpointArgs
- 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 microvmCheckpointResource = new DigitalOcean.MicrovmCheckpoint("microvmCheckpointResource", new()
{
MicrovmId = "string",
Name = "string",
});
example, err := digitalocean.NewMicrovmCheckpoint(ctx, "microvmCheckpointResource", &digitalocean.MicrovmCheckpointArgs{
MicrovmId: pulumi.String("string"),
Name: pulumi.String("string"),
})
resource "digitalocean_microvm_checkpoint" "microvmCheckpointResource" {
lifecycle {
create_before_destroy = true
}
microvm_id = "string"
name = "string"
}
var microvmCheckpointResource = new MicrovmCheckpoint("microvmCheckpointResource", MicrovmCheckpointArgs.builder()
.microvmId("string")
.name("string")
.build());
microvm_checkpoint_resource = digitalocean.MicrovmCheckpoint("microvmCheckpointResource",
microvm_id="string",
name="string")
const microvmCheckpointResource = new digitalocean.MicrovmCheckpoint("microvmCheckpointResource", {
microvmId: "string",
name: "string",
});
type: digitalocean:MicrovmCheckpoint
properties:
microvmId: string
name: string
MicrovmCheckpoint 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 MicrovmCheckpoint resource accepts the following input properties:
- microvm_
id string - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- name string
- A name for the checkpoint. Changing this forces a new checkpoint.
- microvm_
id str - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- name str
- A name for the checkpoint. Changing this forces a new checkpoint.
Outputs
All input properties are implicitly available as output properties. Additionally, the MicrovmCheckpoint resource produces the following output properties:
- Created
At string - The date and time the checkpoint was created.
- Disk
Bytes int - The size of the persisted disk image in bytes.
- Id string
- The provider-assigned unique ID for this managed resource.
- Memory
Bytes int - The size of the persisted memory image in bytes.
- Microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- Region string
- The slug of the region the checkpoint is stored in.
- Sizes
List<Pulumi.
Digital Ocean. Outputs. Microvm Checkpoint Size> - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - Status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- Created
At string - The date and time the checkpoint was created.
- Disk
Bytes int - The size of the persisted disk image in bytes.
- Id string
- The provider-assigned unique ID for this managed resource.
- Memory
Bytes int - The size of the persisted memory image in bytes.
- Microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- Region string
- The slug of the region the checkpoint is stored in.
- Sizes
[]Microvm
Checkpoint Size - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - Status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created_
at string - The date and time the checkpoint was created.
- disk_
bytes number - The size of the persisted disk image in bytes.
- id string
- The provider-assigned unique ID for this managed resource.
- memory_
bytes number - The size of the persisted memory image in bytes.
- microvm_
name string - The name of the MicroVM the checkpoint was captured from.
- region string
- The slug of the region the checkpoint is stored in.
- sizes list(object)
- The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At String - The date and time the checkpoint was created.
- disk
Bytes Integer - The size of the persisted disk image in bytes.
- id String
- The provider-assigned unique ID for this managed resource.
- memory
Bytes Integer - The size of the persisted memory image in bytes.
- microvm
Name String - The name of the MicroVM the checkpoint was captured from.
- region String
- The slug of the region the checkpoint is stored in.
- sizes
List<Microvm
Checkpoint Size> - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status String
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At string - The date and time the checkpoint was created.
- disk
Bytes number - The size of the persisted disk image in bytes.
- id string
- The provider-assigned unique ID for this managed resource.
- memory
Bytes number - The size of the persisted memory image in bytes.
- microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- region string
- The slug of the region the checkpoint is stored in.
- sizes
Microvm
Checkpoint Size[] - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created_
at str - The date and time the checkpoint was created.
- disk_
bytes int - The size of the persisted disk image in bytes.
- id str
- The provider-assigned unique ID for this managed resource.
- memory_
bytes int - The size of the persisted memory image in bytes.
- microvm_
name str - The name of the MicroVM the checkpoint was captured from.
- region str
- The slug of the region the checkpoint is stored in.
- sizes
Sequence[Microvm
Checkpoint Size] - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status str
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At String - The date and time the checkpoint was created.
- disk
Bytes Number - The size of the persisted disk image in bytes.
- id String
- The provider-assigned unique ID for this managed resource.
- memory
Bytes Number - The size of the persisted memory image in bytes.
- microvm
Name String - The name of the MicroVM the checkpoint was captured from.
- region String
- The slug of the region the checkpoint is stored in.
- sizes List<Property Map>
- The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status String
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
Look up Existing MicrovmCheckpoint Resource
Get an existing MicrovmCheckpoint 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?: MicrovmCheckpointState, opts?: CustomResourceOptions): MicrovmCheckpoint@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
created_at: Optional[str] = None,
disk_bytes: Optional[int] = None,
memory_bytes: Optional[int] = None,
microvm_id: Optional[str] = None,
microvm_name: Optional[str] = None,
name: Optional[str] = None,
region: Optional[str] = None,
sizes: Optional[Sequence[MicrovmCheckpointSizeArgs]] = None,
status: Optional[str] = None) -> MicrovmCheckpointfunc GetMicrovmCheckpoint(ctx *Context, name string, id IDInput, state *MicrovmCheckpointState, opts ...ResourceOption) (*MicrovmCheckpoint, error)public static MicrovmCheckpoint Get(string name, Input<string> id, MicrovmCheckpointState? state, CustomResourceOptions? opts = null)public static MicrovmCheckpoint get(String name, Output<String> id, MicrovmCheckpointState state, CustomResourceOptions options)resources: _: type: digitalocean:MicrovmCheckpoint get: id: ${id}import {
to = digitalocean_microvm_checkpoint.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.
- Created
At string - The date and time the checkpoint was created.
- Disk
Bytes int - The size of the persisted disk image in bytes.
- Memory
Bytes int - The size of the persisted memory image in bytes.
- Microvm
Id string - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- Microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- Name string
- A name for the checkpoint. Changing this forces a new checkpoint.
- Region string
- The slug of the region the checkpoint is stored in.
- Sizes
List<Pulumi.
Digital Ocean. Inputs. Microvm Checkpoint Size> - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - Status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- Created
At string - The date and time the checkpoint was created.
- Disk
Bytes int - The size of the persisted disk image in bytes.
- Memory
Bytes int - The size of the persisted memory image in bytes.
- Microvm
Id string - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- Microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- Name string
- A name for the checkpoint. Changing this forces a new checkpoint.
- Region string
- The slug of the region the checkpoint is stored in.
- Sizes
[]Microvm
Checkpoint Size Args - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - Status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created_
at string - The date and time the checkpoint was created.
- disk_
bytes number - The size of the persisted disk image in bytes.
- memory_
bytes number - The size of the persisted memory image in bytes.
- microvm_
id string - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- microvm_
name string - The name of the MicroVM the checkpoint was captured from.
- name string
- A name for the checkpoint. Changing this forces a new checkpoint.
- region string
- The slug of the region the checkpoint is stored in.
- sizes list(object)
- The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At String - The date and time the checkpoint was created.
- disk
Bytes Integer - The size of the persisted disk image in bytes.
- memory
Bytes Integer - The size of the persisted memory image in bytes.
- microvm
Id String - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- microvm
Name String - The name of the MicroVM the checkpoint was captured from.
- name String
- A name for the checkpoint. Changing this forces a new checkpoint.
- region String
- The slug of the region the checkpoint is stored in.
- sizes
List<Microvm
Checkpoint Size> - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status String
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At string - The date and time the checkpoint was created.
- disk
Bytes number - The size of the persisted disk image in bytes.
- memory
Bytes number - The size of the persisted memory image in bytes.
- microvm
Id string - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- microvm
Name string - The name of the MicroVM the checkpoint was captured from.
- name string
- A name for the checkpoint. Changing this forces a new checkpoint.
- region string
- The slug of the region the checkpoint is stored in.
- sizes
Microvm
Checkpoint Size[] - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status string
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created_
at str - The date and time the checkpoint was created.
- disk_
bytes int - The size of the persisted disk image in bytes.
- memory_
bytes int - The size of the persisted memory image in bytes.
- microvm_
id str - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- microvm_
name str - The name of the MicroVM the checkpoint was captured from.
- name str
- A name for the checkpoint. Changing this forces a new checkpoint.
- region str
- The slug of the region the checkpoint is stored in.
- sizes
Sequence[Microvm
Checkpoint Size Args] - The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status str
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
- created
At String - The date and time the checkpoint was created.
- disk
Bytes Number - The size of the persisted disk image in bytes.
- memory
Bytes Number - The size of the persisted memory image in bytes.
- microvm
Id String - The ID of the running MicroVM to checkpoint. Changing this forces a new checkpoint.
- microvm
Name String - The name of the MicroVM the checkpoint was captured from.
- name String
- A name for the checkpoint. Changing this forces a new checkpoint.
- region String
- The slug of the region the checkpoint is stored in.
- sizes List<Property Map>
- The size a MicroVM restored from this checkpoint inherits. Empty when the checkpoint does not record one, in which case the restored MicroVM must set
size. - status String
- The status of the checkpoint, such as
CHECKPOINT_AVAILABLE.
Supporting Types
MicrovmCheckpointSize, MicrovmCheckpointSizeArgs
Import
A MicroVM checkpoint can be imported using its id, e.g.
$ pulumi import digitalocean:index/microvmCheckpoint:MicrovmCheckpoint 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
digitaloceanTerraform Provider.
published on Tuesday, Oct 13, 2026 by Pulumi