code: func (c *RemoteWriteConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {
  	*c = DefaultRemoteWriteConfig
  	type plain RemoteWriteConfig
  	if err := unmarshal((*plain)(c)); err != nil {
  		return err
  	}
  	if c.URL == nil {
  		return errors.New("url for remote_write is empty")
  	}
  	for _, rlcfg := range c.WriteRelabelConfigs {
  		if rlcfg == nil {
  			return errors.New("empty or null relabeling rule in remote write config")
  		}
  	}
  
  	// The UnmarshalYAML method of HTTPClientConfig is not being called because it's not a pointer.
  	// We cannot make it a pointer as the parser panics for inlined pointer structs.
  	// Thus we just do its validation here.
  	return c.HTTPClientConfig.Validate()
  }
docs: // UnmarshalYAML implements the yaml.Unmarshaler interface.