in event-exporter/sinks/stackdriver/monitored_resource_factory_config.go [18:48]
func newMonitoredResourceFactoryConfig(resourceModelVersion string) (*monitoredResourceFactoryConfig, error) {
clusterName, err := metadata.InstanceAttributeValue("cluster-name")
if err != nil {
glog.Warningf("'cluster-name' label is not specified on the VM, defaulting to the empty value")
clusterName = ""
}
clusterName = strings.TrimSpace(clusterName)
projectID, err := metadata.ProjectID()
if err != nil {
return nil, fmt.Errorf("failed to get project id: %v", err)
}
location, err := metadata.InstanceAttributeValue("cluster-location")
location = strings.TrimSpace(location)
if err != nil || location == "" {
glog.Warningf("Failed to retrieve cluster location, falling back to local zone: %s", err)
location, err = metadata.Zone()
if err != nil {
return nil, fmt.Errorf("error while getting cluster location: %v", err)
}
}
sdResourceModel := getResourceModelVersion(resourceModelVersion)
return &monitoredResourceFactoryConfig{
resourceModel: sdResourceModel,
clusterName: clusterName,
location: location,
projectID: projectID,
}, nil
}