Aller au contenu principal

enterprise_ai.tenant

Source : sdks/python/src/enterprise_ai/tenant/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe TenantsClient​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

TenantsClient.create​

create(slug: str, name: str, **extra: Any) -> Any

Créer un tenant. Crée un tenant et fait de chaque sujet de admins son tenant_admin. Exige platform_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit tenant.create dans la chaîne du nouveau tenant.

Route : /v1/tenants (POST).

NomTypeDéfautRequisDescription
slugstrouiIdentifiant court du tenant, minuscules, chiffres et tirets, 2 à 63 caractères. Sert aussi dans la revendication tenant et dans les noms de groupes de l'annuaire.
namestrouiNom affiché, 1 à 200 caractères.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Créer un tenant ».

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsClient.get​

get(tenant_id: str) -> Any

Lire un tenant. Renvoie un tenant : identifiant court, nom, statut, résidence des données et paramètres. Un tenant que l'appelant ne peut pas voir répond 404 not_found.

Route : /v1/tenants/{tenant_id} (GET).

NomTypeDéfautRequisDescription
tenant_idstrouiIdentifiant (UUID) du tenant.

Retour : Any. Réponse JSON décodée de l'opération « Lire un tenant ».

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsClient.list​

list(**page: Any) -> Any

Lister les tenants. Liste les tenants visibles par l'appelant, triés par identifiant court, paginés : son propre tenant pour un identifiant de tenant, tous les tenants pour un administrateur de plateforme.

Route : /v1/tenants (GET).

NomTypeDéfautRequisDescription
**pageAnynonOptions de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs.

Retour : Any. Réponse JSON décodée de l'opération « Lister les tenants ».

Erreurs levées : les erreurs typées du transport (Erreurs).

TenantsClient.update​

update(tenant_id: str, **changes: Any) -> Any

Modifier un tenant. Modifie le nom, la résidence des données, les paramètres ou le statut d'un tenant. Exige tenant_admin ; changer status (active ou suspended) exige un administrateur de plateforme (403 forbidden). Un tenant suspendu répond 403 tenant_suspended à tout identifiant. Écrit l'événement d'audit tenant.update.

Route : /v1/tenants/{tenant_id} (PATCH).

NomTypeDéfautRequisDescription
tenant_idstrouiIdentifiant (UUID) du tenant.
**changesAnynonChamps du tenant à modifier, envoyés comme corps du PATCH.

Retour : Any. Réponse JSON décodée de l'opération « Modifier un tenant ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe ProjectsClient​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

ProjectsClient.create​

create(slug: str, name: str, **extra: Any) -> Any

Créer un projet. Crée un projet dans le tenant de l'appelant. Exige tenant_admin.

Route : /v1/projects (POST).

NomTypeDéfautRequisDescription
slugstrouiIdentifiant court du projet, minuscules, chiffres et tirets, 63 caractères au plus, unique dans le tenant. Utilisé dans l'en-tête X-Project.
namestrouiNom affiché, 1 à 200 caractères.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Créer un projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.create_environment​

create_environment(project_id: str, name: str, **extra: Any) -> Any

Créer un environnement. Ajoute un environnement (dev, test, staging ou prod) au projet. Exige tenant_admin et la relation editor sur le projet. Un environnement qui existe déjà répond 409 conflict. Écrit l'événement d'audit environment.create.

Route : /v1/projects/{project_id}/environments (POST).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) du projet.
namestrouidev, test, staging ou prod.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Créer un environnement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.delete​

delete(project_id: str) -> Any

Supprimer un projet. Supprime le projet et ses environnements. Exige tenant_admin et la relation owner sur le projet (403 relation_required). Des objets qui référencent encore le projet peuvent bloquer la suppression (409 conflict). Écrit l'événement d'audit project.delete. Répond 204.

Route : /v1/projects/{project_id} (DELETE).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) du projet.

Retour : Any. Réponse JSON décodée de l'opération « Supprimer un projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.get​

get(project_id: str) -> Any

Lire un projet. Renvoie le projet avec ses environnements. Exige la relation viewer sur le projet (403 relation_required, audité). Répond 404 not_found pour un projet inconnu.

Route : /v1/projects/{project_id} (GET).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) du projet.

Retour : Any. Réponse JSON décodée de l'opération « Lire un projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.list​

list(**page: Any) -> Any

Lister les projets. Liste les projets du tenant triés par identifiant court, paginés, éventuellement filtrés par organisation ou unité métier. Ouvert à tout membre du tenant.

Route : /v1/projects (GET).

NomTypeDéfautRequisDescription
**pageAnynonOptions de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs.

Retour : Any. Réponse JSON décodée de l'opération « Lister les projets ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.list_environments​

list_environments(project_id: str) -> Any

Lister les environnements d'un projet. Liste les environnements du projet, triés par nom. Exige la relation viewer sur le projet. Non paginé : next_cursor vaut toujours null.

Route : /v1/projects/{project_id}/environments (GET).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) du projet.

Retour : Any. Réponse JSON décodée de l'opération « Lister les environnements d'un projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ProjectsClient.update​

update(project_id: str, **changes: Any) -> Any

Modifier un projet. Modifie le nom, la description, les paramètres, les métadonnées ou le rattachement d'un projet. Envoyer organization_id ou business_unit_id à null détache le projet. L'unité doit appartenir à l'organisation (422 invalid_hierarchy). Exige tenant_admin et la relation editor sur le projet. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit project.update.

Route : /v1/projects/{project_id} (PATCH).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) du projet.
**changesAnynonChamps du projet à modifier, envoyés comme corps du PATCH.

Retour : Any. Réponse JSON décodée de l'opération « Modifier un projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe OrganizationsClient​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

OrganizationsClient.create​

create(slug: str, name: str, description: str | None = None, metadata: dict[str, Any] | None = None) -> Any

Créer une organisation. Crée une organisation dans le tenant. Exige tenant_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit organization.create.

Route : /v1/organizations (POST).

NomTypeDéfautRequisDescription
slugstrouiIdentifiant court en minuscules, chiffres et tirets, commençant par une lettre ou un chiffre, 63 caractères au plus. Unique, il ne peut plus être modifié.
namestrouiNom affiché, 1 à 200 caractères.
descriptionstr | NoneNonenonDescription, 2000 caractères au plus (vide par défaut).
metadatadict[str, Any] | NoneNonenonPaires clé-valeur libres enregistrées avec l'objet. Contrôlées par la base : un objet refusé répond 422 invalid_metadata.

Retour : Any. Réponse JSON décodée de l'opération « Créer une organisation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

OrganizationsClient.list​

list(**page: Any) -> Any

Lister les organisations. Liste les organisations du tenant, paginées. Ouvert à tout membre du tenant.

Route : /v1/organizations (GET).

NomTypeDéfautRequisDescription
**pageAnynonOptions de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs.

Retour : Any. Réponse JSON décodée de l'opération « Lister les organisations ».

Erreurs levées : les erreurs typées du transport (Erreurs).

OrganizationsClient.update​

update(organization_id: str, expected_version: int | None = None, **changes: Any) -> Any

Modifier une organisation. Modifie le nom, la description, le statut (active ou archived) ou les métadonnées d'une organisation. Exige tenant_admin. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit organization.update.

Route : /v1/organizations/{organization_id} (PATCH).

NomTypeDéfautRequisDescription
organization_idstrouiIdentifiant (UUID) de l'organisation.
expected_versionint | NoneNonenonVersion lue en dernier par l'appelant. Une version périmée répond 409 version_conflict (concurrence optimiste).
**changesAnynonChamps de l'organisation à modifier, envoyés comme corps du PATCH.

Retour : Any. Réponse JSON décodée de l'opération « Modifier une organisation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe BusinessUnitsClient​

Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.

Resource

BusinessUnitsClient.create​

create(organization_id: str, slug: str, name: str, parent_id: str | None = None, description: str | None = None, metadata: dict[str, Any] | None = None) -> Any

Créer une unité métier. Crée une unité métier dans une organisation, éventuellement sous une unité parente de la même organisation (422 invalid_hierarchy sinon). Exige tenant_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit business_unit.create.

Route : /v1/business-units (POST).

NomTypeDéfautRequisDescription
organization_idstrouiOrganisation qui contient l'unité. Obligatoire.
slugstrouiIdentifiant court en minuscules, chiffres et tirets, commençant par une lettre ou un chiffre, 63 caractères au plus. Unique, il ne peut plus être modifié.
namestrouiNom affiché, 1 à 200 caractères.
parent_idstr | NoneNonenonUnité parente dans la même organisation ; null pour une unité de premier niveau. Ne peut plus être modifiée.
descriptionstr | NoneNonenonDescription, 2000 caractères au plus (vide par défaut).
metadatadict[str, Any] | NoneNonenonPaires clé-valeur libres enregistrées avec l'objet. Contrôlées par la base : un objet refusé répond 422 invalid_metadata.

Retour : Any. Réponse JSON décodée de l'opération « Créer une unité métier ».

Erreurs levées : les erreurs typées du transport (Erreurs).

BusinessUnitsClient.list​

list(organization_id: str | None = None, parent_id: str | None = None, **page: Any) -> Any

Lister les unités métier. Liste les unités métier du tenant, paginées, éventuellement filtrées par organisation ou par unité parente. Ouvert à tout membre du tenant.

Route : /v1/business-units (GET).

NomTypeDéfautRequisDescription
organization_idstr | NoneNonenonUniquement les unités de cette organisation.
parent_idstr | NoneNonenonUniquement les enfants directs de cette unité métier.
**pageAnynonOptions de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs.

Retour : Any. Réponse JSON décodée de l'opération « Lister les unités métier ».

Erreurs levées : les erreurs typées du transport (Erreurs).

BusinessUnitsClient.update​

update(business_unit_id: str, expected_version: int | None = None, **changes: Any) -> Any

Modifier une unité métier. Modifie le nom, la description, le statut (active ou archived) ou les métadonnées d'une unité métier. Son organisation et son parent ne peuvent pas changer. Exige tenant_admin. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit business_unit.update.

Route : /v1/business-units/{business_unit_id} (PATCH).

NomTypeDéfautRequisDescription
business_unit_idstrouiIdentifiant (UUID) de l'unité métier.
expected_versionint | NoneNonenonVersion lue en dernier par l'appelant. Une version périmée répond 409 version_conflict (concurrence optimiste).
**changesAnynonChamps de l'unité métier à modifier, envoyés comme corps du PATCH.

Retour : Any. Réponse JSON décodée de l'opération « Modifier une unité métier ».

Erreurs levées : les erreurs typées du transport (Erreurs).