Skip to content

Commit a12ec3b

Browse files
authored
Fix getRegion functions (#1384)
1 parent 0d6f1b4 commit a12ec3b

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

awsx/s3/bucket.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import * as aws from "@pulumi/aws";
1616
import * as pulumi from "@pulumi/pulumi";
1717
import { ResourceOptions } from "@pulumi/pulumi";
1818
import * as schema from "../schema-types";
19-
import { getRegion, getRegionFromOpts, parseArn } from "../utils";
19+
import { parseArn } from "../utils";
2020

2121
export interface BucketId {
2222
name: pulumi.Output<string>;

awsx/utils.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,14 @@ export function getRegionFromOpts(opts: pulumi.CustomResourceOptions): pulumi.Ou
8282

8383
/** @internal */
8484
export function getRegion(res: pulumi.Resource): pulumi.Output<aws.Region> {
85-
// A little strange, but all we're doing is passing a fake type-token simply to get
86-
// the AWS provider from this resource.
87-
const provider = res.getProvider ? res.getProvider("aws::") : undefined;
88-
return getRegionFromProvider(provider);
85+
// uses the provider from the parent resource to fetch the region
86+
return aws.getRegionOutput({}, { parent: res }).apply((region) => region.name as aws.Region);
8987
}
9088

91-
function getRegionFromProvider(provider: pulumi.ProviderResource | undefined) {
92-
const region = provider ? (<any>provider).region : undefined;
93-
return region || aws.config.region;
89+
function getRegionFromProvider(
90+
provider: pulumi.ProviderResource | undefined,
91+
): pulumi.Output<aws.Region> {
92+
return aws.getRegionOutput({}, { provider }).apply((region) => region.name as aws.Region);
9493
}
9594

9695
/**

examples/examples_nodejs_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package examples
1818

1919
import (
2020
"fmt"
21+
"os"
2122
"path/filepath"
2223
"testing"
2324
"time"
@@ -46,6 +47,23 @@ func TestAccEcsCapacityProviderService(t *testing.T) {
4647
integration.ProgramTest(t, &test)
4748
}
4849

50+
func TestRegress1112(t *testing.T) {
51+
t.Setenv("AWS_REGION", "")
52+
os.Unsetenv("AWS_REGION")
53+
test := integration.ProgramTestOptions{
54+
Quick: true,
55+
SkipRefresh: true,
56+
}.With(integration.ProgramTestOptions{
57+
Dependencies: []string{
58+
"@pulumi/awsx",
59+
},
60+
NoParallel: true, // cannot use call t.Parallel after t.Setenv
61+
RunUpdateTest: false,
62+
Dir: filepath.Join(getCwd(t), "ecs", "nodejs"),
63+
})
64+
integration.ProgramTest(t, &test)
65+
}
66+
4967
func TestLbSimple(t *testing.T) {
5068
test := getNodeJSBaseOptions(t).
5169
With(integration.ProgramTestOptions{

0 commit comments

Comments
 (0)