Skip to content

Commit 277a1d7

Browse files
author
Shreya Anil Naik
committed
Add code for IMDS call if env unconfigured
1 parent c4d61f3 commit 277a1d7

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

pkg/aws/cloud.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ type Cloud interface {
4343

4444
// NewCloud constructs new Cloud implementation.
4545
func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud, error) {
46-
46+
metadata := (services.EC2Metadata)(nil)
4747
if len(cfg.VpcID) == 0 {
4848
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
49-
metadata := services.NewEC2Metadata(metadataSess)
49+
metadata = services.NewEC2Metadata(metadataSess)
5050
vpcId, err := metadata.VpcID()
5151
if err != nil {
5252
return nil, errors.Wrap(err, "failed to introspect vpcID from EC2Metadata, specify --aws-vpc-id instead if EC2Metadata is unavailable")
@@ -59,6 +59,18 @@ func NewCloud(cfg CloudConfig, metricsRegisterer prometheus.Registerer) (Cloud,
5959
if region == "" {
6060
region = os.Getenv("AWS_REGION")
6161
}
62+
63+
if region == ""{
64+
if metadata == nil {
65+
metadataSess := session.Must(session.NewSession(aws.NewConfig()))
66+
metadata = services.NewEC2Metadata(metadataSess)
67+
}
68+
err := (error)(nil)
69+
region, err = metadata.Region()
70+
if err != nil {
71+
return nil, errors.Wrap(err, "failed to introspect region from EC2Metadata, specify --aws-region instead if EC2Metadata is unavailable")
72+
}
73+
}
6274
cfg.Region = region
6375
}
6476

0 commit comments

Comments
 (0)