in pkg/aws/cloud.go [40:67]
func NewCloud(cfg CloudConfig) (Cloud, error) {
sess := session.Must(session.NewSession(aws.NewConfig()))
//injectUserAgent(&sess.Handlers)
metadata := services.NewEC2Metadata(sess)
if len(cfg.Region) == 0 {
region, err := metadata.Region()
if err != nil {
return nil, errors.Wrap(err, "failed to introspect region from EC2Metadata, specify --aws-region instead if EC2Metadata is unavailable")
}
cfg.Region = region
}
awsCfg := aws.NewConfig().WithRegion(cfg.Region).WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint)
sess = sess.Copy(awsCfg)
instanceIdentityDocument, err := metadata.GetInstanceIdentityDocument()
if err != nil {
return nil, errors.Wrap(err, "failed to get instanceIdentityDocument from EC2Metadata")
}
ec2ServiceClient := ec2.New(sess)
cfg.ClusterName = getClusterName(ec2ServiceClient, instanceIdentityDocument)
return &defaultCloud{
cfg: cfg,
cloudWatchlogs: services.NewCloudWatchLogs(sess),
}, nil
}