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_region
data source
to obtain metadata about a single region if you already know the slug
to retrieve.
Use the filter
block with a key
string and values
list to filter regions.
For example to find all available regions:
data "digitalocean_regions" "available" {
filter {
key = "available"
values = ["true"]
}
}
You can filter on multiple fields and sort the results as well:
data "digitalocean_regions" "available" {
filter {
key = "available"
values = ["true"]
}
filter {
key = "features"
values = ["private_networking"]
}
sort {
key = "name"
direction = "desc"
}
}
filter
- (Optional) Filter the results.
The filter
block is documented below.sort
- (Optional) Sort the results.
The sort
block is documented below.filter
supports the following arguments:
key
- (Required) Filter the regions by this key. This may be one of slug
,
name
, available
, features
, or sizes
.
values
- (Required) A list of values to match against the key
field. Only retrieves regions
where the key
field takes on one or more of the values provided here.
match_by
- (Optional) One of exact
(default), re
, or substring
. For string-typed fields, specify re
to
match by using the values
as regular expressions, or specify substring
to match by treating the values
as
substrings to find within the string field.
all
- (Optional) Set to true
to require that a field match all of the values
instead of just one or more of
them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure
that all of the values
are present in the list or set.
sort
supports the following arguments:
key
- (Required) Sort the regions by this key. This may be one of slug
,
name
, or available
.direction
- (Required) The sort direction. This may be either asc
or desc
.regions
- A set of regions satisfying any filter
and sort
criteria. Each region has the following attributes:
slug
- A human-readable string that is used as a unique identifier for each region.name
- The display name of the region.available
- A boolean value that represents whether new Droplets can be created in this region.sizes
- A set of identifying slugs for the Droplet sizes available in this region.features
- A set of features available in this region.