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
}