config: set default region for EC2 SD

This commit is contained in:
Mitsuhiro Tanda 2017-05-31 23:19:31 +09:00
parent 287ec6e6cc
commit a1ddab463e

View file

@ -23,6 +23,8 @@ import (
"strings"
"time"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/prometheus/common/model"
"gopkg.in/yaml.v2"
)
@ -1126,7 +1128,13 @@ func (c *EC2SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {
return err
}
if c.Region == "" {
return fmt.Errorf("EC2 SD configuration requires a region")
sess := session.Must(session.NewSession())
metadata := ec2metadata.New(sess)
region, err := metadata.Region()
if err != nil {
return fmt.Errorf("EC2 SD configuration requires a region")
}
c.Region = region
}
return nil
}