getImage

suspend fun getImage(argument: GetImagePlainArgs): GetImageResult

Get information on an image for use in other resources (e.g. creating a Droplet based on snapshot). This data source provides all of the image properties as configured on your DigitalOcean account. This is useful if the image in question is not managed by the provider or you need to utilize any of the image's data. An error is triggered if zero or more than one result is returned by the query.

Example Usage

Get the data about a snapshot:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example1 = digitalocean.getImage({
name: "example-1.0.0",
});
import pulumi
import pulumi_digitalocean as digitalocean
example1 = digitalocean.get_image(name="example-1.0.0")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example1 = DigitalOcean.GetImage.Invoke(new()
{
Name = "example-1.0.0",
});
});
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.GetImage(ctx, &digitalocean.GetImageArgs{
Name: pulumi.StringRef("example-1.0.0"),
}, 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.GetImageArgs;
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 example1 = DigitaloceanFunctions.getImage(GetImageArgs.builder()
.name("example-1.0.0")
.build());
}
}
variables:
example1:
fn::invoke:
function: digitalocean:getImage
arguments:
name: example-1.0.0

Reuse the data about a snapshot to create a Droplet:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getImage({
name: "example-1.0.0",
});
const exampleDroplet = new digitalocean.Droplet("example", {
image: example.then(example => example.id),
name: "example-1",
region: digitalocean.Region.NYC2,
size: digitalocean.DropletSlug.DropletS1VCPU1GB,
});
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_image(name="example-1.0.0")
example_droplet = digitalocean.Droplet("example",
image=example.id,
name="example-1",
region=digitalocean.Region.NYC2,
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetImage.Invoke(new()
{
Name = "example-1.0.0",
});
var exampleDroplet = new DigitalOcean.Droplet("example", new()
{
Image = example.Apply(getImageResult => getImageResult.Id),
Name = "example-1",
Region = DigitalOcean.Region.NYC2,
Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,
});
});
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 {
example, err := digitalocean.GetImage(ctx, &digitalocean.GetImageArgs{
Name: pulumi.StringRef("example-1.0.0"),
}, nil)
if err != nil {
return err
}
_, err = digitalocean.NewDroplet(ctx, "example", &digitalocean.DropletArgs{
Image: pulumi.Int(example.Id),
Name: pulumi.String("example-1"),
Region: pulumi.String(digitalocean.RegionNYC2),
Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),
})
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.GetImageArgs;
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 example = DigitaloceanFunctions.getImage(GetImageArgs.builder()
.name("example-1.0.0")
.build());
var exampleDroplet = new Droplet("exampleDroplet", DropletArgs.builder()
.image(example.id())
.name("example-1")
.region("nyc2")
.size("s-1vcpu-1gb")
.build());
}
}
resources:
exampleDroplet:
type: digitalocean:Droplet
name: example
properties:
image: ${example.id}
name: example-1
region: nyc2
size: s-1vcpu-1gb
variables:
example:
fn::invoke:
function: digitalocean:getImage
arguments:
name: example-1.0.0

Get the data about an official image:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example2 = digitalocean.getImage({
slug: "ubuntu-18-04-x64",
});
import pulumi
import pulumi_digitalocean as digitalocean
example2 = digitalocean.get_image(slug="ubuntu-18-04-x64")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example2 = DigitalOcean.GetImage.Invoke(new()
{
Slug = "ubuntu-18-04-x64",
});
});
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.GetImage(ctx, &digitalocean.GetImageArgs{
Slug: pulumi.StringRef("ubuntu-18-04-x64"),
}, 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.GetImageArgs;
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 example2 = DigitaloceanFunctions.getImage(GetImageArgs.builder()
.slug("ubuntu-18-04-x64")
.build());
}
}
variables:
example2:
fn::invoke:
function: digitalocean:getImage
arguments:
slug: ubuntu-18-04-x64

Return

A collection of values returned by getImage.

Parameters

argument

A collection of arguments for invoking getImage.


suspend fun getImage(id: Int? = null, name: String? = null, slug: String? = null, source: String? = null): GetImageResult

Return

A collection of values returned by getImage.

Parameters

id

The id of the image

name

The name of the image.

slug

The slug of the official image. If name is specified, you may also specify:

source

Restrict the search to one of the following categories of images:

See also


suspend fun getImage(argument: suspend GetImagePlainArgsBuilder.() -> Unit): GetImageResult

Return

A collection of values returned by getImage.

Parameters

argument

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

See also