18 lines
456 B
Go
18 lines
456 B
Go
package resolver
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
"git.zb-server.de/Sebi/ssh-netbox-wrapper/internal/netbox"
|
|
)
|
|
|
|
// ErrNoIP is returned when a strategy cannot find a matching IP address.
|
|
var ErrNoIP = errors.New("no matching IP found")
|
|
|
|
// Strategy is a single rule for resolving an IP address from a NetBox host entry.
|
|
type Strategy interface {
|
|
Name() string
|
|
Resolve(ctx context.Context, entry *netbox.HostEntry, client *netbox.Client) (string, error)
|
|
}
|