from __future__ import annotations
import importlib
import pkgutil
import random
import time
import uuid
from dataclasses import dataclass, field
from typing import Any, Callable, Iterable, Iterator, Sequence
import grpc
from .exceptions import UdbConfigurationError, UdbError, UdbRpcError
from .metadata import Metadata
__all__ = [
"RetryPolicy",
"UdbDetailedRpcError",
"GeneratedClient",
"AnalyticsServiceClient",
"ApiKeyServiceClient",
"AuthnServiceClient",
"AuthzServiceClient",
"NotificationServiceClient",
"TenantServiceClient",
"DataBrokerClient",
]
_RETRYABLE_CODES: frozenset[grpc.StatusCode] = frozenset(
{
grpc.StatusCode.UNAVAILABLE,
grpc.StatusCode.DEADLINE_EXCEEDED,
grpc.StatusCode.RESOURCE_EXHAUSTED,
}
)
_ERROR_DETAIL_TRAILER = "udb-error-detail-bin"
@dataclass(frozen=True)
class RetryPolicy:
max_attempts: int = 4
initial_backoff: float = 0.1
max_backoff: float = 5.0
multiplier: float = 2.0
jitter: float = 0.2
retryable_codes: frozenset[grpc.StatusCode] = field(default_factory=lambda: _RETRYABLE_CODES)
def should_retry(self, code: grpc.StatusCode, attempt: int) -> bool:
return attempt < self.max_attempts and code in self.retryable_codes
def backoff_for(self, attempt: int) -> float:
base = min(self.initial_backoff * (self.multiplier ** (attempt - 1)), self.max_backoff)
return base + random.uniform(0.0, base * self.jitter)
class UdbDetailedRpcError(UdbRpcError):
def __init__(self, rpc_name: str, error: grpc.RpcError, detail: bytes | None):
super().__init__(rpc_name, error)
self.detail = detail
def _extract_error_detail(error: grpc.RpcError) -> bytes | None:
trailers_obj: object = None
getter = getattr(error, "trailing_metadata", None)
if callable(getter):
try:
trailers_obj = getter()
except Exception: trailers_obj = None
if not isinstance(trailers_obj, Sequence):
return None
for entry in trailers_obj:
if not isinstance(entry, tuple) or len(entry) != 2:
continue
key, value = entry
if key == _ERROR_DETAIL_TRAILER:
if isinstance(value, bytes):
return value
if isinstance(value, bytearray):
return bytes(value)
return None
return None
def _map_error(rpc_name: str, error: grpc.RpcError) -> UdbRpcError:
detail = _extract_error_detail(error)
if detail is not None:
return UdbDetailedRpcError(rpc_name, error, detail)
return UdbRpcError(rpc_name, error)
def _discover_stub_class(service_pkg: str, service_name: str) -> type:
pkg = importlib.import_module(service_pkg)
stub_name = f"{service_name}Stub"
found = getattr(pkg, stub_name, None)
if isinstance(found, type):
return found
search_paths = getattr(pkg, "__path__", None)
if search_paths is not None:
for mod in pkgutil.iter_modules(search_paths):
if not mod.name.endswith("_pb2_grpc"):
continue
module = importlib.import_module(f"{service_pkg}.{mod.name}")
candidate = getattr(module, stub_name, None)
if isinstance(candidate, type):
return candidate
raise UdbConfigurationError(
f"could not locate gRPC stub '{stub_name}' under package '{service_pkg}'. "
f"Run `buf generate` so the *_pb2_grpc modules are present."
)
class _ServiceClientBase:
_SERVICE_PKG: str = ""
_SERVICE_NAME: str = ""
_SERVICE_FULL: str = ""
def __init__(
self,
target: str = "",
metadata: Metadata | None = None,
*,
secure: bool = False,
root_certificates: bytes | None = None,
call_credentials: grpc.CallCredentials | None = None,
channel_credentials: grpc.ChannelCredentials | None = None,
channel_options: Sequence[tuple[str, Any]] | None = None,
timeout: float | None = 30.0,
retry: RetryPolicy | None = None,
api_key: str = "",
bearer_token: str = "",
channel: grpc.Channel | None = None,
) -> None:
if not target and channel is None:
raise UdbConfigurationError("UDB target is required, e.g. '127.0.0.1:50051'")
self._metadata = metadata
self._timeout = timeout
self._retry = retry or RetryPolicy()
self._api_key = api_key
self._bearer_token = bearer_token
self._owns_channel = channel is None
if channel is None:
options = list(channel_options or ())
if channel_credentials is not None:
channel = grpc.secure_channel(target, channel_credentials, options=options)
elif secure:
creds = grpc.ssl_channel_credentials(root_certificates)
if call_credentials is not None:
creds = grpc.composite_channel_credentials(creds, call_credentials)
channel = grpc.secure_channel(target, creds, options=options)
else:
channel = grpc.insecure_channel(target, options=options)
self._channel = channel
stub_cls = _discover_stub_class(self._SERVICE_PKG, self._SERVICE_NAME)
self._stub = stub_cls(channel)
@property
def stub(self) -> Any:
return self._stub
def bind_metadata(self, metadata: Metadata) -> None:
self._metadata = metadata
def close(self) -> None:
if self._owns_channel:
self._channel.close()
def __enter__(self) -> "_ServiceClientBase":
return self
def __exit__(self, *_: object) -> None:
self.close()
def _effective_metadata(self, metadata: Metadata | None) -> Metadata | None:
return metadata or self._metadata
def _call_metadata(
self, metadata: Metadata | None, request_id: str | None
) -> tuple[tuple[str, str], ...]:
headers: list[tuple[str, str]] = []
effective = self._effective_metadata(metadata)
if effective is not None:
headers.extend(effective.to_grpc_metadata())
if self._bearer_token:
headers.append(("authorization", f"Bearer {self._bearer_token}"))
if self._api_key:
headers.append(("x-udb-api-key", self._api_key))
headers.append(("x-request-id", request_id or uuid.uuid4().hex))
return tuple(headers)
def _invoke_unary(
self,
method: Callable[..., Any],
rpc_name: str,
request: Any,
*,
metadata: Metadata | None,
timeout: float | None,
retryable: bool,
) -> Any:
attempt = 0
while True:
attempt += 1
request_id = uuid.uuid4().hex
try:
return method(
request,
metadata=self._call_metadata(metadata, request_id),
timeout=self._timeout if timeout is None else timeout,
)
except grpc.RpcError as error:
code = error.code()
if retryable and self._retry.should_retry(code, attempt):
time.sleep(self._retry.backoff_for(attempt))
continue
raise _map_error(rpc_name, error) from error
def _invoke_server_streaming(
self,
method: Callable[..., Any],
rpc_name: str,
request: Any,
*,
metadata: Metadata | None,
timeout: float | None,
retryable: bool,
) -> Iterator[Any]:
attempt = 0
while True:
attempt += 1
request_id = uuid.uuid4().hex
stream = method(
request,
metadata=self._call_metadata(metadata, request_id),
timeout=self._timeout if timeout is None else timeout,
)
iterator = iter(stream)
try:
first = next(iterator)
except StopIteration:
return iter(())
except grpc.RpcError as error:
code = error.code()
if retryable and self._retry.should_retry(code, attempt):
time.sleep(self._retry.backoff_for(attempt))
continue
raise _map_error(rpc_name, error) from error
def _drain() -> Iterator[Any]:
yield first
try:
for item in iterator:
yield item
except grpc.RpcError as error:
raise _map_error(rpc_name, error) from error
return _drain()
def _invoke_client_streaming(
self,
method: Callable[..., Any],
rpc_name: str,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None,
timeout: float | None,
) -> Any:
request_id = uuid.uuid4().hex
try:
return method(
request_iterator,
metadata=self._call_metadata(metadata, request_id),
timeout=self._timeout if timeout is None else timeout,
)
except grpc.RpcError as error:
raise _map_error(rpc_name, error) from error
class AnalyticsServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.analytics.services.v1"
_SERVICE_NAME = "AnalyticsService"
_SERVICE_FULL = "udb.core.analytics.services.v1.AnalyticsService"
def get_executor_performance(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetExecutorPerformance,
"GetExecutorPerformance",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_pipeline_summary(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetPipelineSummary,
"GetPipelineSummary",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_reconciliation_analytics(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetReconciliationAnalytics,
"GetReconciliationAnalytics",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_sla_compliance(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetSlaCompliance,
"GetSlaCompliance",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_throughput(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetThroughput,
"GetThroughput",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def record_pipeline_metric(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RecordPipelineMetric,
"RecordPipelineMetric",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def trigger_snapshot(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.TriggerSnapshot,
"TriggerSnapshot",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class ApiKeyServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.apikey.services.v1"
_SERVICE_NAME = "ApiKeyService"
_SERVICE_FULL = "udb.core.apikey.services.v1.ApiKeyService"
def create_api_key(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateApiKey,
"CreateApiKey",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_api_key(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetApiKey,
"GetApiKey",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_api_key_usage_stats(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetApiKeyUsageStats,
"GetApiKeyUsageStats",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_api_keys(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListApiKeys,
"ListApiKeys",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def revoke_api_key(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RevokeApiKey,
"RevokeApiKey",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def update_api_key(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpdateApiKey,
"UpdateApiKey",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def validate_api_key(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ValidateApiKey,
"ValidateApiKey",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class AuthnServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.authn.services.v1"
_SERVICE_NAME = "AuthnService"
_SERVICE_FULL = "udb.core.authn.services.v1.AuthnService"
def admin_reset_password(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.AdminResetPassword,
"AdminResetPassword",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def authenticate(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Authenticate,
"Authenticate",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def change_password(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ChangePassword,
"ChangePassword",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def change_user_status(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ChangeUserStatus,
"ChangeUserStatus",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def confirm_m_f_a_enrollment(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ConfirmMFAEnrollment,
"ConfirmMFAEnrollment",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def create_session(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateSession,
"CreateSession",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def create_user(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateUser,
"CreateUser",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def enroll_m_f_a(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.EnrollMFA,
"EnrollMFA",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_session(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetSession,
"GetSession",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_user(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetUser,
"GetUser",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_sessions(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListSessions,
"ListSessions",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_users(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListUsers,
"ListUsers",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def login(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Login,
"Login",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def logout(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Logout,
"Logout",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def refresh_session(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RefreshSession,
"RefreshSession",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def refresh_token(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RefreshToken,
"RefreshToken",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def resend_o_t_p(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ResendOTP,
"ResendOTP",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def revoke_session(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RevokeSession,
"RevokeSession",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def send_o_t_p(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.SendOTP,
"SendOTP",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def update_user(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpdateUser,
"UpdateUser",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def validate_c_s_r_f(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ValidateCSRF,
"ValidateCSRF",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def validate_token(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ValidateToken,
"ValidateToken",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def verify_o_t_p(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.VerifyOTP,
"VerifyOTP",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class AuthzServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.authz.services.v1"
_SERVICE_NAME = "AuthzService"
_SERVICE_FULL = "udb.core.authz.services.v1.AuthzService"
def assign_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.AssignRole,
"AssignRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def authorize(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Authorize,
"Authorize",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def batch_check_permissions(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.BatchCheckPermissions,
"BatchCheckPermissions",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def check_access(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CheckAccess,
"CheckAccess",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def create_policy_rule(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreatePolicyRule,
"CreatePolicyRule",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def create_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateRole,
"CreateRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def delete_policy_rule(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DeletePolicyRule,
"DeletePolicyRule",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def delete_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DeleteRole,
"DeleteRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_native_access(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetNativeAccess,
"GetNativeAccess",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_policy_bundle(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetPolicyBundle,
"GetPolicyBundle",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_policy_rule(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetPolicyRule,
"GetPolicyRule",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetRole,
"GetRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def lint_authz_policies(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.LintAuthzPolicies,
"LintAuthzPolicies",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_access_decision_audits(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListAccessDecisionAudits,
"ListAccessDecisionAudits",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_policy_rules(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListPolicyRules,
"ListPolicyRules",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_roles(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListRoles,
"ListRoles",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_user_permissions(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListUserPermissions,
"ListUserPermissions",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_user_roles(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListUserRoles,
"ListUserRoles",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def put_authz_policy(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PutAuthzPolicy,
"PutAuthzPolicy",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def put_relationship(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PutRelationship,
"PutRelationship",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def put_role_binding(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PutRoleBinding,
"PutRoleBinding",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def revoke_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RevokeRole,
"RevokeRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def update_role(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpdateRole,
"UpdateRole",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class NotificationServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.notification.services.v1"
_SERVICE_NAME = "NotificationService"
_SERVICE_FULL = "udb.core.notification.services.v1.NotificationService"
def get_delivery_stats(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetDeliveryStats,
"GetDeliveryStats",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_notification(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetNotification,
"GetNotification",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_preference(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetPreference,
"GetPreference",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_template(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetTemplate,
"GetTemplate",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_notifications(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListNotifications,
"ListNotifications",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_preferences(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListPreferences,
"ListPreferences",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_templates(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListTemplates,
"ListTemplates",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def retry_notification(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RetryNotification,
"RetryNotification",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def send_notification(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.SendNotification,
"SendNotification",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def set_preference(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.SetPreference,
"SetPreference",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def upsert_template(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpsertTemplate,
"UpsertTemplate",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class TenantServiceClient(_ServiceClientBase):
_SERVICE_PKG = "udb.core.tenant.services.v1"
_SERVICE_NAME = "TenantService"
_SERVICE_FULL = "udb.core.tenant.services.v1.TenantService"
def create_tenant(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateTenant,
"CreateTenant",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_tenant(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetTenant,
"GetTenant",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_tenant_config(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetTenantConfig,
"GetTenantConfig",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_tenants(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListTenants,
"ListTenants",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def update_tenant(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpdateTenant,
"UpdateTenant",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def update_tenant_config(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.UpdateTenantConfig,
"UpdateTenantConfig",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
class DataBrokerClient(_ServiceClientBase):
_SERVICE_PKG = "udb.services.v1"
_SERVICE_NAME = "DataBroker"
_SERVICE_FULL = "udb.services.v1.DataBroker"
def activate_catalog(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ActivateCatalog,
"ActivateCatalog",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def analytical_query(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.AnalyticalQuery,
"AnalyticalQuery",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def apply_migration(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ApplyMigration,
"ApplyMigration",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def approve_migration_plan(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ApproveMigrationPlan,
"ApproveMigrationPlan",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def cache_delete(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CacheDelete,
"CacheDelete",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def cache_get(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CacheGet,
"CacheGet",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def cache_scan(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CacheScan,
"CacheScan",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def cache_set(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CacheSet,
"CacheSet",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def create_materialized_view(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.CreateMaterializedView,
"CreateMaterializedView",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def delete(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Delete,
"Delete",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def delete_policy(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DeletePolicy,
"DeletePolicy",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def dismiss_dlq_event(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DismissDlqEvent,
"DismissDlqEvent",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def document_delete(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DocumentDelete,
"DocumentDelete",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def document_find(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DocumentFind,
"DocumentFind",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def document_get(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DocumentGet,
"DocumentGet",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def document_upsert(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DocumentUpsert,
"DocumentUpsert",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def drop_resource(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.DropResource,
"DropResource",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def enqueue_outbox_event(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.EnqueueOutboxEvent,
"EnqueueOutboxEvent",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def ensure_project(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.EnsureProject,
"EnsureProject",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def ensure_resource(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.EnsureResource,
"EnsureResource",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def generate_presigned_url(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GeneratePresignedUrl,
"GeneratePresignedUrl",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def generic_dispatch(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GenericDispatch,
"GenericDispatch",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_admin_summary(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetAdminSummary,
"GetAdminSummary",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_capabilities(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetCapabilities,
"GetCapabilities",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_catalog_manifest(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetCatalogManifest,
"GetCatalogManifest",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_catalog_version(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetCatalogVersion,
"GetCatalogVersion",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_catalog_versions(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetCatalogVersions,
"GetCatalogVersions",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_cdc_status(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetCdcStatus,
"GetCdcStatus",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_dlq_event(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetDlqEvent,
"GetDlqEvent",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_health_report(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetHealthReport,
"GetHealthReport",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_migration_status(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetMigrationStatus,
"GetMigrationStatus",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_saga(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GetSaga,
"GetSaga",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def graph_mutate(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GraphMutate,
"GraphMutate",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def graph_query(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.GraphQuery,
"GraphQuery",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def initiate_multipart_upload(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.InitiateMultipartUpload,
"InitiateMultipartUpload",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def lint_policies(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.LintPolicies,
"LintPolicies",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_admin_audit_logs(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListAdminAuditLogs,
"ListAdminAuditLogs",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_dlq_events(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListDlqEvents,
"ListDlqEvents",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_message_schemas(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListMessageSchemas,
"ListMessageSchemas",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_migration_runs(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListMigrationRuns,
"ListMigrationRuns",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_policies(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListPolicies,
"ListPolicies",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_projects(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListProjects,
"ListProjects",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_resources(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListResources,
"ListResources",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def list_sagas(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ListSagas,
"ListSagas",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def lookup_message_schema(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.LookupMessageSchema,
"LookupMessageSchema",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def mark_saga_reviewed(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.MarkSagaReviewed,
"MarkSagaReviewed",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def pause_cdc(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PauseCdc,
"PauseCdc",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def plan_migration(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PlanMigration,
"PlanMigration",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def preview_cdc_redaction(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PreviewCdcRedaction,
"PreviewCdcRedaction",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def put_policy(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.PutPolicy,
"PutPolicy",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def quarantine_dlq_event(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.QuarantineDlqEvent,
"QuarantineDlqEvent",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def reload_policies(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ReloadPolicies,
"ReloadPolicies",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def replay_dlq_event(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ReplayDlqEvent,
"ReplayDlqEvent",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def resume_cdc(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ResumeCdc,
"ResumeCdc",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def retry_saga_compensation(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RetrySagaCompensation,
"RetrySagaCompensation",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def rollback_catalog(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.RollbackCatalog,
"RollbackCatalog",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def scan_projection_drift(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ScanProjectionDrift,
"ScanProjectionDrift",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def select(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Select,
"Select",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def stage_catalog(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.StageCatalog,
"StageCatalog",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def step_down_cdc_leader(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.StepDownCdcLeader,
"StepDownCdcLeader",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def time_series_query(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.TimeSeriesQuery,
"TimeSeriesQuery",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def time_series_write(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.TimeSeriesWrite,
"TimeSeriesWrite",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def upsert(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.Upsert,
"Upsert",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def validate_catalog(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.ValidateCatalog,
"ValidateCatalog",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def vector_hybrid_search(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.VectorHybridSearch,
"VectorHybridSearch",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def vector_search(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.VectorSearch,
"VectorSearch",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def vector_upsert(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.VectorUpsert,
"VectorUpsert",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def verify_admin_audit_log(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Any:
return self._invoke_unary(
self._stub.VerifyAdminAuditLog,
"VerifyAdminAuditLog",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def get_object(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Iterator[Any]:
return self._invoke_server_streaming(
self._stub.GetObject,
"GetObject",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def publish_c_d_c(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Iterator[Any]:
return self._invoke_server_streaming(
self._stub.PublishCDC,
"PublishCDC",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def select_v2(
self,
request: Any,
*,
metadata: Metadata | None = None,
timeout: float | None = None,
retry: bool = True,
) -> Iterator[Any]:
return self._invoke_server_streaming(
self._stub.SelectV2,
"SelectV2",
request,
metadata=metadata,
timeout=timeout,
retryable=retry,
)
def put_object(
self,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None = None,
timeout: float | None = None,
) -> Any:
return self._invoke_client_streaming(
self._stub.PutObject,
"PutObject",
request_iterator,
metadata=metadata,
timeout=timeout,
)
def batch_select(
self,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None = None,
timeout: float | None = None,
) -> Iterator[Any]:
stream = self._invoke_client_streaming(
self._stub.BatchSelect,
"BatchSelect",
request_iterator,
metadata=metadata,
timeout=timeout,
)
try:
for item in stream:
yield item
except grpc.RpcError as error:
raise _map_error("BatchSelect", error) from error
def batch_upsert(
self,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None = None,
timeout: float | None = None,
) -> Iterator[Any]:
stream = self._invoke_client_streaming(
self._stub.BatchUpsert,
"BatchUpsert",
request_iterator,
metadata=metadata,
timeout=timeout,
)
try:
for item in stream:
yield item
except grpc.RpcError as error:
raise _map_error("BatchUpsert", error) from error
def begin_tx(
self,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None = None,
timeout: float | None = None,
) -> Iterator[Any]:
stream = self._invoke_client_streaming(
self._stub.BeginTx,
"BeginTx",
request_iterator,
metadata=metadata,
timeout=timeout,
)
try:
for item in stream:
yield item
except grpc.RpcError as error:
raise _map_error("BeginTx", error) from error
def vector_batch_upsert(
self,
request_iterator: Iterable[Any],
*,
metadata: Metadata | None = None,
timeout: float | None = None,
) -> Iterator[Any]:
stream = self._invoke_client_streaming(
self._stub.VectorBatchUpsert,
"VectorBatchUpsert",
request_iterator,
metadata=metadata,
timeout=timeout,
)
try:
for item in stream:
yield item
except grpc.RpcError as error:
raise _map_error("VectorBatchUpsert", error) from error
class GeneratedClient:
def __init__(self, target: str = "", metadata: Metadata | None = None, **kwargs: Any) -> None:
self._kwargs = kwargs
self._target = target
self._metadata = metadata
self.AnalyticsService: AnalyticsServiceClient = AnalyticsServiceClient(
target, metadata, **kwargs
)
self.ApiKeyService: ApiKeyServiceClient = ApiKeyServiceClient(
target, metadata, **kwargs
)
self.AuthnService: AuthnServiceClient = AuthnServiceClient(
target, metadata, **kwargs
)
self.AuthzService: AuthzServiceClient = AuthzServiceClient(
target, metadata, **kwargs
)
self.NotificationService: NotificationServiceClient = NotificationServiceClient(
target, metadata, **kwargs
)
self.TenantService: TenantServiceClient = TenantServiceClient(
target, metadata, **kwargs
)
self.DataBroker: DataBrokerClient = DataBrokerClient(
target, metadata, **kwargs
)
def bind_metadata(self, metadata: Metadata) -> None:
self._metadata = metadata
self.AnalyticsService.bind_metadata(metadata)
self.ApiKeyService.bind_metadata(metadata)
self.AuthnService.bind_metadata(metadata)
self.AuthzService.bind_metadata(metadata)
self.NotificationService.bind_metadata(metadata)
self.TenantService.bind_metadata(metadata)
self.DataBroker.bind_metadata(metadata)
def close(self) -> None:
self.AnalyticsService.close()
self.ApiKeyService.close()
self.AuthnService.close()
self.AuthzService.close()
self.NotificationService.close()
self.TenantService.close()
self.DataBroker.close()
def __enter__(self) -> "GeneratedClient":
return self
def __exit__(self, *_: object) -> None:
self.close()