code: func (d *Deployer) getInstanceAttribute(attr string) (string, error) {
  	s, err := compute.New(d.Client)
  	if err != nil {
  		return "", fmt.Errorf("error getting compute service: %v", err)
  	}
  	inst, err := compute.NewInstancesService(s).Get(d.Conf.Project, d.Conf.Zone, d.Conf.Name).Do()
  	if err != nil {
  		return "", fmt.Errorf("error getting instance: %v", err)
  	}
  	for _, v := range inst.Metadata.Items {
  		if v.Key == attr {
  			return *(v.Value), nil
  		}
  	}
  	return "", errAttrNotFound
  }
docs: // getInstanceAttribute returns the value for attr in the custom metadata of the
  // instance. It returns errAttrNotFound is such a metadata attributed does not
  // exist.