WeaviateEx.GRPC.Services.Tenants (WeaviateEx v0.7.4)

View Source

gRPC Tenants service for multi-tenancy operations.

This module provides high-level functions for managing tenants in multi-tenant Weaviate collections using gRPC.

Usage

{:ok, channel} = WeaviateEx.GRPC.Channel.connect(config)

{:ok, tenants} = Tenants.list(channel, "Article")
{:ok, tenant} = Tenants.get(channel, "Article", "tenant_a")

Summary

Functions

List all tenants for a collection.

Parse tenant activity status.

Types

tenant_opts()

@type tenant_opts() :: [timeout: non_neg_integer(), api_key: String.t() | nil]

Functions

exists?(channel, collection, tenant_name, opts \\ [])

@spec exists?(GRPC.Channel.t(), String.t(), String.t(), tenant_opts()) ::
  {:ok, boolean()} | {:error, WeaviateEx.Error.t()}

Check if a tenant exists.

Examples

{:ok, exists} = Tenants.exists?(channel, "Article", "tenant_a")

get(channel, collection, tenant_names, opts \\ [])

@spec get(GRPC.Channel.t(), String.t(), String.t() | [String.t()], tenant_opts()) ::
  {:ok, struct()} | {:error, WeaviateEx.Error.t()}

Get specific tenants by name.

Examples

{:ok, reply} = Tenants.get(channel, "Article", ["tenant_a", "tenant_b"])
{:ok, reply} = Tenants.get(channel, "Article", "tenant_a")

list(channel, collection, opts \\ [])

@spec list(GRPC.Channel.t(), String.t(), tenant_opts()) ::
  {:ok, struct()} | {:error, WeaviateEx.Error.t()}

List all tenants for a collection.

Examples

{:ok, reply} = Tenants.list(channel, "Article")
tenants = reply.tenants

parse_status(arg1)

@spec parse_status(atom() | integer()) :: atom()

Parse tenant activity status.

Examples

status = Tenants.parse_status(:TENANT_ACTIVITY_STATUS_HOT)
# => :hot