code: func (c *cinderPlugin) FindSnapshot(tags *map[string]string) (*crdv1.VolumeSnapshotDataSource, *[]crdv1.VolumeSnapshotCondition, error) {
  	glog.Infof("Cinder.FindSnapshot by tags: %#v", *tags)
  	snapIDs, statuses, err := c.cloud.FindSnapshot(*tags)
  	if err != nil {
  		glog.Infof("Cinder.FindSnapshot by tags: %#v. Error: %v", *tags, err)
  		//return nil, err
  	}
  
  	if len(snapIDs) > 0 && len(statuses) > 0 {
  		glog.Infof("Found snapshot %s by tags: %#v", snapIDs[0], *tags)
  		return &crdv1.VolumeSnapshotDataSource{
  			CinderSnapshot: &crdv1.CinderVolumeSnapshotSource{
  				SnapshotID: snapIDs[0],
  			},
  		}, c.convertSnapshotStatus(statuses[0]), nil
  	}
  
  	return nil, nil, fmt.Errorf("Snapshot not found")
  }
docs: // FindSnapshot finds a VolumeSnapshot by matching metadata