func()

in step_delete_resources.go [80:133]


func (d *DeleteResources) validateInstance(i string, s *Step) DError {
	if err := s.w.instances.regDelete(i, s); err != nil {
		return err
	}
	ir, _ := s.w.instances.get(i)

	// Get the Instance that created this instance, if any.

	if ir.creator != nil {
		//Try GA
		for _, createI := range (*ir.creator.CreateInstances).Instances {
			if createI.daisyName != i {
				continue
			}
			attachedDisks := createI.Disks
			for _, ad := range attachedDisks {
				if !ad.AutoDelete {
					continue
				}
				dName := ad.Source
				if ad.InitializeParams != nil {
					dName = ad.InitializeParams.DiskName
				}
				if err := s.w.disks.regDelete(dName, s); err != nil {
					return err
				}
				return nil
			}
		}

		//Try Beta
		for _, createI := range (*ir.creator.CreateInstances).InstancesBeta {
			if createI.daisyName != i {
				continue
			}
			attachedDisks := createI.Disks
			for _, ad := range attachedDisks {
				if !ad.AutoDelete {
					continue
				}
				dName := ad.Source
				if ad.InitializeParams != nil {
					dName = ad.InitializeParams.DiskName
				}
				if err := s.w.disks.regDelete(dName, s); err != nil {
					return err
				}
				return nil
			}
		}
	}

	return nil
}