code: func getMetadata(config *Config, field string) (string, error) {
  	metadataEndpoint := config.MetadataEndpoint
  	if len(metadataEndpoint) == 0 {
  		metadataEndpoint = defaultMetadataEndpoint
  	}
  
  	resource := fmt.Sprintf("%s/metadata/instance/compute/%s", metadataEndpoint, field)
  	req, err := http.NewRequest(http.MethodGet, resource, nil)
  	if err != nil {
  		return "", err
  	}
  
  	req.Header.Add("Metadata", "True")
  
  	q := req.URL.Query()
  	q.Add("format", "text")
  	q.Add("api-version", "2017-12-01")
  	req.URL.RawQuery = q.Encode()
  
  	resp, err := config.HTTPClient.Do(req)
  	if err != nil {
  		return "", err
  	}
  	defer resp.Body.Close()
  
  	respBody, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		return "", err
  	}
  
  	return string(respBody), nil
  }
docs: // Fetches metadata from environment or he instance metadata service
  // borrowed from https://github.com/Microsoft/azureimds/blob/master/imdssample.go