code: func (c *NetworkConfig) Validate(onExecution bool) error {
  	if onExecution {
  		if _, err := os.Stat(c.NetworkDir); err != nil {
  			return errors.Wrapf(err, "invalid network_dir")
  		}
  
  		for _, pluginDir := range c.PluginDir {
  			if err := os.MkdirAll(pluginDir, 0755); err != nil {
  				return errors.Wrapf(err, "invalid plugin_dir entry")
  			}
  		}
  	}
  
  	return nil
  }
docs: // Validate is the main entry point for network configuration validation.
  // The parameter `onExecution` specifies if the validation should include
  // execution checks. It returns an `error` on validation failure, otherwise
  // `nil`.