func NewServiceDiscoveries(params ServiceDiscoveriesParams) ServiceDiscoveries {
	sd := &serviceDiscoveryImpl{
		services: NewInstanceStore(),
	}
	sd.AddService("consul", NewConsulDiscoveryService(params))
	_ = sd.AddService("aws", NewAWSDiscoveryService(params))
	return sd
}
NewServiceDiscoveries creates a new ServiceDiscoveries instance
package discovery
import (
	"context"
	"errors"
	"github.com/haproxytech/client-native/v2/configuration"
	"github.com/haproxytech/dataplaneapi/haproxy"
)
type ServiceDiscoveryParams interface{}
type ServiceDiscovery interface {
	AddNode(id string, params ServiceDiscoveryParams) error
	GetNode(id string) (ServiceDiscoveryParams, error)
	GetNodes() (ServiceDiscoveryParams, error)
	RemoveNode(id string) error
	UpdateNode(id string, params ServiceDiscoveryParams) error
}
type ServiceDiscoveries interface {
	AddNode(serviceName string, id string, params ServiceDiscoveryParams) error
	AddService(serviceName string, serviceImpl ServiceDiscovery) error
	GetNode(serviceName string, id string) (ServiceDiscoveryParams, error)
	GetNodes(serviceName string) (ServiceDiscoveryParams, error)
	RemoveNode(serviceName string, id string) error
	RemoveService(serviceName string) error
	UpdateNode(serviceName string, id string, params ServiceDiscoveryParams) error
}
type ServiceDiscoveriesParams struct {
	Client      *configuration.Client
	ReloadAgent haproxy.IReloadAgent
	Context     context.Context
}