getRegions

Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the aws.getRegion data source.

Example Usage

Enabled AWS Regions:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = aws.getRegions({});
import pulumi
import pulumi_aws as aws
current = aws.get_regions()
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var current = Aws.GetRegions.Invoke();
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := aws.GetRegions(ctx, &aws.GetRegionsArgs{}, 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.aws.AwsFunctions;
import com.pulumi.aws.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 current = AwsFunctions.getRegions();
}
}
variables:
current:
fn::invoke:
function: aws:getRegions
arguments: {}

All the regions regardless of the availability

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = aws.getRegions({
allRegions: true,
});
import pulumi
import pulumi_aws as aws
current = aws.get_regions(all_regions=True)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var current = Aws.GetRegions.Invoke(new()
{
AllRegions = true,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := aws.GetRegions(ctx, &aws.GetRegionsArgs{
AllRegions: pulumi.BoolRef(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.aws.AwsFunctions;
import com.pulumi.aws.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 current = AwsFunctions.getRegions(GetRegionsArgs.builder()
.allRegions(true)
.build());
}
}
variables:
current:
fn::invoke:
function: aws:getRegions
arguments:
allRegions: true

To see regions that are filtered by "not-opted-in", the all_regions argument needs to be set to true or no results will be returned.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = aws.getRegions({
allRegions: true,
filters: [{
name: "opt-in-status",
values: ["not-opted-in"],
}],
});
import pulumi
import pulumi_aws as aws
current = aws.get_regions(all_regions=True,
filters=[{
"name": "opt-in-status",
"values": ["not-opted-in"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var current = Aws.GetRegions.Invoke(new()
{
AllRegions = true,
Filters = new[]
{
new Aws.Inputs.GetRegionsFilterInputArgs
{
Name = "opt-in-status",
Values = new[]
{
"not-opted-in",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := aws.GetRegions(ctx, &aws.GetRegionsArgs{
AllRegions: pulumi.BoolRef(true),
Filters: []aws.GetRegionsFilter{
{
Name: "opt-in-status",
Values: []string{
"not-opted-in",
},
},
},
}, 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.aws.AwsFunctions;
import com.pulumi.aws.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 current = AwsFunctions.getRegions(GetRegionsArgs.builder()
.allRegions(true)
.filters(GetRegionsFilterArgs.builder()
.name("opt-in-status")
.values("not-opted-in")
.build())
.build());
}
}
variables:
current:
fn::invoke:
function: aws:getRegions
arguments:
allRegions: true
filters:
- name: opt-in-status
values:
- not-opted-in

Return

A collection of values returned by getRegions.

Parameters

argument

A collection of arguments for invoking getRegions.


suspend fun getRegions(allRegions: Boolean? = null, filters: List<GetRegionsFilter>? = null, id: String? = null): GetRegionsResult

Return

A collection of values returned by getRegions.

Parameters

allRegions

If true the source will query all regions regardless of availability.

filters

Configuration block(s) to use as filters. Detailed below.

id

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

See also


suspend fun getRegions(argument: suspend GetRegionsPlainArgsBuilder.() -> Unit): GetRegionsResult

Return

A collection of values returned by getRegions.

Parameters

argument

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

See also