code: func (v *VaultProvider) GenerateIntermediateCSR() (string, error) {
  	if v.isRoot {
  		return "", fmt.Errorf("provider is the root certificate authority, " +
  			"cannot generate an intermediate CSR")
  	}
  
  	return v.generateIntermediateCSR()
  }
docs: // GenerateIntermediateCSR creates a private key and generates a CSR
  // for another datacenter's root to sign, overwriting the intermediate backend
  // in the process.