本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/deployment/disk.Disk.Delete方法的典型用法代碼示例。如果您正苦於以下問題:Golang Disk.Delete方法的具體用法?Golang Disk.Delete怎麽用?Golang Disk.Delete使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/deployment/disk.Disk
的用法示例。
在下文中一共展示了Disk.Delete方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: migrateDisk
func (d *diskDeployer) migrateDisk(
originalDisk bidisk.Disk,
diskPool bideplmanifest.DiskPool,
vm VM,
stage biui.Stage,
) (newDisk bidisk.Disk, err error) {
d.logger.Debug(d.logTag, "Migrating disk '%s'", originalDisk.CID())
err = stage.Perform("Creating disk", func() error {
newDisk, err = d.diskManager.Create(diskPool, vm.CID())
return err
})
if err != nil {
return newDisk, err
}
stageName := fmt.Sprintf("Attaching disk '%s' to VM '%s'", newDisk.CID(), vm.CID())
err = stage.Perform(stageName, func() error {
return vm.AttachDisk(newDisk)
})
if err != nil {
return newDisk, err
}
stageName = fmt.Sprintf("Migrating disk content from '%s' to '%s'", originalDisk.CID(), newDisk.CID())
err = stage.Perform(stageName, func() error {
return vm.MigrateDisk()
})
if err != nil {
return newDisk, err
}
err = d.updateCurrentDiskRecord(newDisk)
if err != nil {
return newDisk, err
}
stageName = fmt.Sprintf("Detaching disk '%s'", originalDisk.CID())
err = stage.Perform(stageName, func() error {
return vm.DetachDisk(originalDisk)
})
if err != nil {
return newDisk, err
}
stageName = fmt.Sprintf("Deleting disk '%s'", originalDisk.CID())
err = stage.Perform(stageName, func() error {
return originalDisk.Delete()
})
if err != nil {
return newDisk, err
}
return newDisk, nil
}
示例2: deleteDisk
func (d *deployment) deleteDisk(deleteStage biui.Stage, disk bidisk.Disk) error {
stepName := fmt.Sprintf("Deleting disk '%s'", disk.CID())
return deleteStage.Perform(stepName, func() error {
err := disk.Delete()
cloudErr, ok := err.(bicloud.Error)
if ok && cloudErr.Type() == bicloud.DiskNotFoundError {
return biui.NewSkipStageError(cloudErr, "Disk not found")
}
return err
})
}