getVolume

Get information on a volume for use in other resources. This data source provides all of the volumes properties as configured on your DigitalOcean account. This is useful if the volume in question is not managed by the provider or you need to utilize any of the volumes data. An error is triggered if the provided volume name does not exist.

Example Usage

Get the volume:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getVolume({
name: "app-data",
region: "nyc3",
});
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_volume(name="app-data",
region="nyc3")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetVolume.Invoke(new()
{
Name = "app-data",
Region = "nyc3",
});
});
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.LookupVolume(ctx, &digitalocean.LookupVolumeArgs{
Name: "app-data",
Region: pulumi.StringRef("nyc3"),
}, 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.GetVolumeArgs;
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.getVolume(GetVolumeArgs.builder()
.name("app-data")
.region("nyc3")
.build());
}
}
variables:
example:
fn::invoke:
function: digitalocean:getVolume
arguments:
name: app-data
region: nyc3

Reuse the data about a volume to attach it to a Droplet:

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getVolume({
name: "app-data",
region: "nyc3",
});
const exampleDroplet = new digitalocean.Droplet("example", {
name: "foo",
size: digitalocean.DropletSlug.DropletS1VCPU1GB,
image: "ubuntu-18-04-x64",
region: digitalocean.Region.NYC3,
});
const foobar = new digitalocean.VolumeAttachment("foobar", {
dropletId: exampleDroplet.id,
volumeId: example.then(example => example.id),
});
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_volume(name="app-data",
region="nyc3")
example_droplet = digitalocean.Droplet("example",
name="foo",
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
image="ubuntu-18-04-x64",
region=digitalocean.Region.NYC3)
foobar = digitalocean.VolumeAttachment("foobar",
droplet_id=example_droplet.id,
volume_id=example.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetVolume.Invoke(new()
{
Name = "app-data",
Region = "nyc3",
});
var exampleDroplet = new DigitalOcean.Droplet("example", new()
{
Name = "foo",
Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,
Image = "ubuntu-18-04-x64",
Region = DigitalOcean.Region.NYC3,
});
var foobar = new DigitalOcean.VolumeAttachment("foobar", new()
{
DropletId = exampleDroplet.Id,
VolumeId = example.Apply(getVolumeResult => getVolumeResult.Id),
});
});
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.LookupVolume(ctx, &digitalocean.LookupVolumeArgs{
Name: "app-data",
Region: pulumi.StringRef("nyc3"),
}, nil)
if err != nil {
return err
}
exampleDroplet, err := digitalocean.NewDroplet(ctx, "example", &digitalocean.DropletArgs{
Name: pulumi.String("foo"),
Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),
Image: pulumi.String("ubuntu-18-04-x64"),
Region: pulumi.String(digitalocean.RegionNYC3),
})
if err != nil {
return err
}
_, err = digitalocean.NewVolumeAttachment(ctx, "foobar", &digitalocean.VolumeAttachmentArgs{
DropletId: exampleDroplet.ID(),
VolumeId: pulumi.String(example.Id),
})
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.GetVolumeArgs;
import com.pulumi.digitalocean.Droplet;
import com.pulumi.digitalocean.DropletArgs;
import com.pulumi.digitalocean.VolumeAttachment;
import com.pulumi.digitalocean.VolumeAttachmentArgs;
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.getVolume(GetVolumeArgs.builder()
.name("app-data")
.region("nyc3")
.build());
var exampleDroplet = new Droplet("exampleDroplet", DropletArgs.builder()
.name("foo")
.size("s-1vcpu-1gb")
.image("ubuntu-18-04-x64")
.region("nyc3")
.build());
var foobar = new VolumeAttachment("foobar", VolumeAttachmentArgs.builder()
.dropletId(exampleDroplet.id())
.volumeId(example.id())
.build());
}
}
resources:
exampleDroplet:
type: digitalocean:Droplet
name: example
properties:
name: foo
size: s-1vcpu-1gb
image: ubuntu-18-04-x64
region: nyc3
foobar:
type: digitalocean:VolumeAttachment
properties:
dropletId: ${exampleDroplet.id}
volumeId: ${example.id}
variables:
example:
fn::invoke:
function: digitalocean:getVolume
arguments:
name: app-data
region: nyc3

Return

A collection of values returned by getVolume.

Parameters

argument

A collection of arguments for invoking getVolume.


suspend fun getVolume(description: String? = null, name: String, region: String? = null): GetVolumeResult

Return

A collection of values returned by getVolume.

Parameters

description

Text describing a block storage volume.

name

The name of block storage volume.

region

The region the block storage volume is provisioned in.

See also


suspend fun getVolume(argument: suspend GetVolumePlainArgsBuilder.() -> Unit): GetVolumeResult

Return

A collection of values returned by getVolume.

Parameters

argument

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

See also