本文整理匯總了Golang中github.com/vmware/vic/lib/apiservers/portlayer/restapi/operations.PortLayerAPI.StorageDeleteImageHandler方法的典型用法代碼示例。如果您正苦於以下問題:Golang PortLayerAPI.StorageDeleteImageHandler方法的具體用法?Golang PortLayerAPI.StorageDeleteImageHandler怎麽用?Golang PortLayerAPI.StorageDeleteImageHandler使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/vmware/vic/lib/apiservers/portlayer/restapi/operations.PortLayerAPI
的用法示例。
在下文中一共展示了PortLayerAPI.StorageDeleteImageHandler方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Configure
// Configure assigns functions to all the storage api handlers
func (h *StorageHandlersImpl) Configure(api *operations.PortLayerAPI, handlerCtx *HandlerContext) {
var err error
ctx := context.Background()
op := trace.NewOperation(ctx, "configure")
if len(spl.Config.ImageStores) == 0 {
log.Panicf("No image stores provided; unable to instantiate storage layer")
}
imageStoreURL := spl.Config.ImageStores[0]
// TODO: support multiple image stores. Right now we only support the first one
if len(spl.Config.ImageStores) > 1 {
log.Warningf("Multiple image stores found. Multiple image stores are not yet supported. Using [%s] %s", imageStoreURL.Host, imageStoreURL.Path)
}
ds, err := vsphereSpl.NewImageStore(op, handlerCtx.Session, &imageStoreURL)
if err != nil {
log.Panicf("Cannot instantiate storage layer: %s", err)
}
// The imagestore is implemented via a cache which is backed via an
// implementation that writes to disks. The cache is used to avoid
// expensive metadata lookups.
h.imageCache = spl.NewLookupCache(ds)
// The same is done for volumes. It's implemented via a cache which writes
// to an implementation that takes a datastore to write to.
vsVolumeStore, err := vsphereSpl.NewVolumeStore(op, handlerCtx.Session)
if err != nil {
log.Panicf("Cannot instantiate the volume store: %s", err)
}
// Get the datastores for volumes.
// Each volume store name maps to a datastore + path, which can be referred to by the name.
dstores, err := datastore.GetDatastores(context.TODO(), handlerCtx.Session, spl.Config.VolumeLocations)
if err != nil {
log.Panicf("Cannot find datastores: %s", err)
}
// Add datastores to the vsphere volume store impl
for volStoreName, volDatastore := range dstores {
log.Infof("Adding volume store %s (%s)", volStoreName, volDatastore.RootURL)
_, err := vsVolumeStore.AddStore(op, volDatastore, volStoreName)
if err != nil {
log.Errorf("volume addition error %s", err)
}
}
h.volumeCache, err = spl.NewVolumeLookupCache(op, vsVolumeStore)
if err != nil {
log.Panicf("Cannot instantiate the Volume Lookup cache: %s", err)
}
api.StorageCreateImageStoreHandler = storage.CreateImageStoreHandlerFunc(h.CreateImageStore)
api.StorageGetImageHandler = storage.GetImageHandlerFunc(h.GetImage)
api.StorageGetImageTarHandler = storage.GetImageTarHandlerFunc(h.GetImageTar)
api.StorageListImagesHandler = storage.ListImagesHandlerFunc(h.ListImages)
api.StorageWriteImageHandler = storage.WriteImageHandlerFunc(h.WriteImage)
api.StorageDeleteImageHandler = storage.DeleteImageHandlerFunc(h.DeleteImage)
api.StorageVolumeStoresListHandler = storage.VolumeStoresListHandlerFunc(h.VolumeStoresList)
api.StorageCreateVolumeHandler = storage.CreateVolumeHandlerFunc(h.CreateVolume)
api.StorageRemoveVolumeHandler = storage.RemoveVolumeHandlerFunc(h.RemoveVolume)
api.StorageVolumeJoinHandler = storage.VolumeJoinHandlerFunc(h.VolumeJoin)
api.StorageListVolumesHandler = storage.ListVolumesHandlerFunc(h.VolumesList)
api.StorageGetVolumeHandler = storage.GetVolumeHandlerFunc(h.GetVolume)
}