digitalocean.getDropletSnapshot
Explore with Pulumi AI
Droplet snapshots are saved instances of a Droplet. Use this data source to retrieve the ID of a DigitalOcean Droplet snapshot for use in other resources.
Example Usage
Get the Droplet snapshot:
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const web-snapshot = digitalocean.getDropletSnapshot({
nameRegex: "^web",
region: "nyc3",
mostRecent: true,
});
import pulumi
import pulumi_digitalocean as digitalocean
web_snapshot = digitalocean.get_droplet_snapshot(name_regex="^web",
region="nyc3",
most_recent=True)
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.LookupDropletSnapshot(ctx, &digitalocean.LookupDropletSnapshotArgs{
NameRegex: pulumi.StringRef("^web"),
Region: pulumi.StringRef("nyc3"),
MostRecent: pulumi.BoolRef(true),
}, nil)
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_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()
{
NameRegex = "^web",
Region = "nyc3",
MostRecent = true,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;
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) {
final var web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()
.nameRegex("^web")
.region("nyc3")
.mostRecent(true)
.build());
}
}
variables:
web-snapshot:
fn::invoke:
Function: digitalocean:getDropletSnapshot
Arguments:
nameRegex: ^web
region: nyc3
mostRecent: true
Create image from snapshot:
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const web-snapshot = digitalocean.getDropletSnapshot({
nameRegex: "^web",
region: "nyc3",
mostRecent: true,
});
const from_snapshot = new digitalocean.Droplet("from-snapshot", {
image: web_snapshot.then(web_snapshot => web_snapshot.id),
name: "web-02",
region: digitalocean.Region.NYC3,
size: digitalocean.DropletSlug.DropletS2VCPU4GB,
});
import pulumi
import pulumi_digitalocean as digitalocean
web_snapshot = digitalocean.get_droplet_snapshot(name_regex="^web",
region="nyc3",
most_recent=True)
from_snapshot = digitalocean.Droplet("from-snapshot",
image=web_snapshot.id,
name="web-02",
region=digitalocean.Region.NYC3,
size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB)
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_snapshot, err := digitalocean.LookupDropletSnapshot(ctx, &digitalocean.LookupDropletSnapshotArgs{
NameRegex: pulumi.StringRef("^web"),
Region: pulumi.StringRef("nyc3"),
MostRecent: pulumi.BoolRef(true),
}, nil)
if err != nil {
return err
}
_, err = digitalocean.NewDroplet(ctx, "from-snapshot", &digitalocean.DropletArgs{
Image: pulumi.String(web_snapshot.Id),
Name: pulumi.String("web-02"),
Region: pulumi.String(digitalocean.RegionNYC3),
Size: pulumi.String(digitalocean.DropletSlugDropletS2VCPU4GB),
})
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_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()
{
NameRegex = "^web",
Region = "nyc3",
MostRecent = true,
});
var from_snapshot = new DigitalOcean.Droplet("from-snapshot", new()
{
Image = web_snapshot.Apply(web_snapshot => web_snapshot.Apply(getDropletSnapshotResult => getDropletSnapshotResult.Id)),
Name = "web-02",
Region = DigitalOcean.Region.NYC3,
Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;
import com.pulumi.digitalocean.Droplet;
import com.pulumi.digitalocean.DropletArgs;
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) {
final var web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()
.nameRegex("^web")
.region("nyc3")
.mostRecent(true)
.build());
var from_snapshot = new Droplet("from-snapshot", DropletArgs.builder()
.image(web_snapshot.id())
.name("web-02")
.region("nyc3")
.size("s-2vcpu-4gb")
.build());
}
}
resources:
from-snapshot:
type: digitalocean:Droplet
properties:
image: ${["web-snapshot"].id}
name: web-02
region: nyc3
size: s-2vcpu-4gb
variables:
web-snapshot:
fn::invoke:
Function: digitalocean:getDropletSnapshot
Arguments:
nameRegex: ^web
region: nyc3
mostRecent: true
Using getDropletSnapshot
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getDropletSnapshot(args: GetDropletSnapshotArgs, opts?: InvokeOptions): Promise<GetDropletSnapshotResult>
function getDropletSnapshotOutput(args: GetDropletSnapshotOutputArgs, opts?: InvokeOptions): Output<GetDropletSnapshotResult>
def get_droplet_snapshot(most_recent: Optional[bool] = None,
name: Optional[str] = None,
name_regex: Optional[str] = None,
region: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetDropletSnapshotResult
def get_droplet_snapshot_output(most_recent: Optional[pulumi.Input[bool]] = None,
name: Optional[pulumi.Input[str]] = None,
name_regex: Optional[pulumi.Input[str]] = None,
region: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetDropletSnapshotResult]
func LookupDropletSnapshot(ctx *Context, args *LookupDropletSnapshotArgs, opts ...InvokeOption) (*LookupDropletSnapshotResult, error)
func LookupDropletSnapshotOutput(ctx *Context, args *LookupDropletSnapshotOutputArgs, opts ...InvokeOption) LookupDropletSnapshotResultOutput
> Note: This function is named LookupDropletSnapshot
in the Go SDK.
public static class GetDropletSnapshot
{
public static Task<GetDropletSnapshotResult> InvokeAsync(GetDropletSnapshotArgs args, InvokeOptions? opts = null)
public static Output<GetDropletSnapshotResult> Invoke(GetDropletSnapshotInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetDropletSnapshotResult> getDropletSnapshot(GetDropletSnapshotArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: digitalocean:index/getDropletSnapshot:getDropletSnapshot
arguments:
# arguments dictionary
The following arguments are supported:
- Most
Recent bool If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- Name string
- The name of the Droplet snapshot.
- Name
Regex string - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- Region string
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
- Most
Recent bool If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- Name string
- The name of the Droplet snapshot.
- Name
Regex string - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- Region string
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
- most
Recent Boolean If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- name String
- The name of the Droplet snapshot.
- name
Regex String - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- region String
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
- most
Recent boolean If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- name string
- The name of the Droplet snapshot.
- name
Regex string - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- region string
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
- most_
recent bool If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- name str
- The name of the Droplet snapshot.
- name_
regex str - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- region str
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
- most
Recent Boolean If more than one result is returned, use the most recent Droplet snapshot.
NOTE: If more or less than a single match is returned by the search, the update will fail. Ensure that your search is specific enough to return a single Droplet snapshot ID only, or use
most_recent
to choose the most recent one.- name String
- The name of the Droplet snapshot.
- name
Regex String - A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.
- region String
- A "slug" representing a DigitalOcean region (e.g.
nyc1
). If set, only Droplet snapshots available in the region will be returned.
getDropletSnapshot Result
The following output properties are available:
- Created
At string - The date and time the Droplet snapshot was created.
- Droplet
Id string - The ID of the Droplet from which the Droplet snapshot originated.
- Id string
- The provider-assigned unique ID for this managed resource.
- Min
Disk intSize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- Regions List<string>
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- Size double
- The billable size of the Droplet snapshot in gigabytes.
- Most
Recent bool - Name string
- Name
Regex string - Region string
- Created
At string - The date and time the Droplet snapshot was created.
- Droplet
Id string - The ID of the Droplet from which the Droplet snapshot originated.
- Id string
- The provider-assigned unique ID for this managed resource.
- Min
Disk intSize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- Regions []string
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- Size float64
- The billable size of the Droplet snapshot in gigabytes.
- Most
Recent bool - Name string
- Name
Regex string - Region string
- created
At String - The date and time the Droplet snapshot was created.
- droplet
Id String - The ID of the Droplet from which the Droplet snapshot originated.
- id String
- The provider-assigned unique ID for this managed resource.
- min
Disk IntegerSize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- regions List<String>
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- size Double
- The billable size of the Droplet snapshot in gigabytes.
- most
Recent Boolean - name String
- name
Regex String - region String
- created
At string - The date and time the Droplet snapshot was created.
- droplet
Id string - The ID of the Droplet from which the Droplet snapshot originated.
- id string
- The provider-assigned unique ID for this managed resource.
- min
Disk numberSize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- regions string[]
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- size number
- The billable size of the Droplet snapshot in gigabytes.
- most
Recent boolean - name string
- name
Regex string - region string
- created_
at str - The date and time the Droplet snapshot was created.
- droplet_
id str - The ID of the Droplet from which the Droplet snapshot originated.
- id str
- The provider-assigned unique ID for this managed resource.
- min_
disk_ intsize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- regions Sequence[str]
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- size float
- The billable size of the Droplet snapshot in gigabytes.
- most_
recent bool - name str
- name_
regex str - region str
- created
At String - The date and time the Droplet snapshot was created.
- droplet
Id String - The ID of the Droplet from which the Droplet snapshot originated.
- id String
- The provider-assigned unique ID for this managed resource.
- min
Disk NumberSize - The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.
- regions List<String>
- A list of DigitalOcean region "slugs" indicating where the Droplet snapshot is available.
- size Number
- The billable size of the Droplet snapshot in gigabytes.
- most
Recent Boolean - name String
- name
Regex String - region String
Package Details
- Repository
- DigitalOcean pulumi/pulumi-digitalocean
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
digitalocean
Terraform Provider.