class documentation

Abstract resolver interface.

Implementations map a logical service_id (typically a fully qualified protobuf service name such as nebius.foo.v1.FooService) to a concrete address string. Implementations MUST raise UnknownServiceError when they do not match the provided service_id; callers can compose resolvers (for example via Chain) to try multiple strategies.

The returned address is typically a hostname or an address template (for example service.{domain}) which may be further processed by higher-level code.

Method resolve Return the resolved address for service_id or raise UnknownServiceError if the resolver does not apply.
@abstractmethod
def resolve(self, service_id: str) -> str: (source) ΒΆ

Return the resolved address for service_id or raise UnknownServiceError if the resolver does not apply.

Parameters
service_id:strLogical service identifier to resolve.
Returns
strAddress string or template.
Raises
UnknownServiceErrorwhen the resolver does not match.