get Droplets
Get information on Droplets for use in other resources, with the ability to filter and sort the results. If no filters are specified, all Droplets will be returned. This data source is useful if the Droplets in question are not managed by the provider or you need to utilize any of the Droplets' data. By default, only non-GPU Droplets are returned. To list only GPU Droplets, set the gpus
attribute to true
. Note: You can use the digitalocean.Droplet
data source to obtain metadata about a single Droplet if you already know the id
, unique name
, or unique tag
to retrieve.
Example Usage
Use the filter
block with a key
string and values
list to filter images. For example to find all Droplets with size s-1vcpu-1gb
:
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const small = digitalocean.getDroplets({
filters: [{
key: "size",
values: ["s-1vcpu-1gb"],
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
small = digitalocean.get_droplets(filters=[{
"key": "size",
"values": ["s-1vcpu-1gb"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var small = DigitalOcean.GetDroplets.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetDropletsFilterInputArgs
{
Key = "size",
Values = new[]
{
"s-1vcpu-1gb",
},
},
},
});
});
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.GetDroplets(ctx, &digitalocean.GetDropletsArgs{
Filters: []digitalocean.GetDropletsFilter{
{
Key: "size",
Values: []string{
"s-1vcpu-1gb",
},
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
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.GetDropletsArgs;
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 small = DigitaloceanFunctions.getDroplets(GetDropletsArgs.builder()
.filters(GetDropletsFilterArgs.builder()
.key("size")
.values("s-1vcpu-1gb")
.build())
.build());
}
}
variables:
small:
fn::invoke:
function: digitalocean:getDroplets
arguments:
filters:
- key: size
values:
- s-1vcpu-1gb
You can filter on multiple fields and sort the results as well:
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const small_with_backups = digitalocean.getDroplets({
filters: [
{
key: "size",
values: ["s-1vcpu-1gb"],
},
{
key: "backups",
values: ["true"],
},
],
sorts: [{
key: "created_at",
direction: "desc",
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
small_with_backups = digitalocean.get_droplets(filters=[
{
"key": "size",
"values": ["s-1vcpu-1gb"],
},
{
"key": "backups",
"values": ["true"],
},
],
sorts=[{
"key": "created_at",
"direction": "desc",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var small_with_backups = DigitalOcean.GetDroplets.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetDropletsFilterInputArgs
{
Key = "size",
Values = new[]
{
"s-1vcpu-1gb",
},
},
new DigitalOcean.Inputs.GetDropletsFilterInputArgs
{
Key = "backups",
Values = new[]
{
"true",
},
},
},
Sorts = new[]
{
new DigitalOcean.Inputs.GetDropletsSortInputArgs
{
Key = "created_at",
Direction = "desc",
},
},
});
});
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.GetDroplets(ctx, &digitalocean.GetDropletsArgs{
Filters: []digitalocean.GetDropletsFilter{
{
Key: "size",
Values: []string{
"s-1vcpu-1gb",
},
},
{
Key: "backups",
Values: []string{
"true",
},
},
},
Sorts: []digitalocean.GetDropletsSort{
{
Key: "created_at",
Direction: pulumi.StringRef("desc"),
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
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.GetDropletsArgs;
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 small-with-backups = DigitaloceanFunctions.getDroplets(GetDropletsArgs.builder()
.filters(
GetDropletsFilterArgs.builder()
.key("size")
.values("s-1vcpu-1gb")
.build(),
GetDropletsFilterArgs.builder()
.key("backups")
.values("true")
.build())
.sorts(GetDropletsSortArgs.builder()
.key("created_at")
.direction("desc")
.build())
.build());
}
}
variables:
small-with-backups:
fn::invoke:
function: digitalocean:getDroplets
arguments:
filters:
- key: size
values:
- s-1vcpu-1gb
- key: backups
values:
- 'true'
sorts:
- key: created_at
direction: desc
Return
A collection of values returned by getDroplets.
Parameters
A collection of arguments for invoking getDroplets.
Return
A collection of values returned by getDroplets.
Parameters
Filter the results. The filter
block is documented below.
A boolean value specifying whether or not to list GPU Droplets
Sort the results. The sort
block is documented below.
See also
Return
A collection of values returned by getDroplets.
Parameters
Builder for com.pulumi.digitalocean.kotlin.inputs.GetDropletsPlainArgs.