Skip to content

Commit c4d61f3

Browse files
author
Shreya Anil Naik
committed
Add code for acquiring region from env; Refactor code to reduce EC2 calls
1 parent 7b24e4e commit c4d61f3

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

pkg/aws/cloud.go

Lines changed: 11 additions & 9 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"
@@ -42,24 +43,25 @@ type Cloud interface {
4243

4344
// NewCloud constructs new Cloud implementation.
4445
func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud, error) {
45-
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
46-
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-
}
5446

5547
if len(cfg.VpcID) == 0 {
48+
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
49+
metadata := services.NewEC2Metadata(metadataSess)
5650
vpcId, err := metadata.VpcID()
5751
if err != nil {
5852
return nil, errors.Wrap(err, "failed to introspect vpcID from EC2Metadata, specify --aws-vpc-id instead if EC2Metadata is unavailable")
5953
}
6054
cfg.VpcID = vpcId
6155
}
6256

57+
if len(cfg.Region) == 0 {
58+
region := os.Getenv("AWS_DEFAULT_REGION")
59+
if region == "" {
60+
region = os.Getenv("AWS_REGION")
61+
}
62+
cfg.Region = region
63+
}
64+
6365
awsCFG := aws.NewConfig().WithRegion(cfg.Region).WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint).WithMaxRetries(cfg.MaxRetries)
6466
sess := session.Must(session.NewSession(awsCFG))
6567
injectUserAgent(&sess.Handlers)

0 commit comments

Comments
 (0)