getRegions

Retrieve information about all supported DigitalOcean regions, with the ability to filter and sort the results. If no filters are specified, all regions will be returned. Note: You can use the digitalocean.getRegion data source to obtain metadata about a single region if you already know the slug to retrieve.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const available = digitalocean.getRegions({
filters: [{
key: "available",
values: ["true"],
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
available = digitalocean.get_regions(filters=[{
"key": "available",
"values": ["true"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var available = DigitalOcean.GetRegions.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetRegionsFilterInputArgs
{
Key = "available",
Values = new[]
{
"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.GetRegions(ctx, &digitalocean.GetRegionsArgs{
Filters: []digitalocean.GetRegionsFilter{
{
Key: "available",
Values: []string{
"true",
},
},
},
}, 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.GetRegionsArgs;
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.getRegions(GetRegionsArgs.builder()
.filters(GetRegionsFilterArgs.builder()
.key("available")
.values("true")
.build())
.build());
}
}
variables:
available:
fn::invoke:
function: digitalocean:getRegions
arguments:
filters:
- key: available
values:
- 'true'

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.getRegions({
filters: [
{
key: "available",
values: ["true"],
},
{
key: "features",
values: ["private_networking"],
},
],
sorts: [{
key: "name",
direction: "desc",
}],
});
import pulumi
import pulumi_digitalocean as digitalocean
available = digitalocean.get_regions(filters=[
{
"key": "available",
"values": ["true"],
},
{
"key": "features",
"values": ["private_networking"],
},
],
sorts=[{
"key": "name",
"direction": "desc",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var available = DigitalOcean.GetRegions.Invoke(new()
{
Filters = new[]
{
new DigitalOcean.Inputs.GetRegionsFilterInputArgs
{
Key = "available",
Values = new[]
{
"true",
},
},
new DigitalOcean.Inputs.GetRegionsFilterInputArgs
{
Key = "features",
Values = new[]
{
"private_networking",
},
},
},
Sorts = new[]
{
new DigitalOcean.Inputs.GetRegionsSortInputArgs
{
Key = "name",
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.GetRegions(ctx, &digitalocean.GetRegionsArgs{
Filters: []digitalocean.GetRegionsFilter{
{
Key: "available",
Values: []string{
"true",
},
},
{
Key: "features",
Values: []string{
"private_networking",
},
},
},
Sorts: []digitalocean.GetRegionsSort{
{
Key: "name",
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.GetRegionsArgs;
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.getRegions(GetRegionsArgs.builder()
.filters(
GetRegionsFilterArgs.builder()
.key("available")
.values("true")
.build(),
GetRegionsFilterArgs.builder()
.key("features")
.values("private_networking")
.build())
.sorts(GetRegionsSortArgs.builder()
.key("name")
.direction("desc")
.build())
.build());
}
}
variables:
available:
fn::invoke:
function: digitalocean:getRegions
arguments:
filters:
- key: available
values:
- 'true'
- key: features
values:
- private_networking
sorts:
- key: name
direction: desc

Return

A collection of values returned by getRegions.

Parameters

argument

A collection of arguments for invoking getRegions.


suspend fun getRegions(filters: List<GetRegionsFilter>? = null, sorts: List<GetRegionsSort>? = null): GetRegionsResult

Return

A collection of values returned by getRegions.

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 getRegions(argument: suspend GetRegionsPlainArgsBuilder.() -> Unit): GetRegionsResult

Return

A collection of values returned by getRegions.

Parameters

argument

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

See also