code: func NewFactory(ctx context.Context) Factory {
  	f := Factory{}
  	f.typeRegistry = make(map[string]reflect.Type)
  	f.typeRegistry["BarracudaNG"] = reflect.TypeOf(&BarracudaNG{}).Elem()
  	f.typeRegistry["Iboss"] = reflect.TypeOf(&Iboss{}).Elem()
  	f.typeRegistry["PaloAlto"] = reflect.TypeOf(&PaloAlto{}).Elem()
  	f.typeRegistry["FortiGate"] = reflect.TypeOf(&FortiGate{}).Elem()
  	f.typeRegistry["Checkpoint"] = reflect.TypeOf(&Checkpoint{}).Elem()
  	f.typeRegistry["WatchGuard"] = reflect.TypeOf(&WatchGuard{}).Elem()
  	f.typeRegistry["JSONRPC"] = reflect.TypeOf(&JSONRPC{}).Elem()
  	f.typeRegistry["JuniperSRX"] = reflect.TypeOf(&JuniperSRX{}).Elem()
  	return f
  }
docs: // Create a new FirewallSSO factory containing all the valid types