本文整理汇总了Golang中github.com/libopenstorage/openstorage/api.VolumeLocator类的典型用法代码示例。如果您正苦于以下问题:Golang VolumeLocator类的具体用法?Golang VolumeLocator怎么用?Golang VolumeLocator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了VolumeLocator类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: snapEnumerate
func (v *volDriver) snapEnumerate(c *cli.Context) {
var locator api.VolumeLocator
var err error
fn := "enumerate"
locator.Name = c.String("name")
if l := c.String("label"); l != "" {
locator.VolumeLabels, err = processLabels(l)
if err != nil {
cmdError(c, fn, err)
return
}
}
v.volumeOptions(c)
snaps, err := v.volDriver.Enumerate(locator, nil)
if err != nil {
cmdError(c, fn, err)
return
}
if snaps == nil {
cmdError(c, fn, err)
return
}
cmdOutput(c, snaps)
}
示例2: enumerate
func (vd *volApi) enumerate(w http.ResponseWriter, r *http.Request) {
var locator api.VolumeLocator
var configLabels api.Labels
var err error
var vols []api.Volume
method := "enumerate"
d, err := volume.Get(vd.name)
if err != nil {
notFound(w, r)
return
}
params := r.URL.Query()
v := params[string(api.OptName)]
if v != nil {
locator.Name = v[0]
}
v = params[string(api.OptLabel)]
if v != nil {
if err = json.Unmarshal([]byte(v[0]), &locator.VolumeLabels); err != nil {
e := fmt.Errorf("Failed to parse parse VolumeLabels: %s", err.Error())
vd.sendError(vd.name, method, w, e.Error(), http.StatusBadRequest)
}
}
v = params[string(api.OptConfigLabel)]
if v != nil {
if err = json.Unmarshal([]byte(v[0]), &configLabels); err != nil {
e := fmt.Errorf("Failed to parse parse configLabels: %s", err.Error())
vd.sendError(vd.name, method, w, e.Error(), http.StatusBadRequest)
}
}
v = params[string(api.OptVolumeID)]
if v != nil {
ids := make([]api.VolumeID, len(v))
for i, s := range v {
ids[i] = api.VolumeID(s)
}
vols, err = d.Inspect(ids)
if err != nil {
e := fmt.Errorf("Failed to inspect volumeID: %s", err.Error())
vd.sendError(vd.name, method, w, e.Error(), http.StatusBadRequest)
return
}
} else {
vols, _ = d.Enumerate(locator, configLabels)
}
json.NewEncoder(w).Encode(vols)
}