code: func (p *Provisioner) Validate(c *terraform.ResourceConfig) (ws []string, es []error) {
  	if err := p.InternalValidate(); err != nil {
  		return nil, []error{fmt.Errorf(
  			"Internal validation of the provisioner failed! This is always a bug\n"+
  				"with the provisioner itself, and not a user issue. Please report\n"+
  				"this bug:\n\n%s", err)}
  	}
  
  	if p.Schema != nil {
  		w, e := schemaMap(p.Schema).Validate(c)
  		ws = append(ws, w...)
  		es = append(es, e...)
  	}
  
  	if p.ValidateFunc != nil {
  		w, e := p.ValidateFunc(c)
  		ws = append(ws, w...)
  		es = append(es, e...)
  	}
  
  	return ws, es
  }
docs: // Validate implements the terraform.ResourceProvisioner interface.