Skip to content

Commit 2a1a0a3

Browse files
authored
Merge pull request #2217 from Shreya027/main
Add code for acquiring region from env; Refactor code to reduce EC2 c…
2 parents 4749148 + 4744674 commit 2a1a0a3

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

pkg/aws/cloud.go

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/aws/aws-sdk-go/aws/session"
77
"github.com/pkg/errors"
88
"github.com/prometheus/client_golang/prometheus"
9+
"os"
910
"sigs.k8s.io/aws-load-balancer-controller/pkg/aws/metrics"
1011
"sigs.k8s.io/aws-load-balancer-controller/pkg/aws/services"
1112
"sigs.k8s.io/aws-load-balancer-controller/pkg/aws/throttle"
@@ -44,14 +45,6 @@ type Cloud interface {
4445
func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud, error) {
4546
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
4647
metadata := services.NewEC2Metadata(metadataSess)
47-
if len(cfg.Region) == 0 {
48-
region, err := metadata.Region()
49-
if err != nil {
50-
return nil, errors.Wrap(err, "failed to introspect region from EC2Metadata, specify --aws-region instead if EC2Metadata is unavailable")
51-
}
52-
cfg.Region = region
53-
}
54-
5548
if len(cfg.VpcID) == 0 {
5649
vpcId, err := metadata.VpcID()
5750
if err != nil {
@@ -60,6 +53,22 @@ func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud,
6053
cfg.VpcID = vpcId
6154
}
6255

56+
if len(cfg.Region) == 0 {
57+
region := os.Getenv("AWS_DEFAULT_REGION")
58+
if region == "" {
59+
region = os.Getenv("AWS_REGION")
60+
}
61+
62+
if region == ""{
63+
err := (error)(nil)
64+
region, err = metadata.Region()
65+
if err != nil {
66+
return nil, errors.Wrap(err, "failed to introspect region from EC2Metadata, specify --aws-region instead if EC2Metadata is unavailable")
67+
}
68+
}
69+
cfg.Region = region
70+
}
71+
6372
awsCFG := aws.NewConfig().WithRegion(cfg.Region).WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint).WithMaxRetries(cfg.MaxRetries)
6473
sess := session.Must(session.NewSession(awsCFG))
6574
injectUserAgent(&sess.Handlers)

0 commit comments

Comments
 (0)