code: func (c *AlertingConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {
  	// Create a clean global config as the previous one was already populated
  	// by the default due to the YAML parser behavior for empty blocks.
  	*c = AlertingConfig{}
  	type plain AlertingConfig
  	if err := unmarshal((*plain)(c)); err != nil {
  		return err
  	}
  
  	for _, rlcfg := range c.AlertRelabelConfigs {
  		if rlcfg == nil {
  			return errors.New("empty or null alert relabeling rule")
  		}
  	}
  	return nil
  }
docs: // UnmarshalYAML implements the yaml.Unmarshaler interface.