func()

in pkg/grept_plan.go [67:92]


func (p *GreptPlan) Apply() error {
	addresses := make(map[string]struct{})
	for _, fix := range p.Fixes {
		addresses[fix.Address()] = struct{}{}
	}
	if err := golden.Traverse[Fix](p.c.BaseConfig, func(fix Fix) error {
		if _, ok := p.Fixes[fix.Id()]; !ok {
			return nil
		}
		if decodeErr := golden.Decode(fix); decodeErr != nil {
			return fmt.Errorf("rule.%s.%s(%s) decode error: %+v", fix.Type(), fix.Name(), fix.HclBlock().Range().String(), decodeErr)
		}
		return nil
	}); err != nil {
		return err
	}
	if err := golden.Traverse[Fix](p.c.BaseConfig, func(fix Fix) error {
		if _, ok := p.Fixes[fix.Id()]; !ok {
			return nil
		}
		return fix.Apply()
	}); err != nil {
		return err
	}
	return nil
}