func()

in instance.go [671:693]


func (ib *InstanceBase) validateDisks(ii InstanceInterface, s *Step) (errs DError) {
	computeDisks := ii.getComputeDisks()
	if len(computeDisks) == 0 && ii.getSourceMachineImage() == "" {
		errs = addErrs(errs, Errf("cannot create instance: no disks nor source machine image provided"))
	}
	if len(computeDisks) > 0 && ii.getSourceMachineImage() != "" {
		errs = addErrs(errs, Errf("cannot create instance: can't provide disks when SourceMachineImage provided"))
	}
	for _, d := range computeDisks {
		if !checkDiskMode(d.mode) {
			errs = addErrs(errs, Errf("cannot create instance: bad disk mode: %q", d.mode))
		}
		if d.source != "" && d.hasInitializeParams {
			errs = addErrs(errs, Errf("cannot create instance: disk.source and disk.initializeParams are mutually exclusive"))
		}
		if d.hasInitializeParams {
			errs = addErrs(errs, ib.validateDiskInitializeParams(d, ii, s))
		} else {
			errs = addErrs(errs, ib.validateDiskSource(d.source, ii, s))
		}
	}
	return
}