code: func (p *Plan) RunWithConfig(address string, conf *consulapi.Config) error {
  	// Setup the client
  	p.address = address
  	if conf == nil {
  		conf = consulapi.DefaultConfig()
  	}
  	conf.Address = address
  	conf.Datacenter = p.Datacenter
  	conf.Token = p.Token
  	client, err := consulapi.NewClient(conf)
  	if err != nil {
  		return fmt.Errorf("Failed to connect to agent: %v", err)
  	}
  
  	// Create the logger
  	output := p.LogOutput
  	if output == nil {
  		output = os.Stderr
  	}
  	logger := log.New(output, "", log.LstdFlags)
  
  	return p.RunWithClientAndLogger(client, logger)
  }
docs: // Run is used to run a watch plan