get Regions
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
A collection of arguments for invoking getRegions.
Return
A collection of values returned by getRegions.
Parameters
Filter the results. The filter
block is documented below.
Sort the results. The sort
block is documented below.
See also
Return
A collection of values returned by getRegions.
Parameters
Builder for com.pulumi.digitalocean.kotlin.inputs.GetRegionsPlainArgs.