getImages

Get information on images for use in other resources (e.g. creating a Droplet based on a snapshot), with the ability to filter and sort the results. If no filters are specified, all images will be returned. This data source is useful if the image in question is not managed by the provider or you need to utilize any of the image's data. Note: You can use the digitalocean.getImage data source to obtain metadata about a single image if you already know the slug, unique name, or id to retrieve.

Example Usage

Use the filter block with a key string and values list to filter images. For example to find all Ubuntu images:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const ubuntu = digitalocean.getImages({
filters: [{
key: "distribution",
values: ["Ubuntu"],
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
ubuntu = digitalocean.get_images(filters=[{
"key": "distribution",
"values": ["Ubuntu"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var ubuntu = DigitalOcean.GetImages.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetImagesFilterInputArgs
{
Key = "distribution",
Values = new[]
{
"Ubuntu",
},
},
},
});
});
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.GetImages(ctx, &digitalocean.GetImagesArgs{
Filters: []digitalocean.GetImagesFilter{
{
Key: "distribution",
Values: []string{
"Ubuntu",
},
},
},
}, 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.GetImagesArgs;
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 ubuntu = DigitaloceanFunctions.getImages(GetImagesArgs.builder()
.filters(GetImagesFilterArgs.builder()
.key("distribution")
.values("Ubuntu")
.build())
.build());
}
}
variables:
ubuntu:
fn::invoke:
function: digitalocean:getImages
arguments:
filters:
- key: distribution
values:
- Ubuntu

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 available = digitalocean.getImages({
filters: [
{
key: "distribution",
values: ["Ubuntu"],
},
{
key: "regions",
values: ["nyc3"],
},
],
sorts: [{
key: "created",
direction: "desc",
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
available = digitalocean.get_images(filters=[
{
"key": "distribution",
"values": ["Ubuntu"],
},
{
"key": "regions",
"values": ["nyc3"],
},
],
sorts=[{
"key": "created",
"direction": "desc",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var available = DigitalOcean.GetImages.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetImagesFilterInputArgs
{
Key = "distribution",
Values = new[]
{
"Ubuntu",
},
},
new DigitalOcean.Inputs.GetImagesFilterInputArgs
{
Key = "regions",
Values = new[]
{
"nyc3",
},
},
},
Sorts = new[]
{
new DigitalOcean.Inputs.GetImagesSortInputArgs
{
Key = "created",
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.GetImages(ctx, &digitalocean.GetImagesArgs{
Filters: []digitalocean.GetImagesFilter{
{
Key: "distribution",
Values: []string{
"Ubuntu",
},
},
{
Key: "regions",
Values: []string{
"nyc3",
},
},
},
Sorts: []digitalocean.GetImagesSort{
{
Key: "created",
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.GetImagesArgs;
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 available = DigitaloceanFunctions.getImages(GetImagesArgs.builder()
.filters(
GetImagesFilterArgs.builder()
.key("distribution")
.values("Ubuntu")
.build(),
GetImagesFilterArgs.builder()
.key("regions")
.values("nyc3")
.build())
.sorts(GetImagesSortArgs.builder()
.key("created")
.direction("desc")
.build())
.build());
}
}
variables:
available:
fn::invoke:
function: digitalocean:getImages
arguments:
filters:
- key: distribution
values:
- Ubuntu
- key: regions
values:
- nyc3
sorts:
- key: created
direction: desc

Return

A collection of values returned by getImages.

Parameters

argument

A collection of arguments for invoking getImages.


suspend fun getImages(filters: List<GetImagesFilter>? = null, sorts: List<GetImagesSort>? = null): GetImagesResult

Return

A collection of values returned by getImages.

Parameters

filters

Filter the results. The filter block is documented below.

sorts

Sort the results. The sort block is documented below.

See also


suspend fun getImages(argument: suspend GetImagesPlainArgsBuilder.() -> Unit): GetImagesResult

Return

A collection of values returned by getImages.

Parameters

argument

Builder for com.pulumi.digitalocean.kotlin.inputs.GetImagesPlainArgs.

See also