本文整理汇总了Golang中github.com/codedellemc/libstorage/api/types.Store.GetStringPtr方法的典型用法代码示例。如果您正苦于以下问题:Golang Store.GetStringPtr方法的具体用法?Golang Store.GetStringPtr怎么用?Golang Store.GetStringPtr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/codedellemc/libstorage/api/types.Store
的用法示例。
在下文中一共展示了Store.GetStringPtr方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: volumeAttach
func (r *router) volumeAttach(
ctx types.Context,
w http.ResponseWriter,
req *http.Request,
store types.Store) error {
service := context.MustService(ctx)
if _, ok := context.InstanceID(ctx); !ok {
return utils.NewMissingInstanceIDError(service.Name())
}
run := func(
ctx types.Context,
svc types.StorageService) (interface{}, error) {
v, attTokn, err := svc.Driver().VolumeAttach(
ctx,
store.GetString("volumeID"),
&types.VolumeAttachOpts{
NextDevice: store.GetStringPtr("nextDeviceName"),
Force: store.GetBool("force"),
Opts: store,
})
if err != nil {
return nil, err
}
if OnVolume != nil {
ok, err := OnVolume(ctx, req, store, v)
if err != nil {
return nil, err
}
if !ok {
return nil, utils.NewNotFoundError(v.ID)
}
}
if v.AttachmentState == 0 {
v.AttachmentState = types.VolumeAttached
}
return &types.VolumeAttachResponse{
Volume: v,
AttachToken: attTokn,
}, nil
}
return httputils.WriteTask(
ctx,
r.config,
w,
store,
service.TaskExecute(ctx, run, schema.VolumeAttachResponseSchema),
http.StatusOK)
}
示例2: volumeCreate
func (r *router) volumeCreate(
ctx types.Context,
w http.ResponseWriter,
req *http.Request,
store types.Store) error {
service := context.MustService(ctx)
run := func(
ctx types.Context,
svc types.StorageService) (interface{}, error) {
v, err := svc.Driver().VolumeCreateFromSnapshot(
ctx,
store.GetString("snapshotID"),
store.GetString("name"),
&types.VolumeCreateOpts{
AvailabilityZone: store.GetStringPtr("availabilityZone"),
IOPS: store.GetInt64Ptr("iops"),
Size: store.GetInt64Ptr("size"),
Type: store.GetStringPtr("type"),
Opts: store,
})
if err != nil {
return nil, err
}
if volume.OnVolume != nil {
ok, err := volume.OnVolume(ctx, req, store, v)
if err != nil {
return nil, err
}
if !ok {
return nil, utils.NewNotFoundError(v.ID)
}
}
return v, nil
}
return httputils.WriteTask(
ctx,
r.config,
w,
store,
service.TaskExecute(ctx, run, schema.VolumeSchema),
http.StatusCreated)
}