Aller au contenu principal

io.enterpriseai.resources.PluginsClient

Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/PluginsClient.java. Retour à l'index de la référence du SDK Java.

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 PluginsClient​

Plugins. Registre et cycle de vie d'exécution des plugins : des images OCI signées exécutées par la plateforme dans une sandbox (classe de runtime gVisor, Kata ou Wasm), avec un Deployment et une NetworkPolicy Kubernetes générés à partir du manifeste.

Constructeur PluginsClient​

PluginsClient(Transport transport)

Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.

NomTypeDéfautRequisDescription
transportTransportouiTransport partagé par les sous-clients d'un même client.

PluginsClient.create​

JsonNode create(Object body)

Enregistrer un plugin. Applique un manifeste Plugin : crée le plugin ou le met à jour (retour à registered, un plugin bloqué reste blocked), avec la signature vérifiée et enregistrée. Refus : 422 pack_requires_marketplace pour un pack, 422 invalid_manifest quand l'empreinte de oci_ref diffère de artifact.digest, qu'une liste d'autorisation manque pour egress_allowlist ou que les limites dépassent le maximum de la plateforme (4 CPU, 8Gi de mémoire, 3600 s, 1 GPU) ; 409 plugin_installed tant qu'il est installé. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous plugin.apply.

Route : /v1/plugins (POST).

NomTypeDéfautRequisDescription
bodyObjectouiManifeste Plugin (kind: Plugin, metadata, spec avec description, artefact, signature et sandbox).

Retour : JsonNode. Réponse JSON décodée de l'opération « Enregistrer un plugin ».

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

PluginsClient.create​

JsonNode create(Object body, RequestOptions options)

Enregistrer un plugin. Applique un manifeste Plugin : crée le plugin ou le met à jour (retour à registered, un plugin bloqué reste blocked), avec la signature vérifiée et enregistrée. Refus : 422 pack_requires_marketplace pour un pack, 422 invalid_manifest quand l'empreinte de oci_ref diffère de artifact.digest, qu'une liste d'autorisation manque pour egress_allowlist ou que les limites dépassent le maximum de la plateforme (4 CPU, 8Gi de mémoire, 3600 s, 1 GPU) ; 409 plugin_installed tant qu'il est installé. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous plugin.apply.

Route : /v1/plugins (POST).

NomTypeDéfautRequisDescription
bodyObjectouiManifeste Plugin (kind: Plugin, metadata, spec avec description, artefact, signature et sandbox).
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Enregistrer un plugin ».

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

PluginsClient.get​

JsonNode get(String name)

Lire un plugin. Renvoie le plugin avec son manifeste, son résultat de vérification et son déploiement généré. Demande la relation ReBAC viewer. 404 plugin_not_found.

Route : /v1/plugins/{name} (GET).

NomTypeDéfautRequisDescription
nameStringouiNom du plugin.

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

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

PluginsClient.install​

JsonNode install(String name)

Installer un plugin. Installe le plugin dans sa sandbox. Demande tenant_admin et la relation ReBAC owner. Étapes : 1. Un plugin blocked répond 403 plugin_blocked ; un plugin déjà installé est renvoyé tel quel. 2. La signature est revérifiée (403 plugin_unsigned en cas d'échec, audité comme refus). 3. Le Deployment (classe de runtime de la sandbox, système de fichiers racine en lecture seule par défaut) et la NetworkPolicy sont générés, puis appliqués quand Kubernetes est configuré (status: failed avec l'erreur si l'application échoue). Renvoie l'état d'exécution. Audité sous plugin.install.

Route : /v1/plugins/{name}/install (POST).

NomTypeDéfautRequisDescription
nameStringouiNom du plugin.

Retour : JsonNode. Réponse JSON décodée de l'opération « Installer un plugin ».

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

PluginsClient.list​

Page<JsonNode> list()

Lister les plugins. Plugins du tenant dans l'ordre des noms, avec version, empreinte, vérification et statut. Une seule page.

Route : /v1/plugins (GET).

Cet élément ne prend aucun paramètre.

Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les plugins ».

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

PluginsClient.status​

JsonNode status(String name)

Lire l'état d'exécution d'un plugin. Vue d'exécution : statut, indicateur de vérification, empreinte, date d'installation, classe de runtime, objets rendered (générés) ou applied (appliqués) sur Kubernetes, Deployment et NetworkPolicy et dernière erreur. Demande la relation ReBAC viewer.

Route : /v1/plugins/{name}/status (GET).

NomTypeDéfautRequisDescription
nameStringouiNom du plugin.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire l'état d'exécution d'un plugin ».

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

PluginsClient.uninstall​

JsonNode uninstall(String name)

Désinstaller un plugin. Supprime le Deployment et la NetworkPolicy de Kubernetes s'il est configuré (502 upstream_error en cas d'échec) et passe le plugin à uninstalled. Seulement pour un plugin installed, installing ou failed (sinon 409 plugin_not_installed). Demande tenant_admin et la relation ReBAC owner. Audité sous plugin.uninstall.

Route : /v1/plugins/{name}/uninstall (POST).

NomTypeDéfautRequisDescription
nameStringouiNom du plugin.

Retour : JsonNode. Réponse JSON décodée de l'opération « Désinstaller un plugin ».

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