enterprise_ai.marketplace
Source : sdks/python/src/enterprise_ai/marketplace/__init__.py. Retour à l'index de la référence du SDK Python.
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 MarketplaceClient
Marketplace. Catalogue de packs signés (ensembles d'agents, sous-agents, skills, outils, connecteurs, serveurs MCP et ressources), leurs contrôles de publication, le contrôle de mise en production, les éditeurs de confiance, les installations par environnement et le circuit de gestion des changements.
Resource
MarketplaceClient.advance_change
advance_change(change_id: str, evidence: dict[str, Any] | None = None, approval_id: str | None = None) -> Any
Faire avancer un changement. Fait passer le changement à l'étape suivante. Demande tenant_admin, developer ou security_officer. Contrôles par étape visée : 1. test : seul l'auteur (ou tenant_admin) quitte draft (403 change_not_author). 2. security_review : evidence.tests doit réussir (passed > 0, aucun failed, aucune errors), sinon 422 change_evidence_missing. 3. business_approval : approbation change.security_review par un security_officer. 4. staging : approbation change.business_approval par un tenant_admin. 5. production : staging_smoke réussi, puis approbation change.production avec un quorum de deux. 6. monitoring : production_smoke réussi. Sans approval_id, une étape soumise à approbation répond 202 avec l'approbation à obtenir ; rappelez avec l'identifiant approuvé pour obtenir 200. L'auteur n'approuve jamais. Un changement clos répond 409 change_closed.
Route : /v1/marketplace/changes/{change_id}/advance (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
change_id | str | oui | Identifiant (UUID) de la demande de changement. | |
evidence | dict[str, Any] | None | None | non | Résultats ajoutés aux preuves du changement, par clé : tests, staging_smoke, production_smoke, chacun {passed, failed, errors}. |
approval_id | str | None | None | non | Demande approuvée pour une étape qui exige une approbation (second appel). |
Retour : Any. Réponse JSON décodée de l'opération « Faire avancer un changement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.apply_installation
apply_installation(installation_id: str) -> Any
Appliquer une installation approuvée. Exécute l'installation ou la mise à niveau en attente une fois son approbation accordée : la politique et le preflight sont revérifiés, les objets du pack sont créés dans un point de sauvegarde, les objets de l'ancienne version qui n'en font plus partie sont retirés et un smoke test s'exécute. Un smoke test en échec annule tout et répond 422 smoke_failed. Demande tenant_admin. 409 installation_state quand rien n'est en attente. Audité sous marketplace.install ou marketplace.upgrade.
Route : /v1/marketplace/installations/{installation_id}/apply (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Appliquer une installation approuvée ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.authorize_installation
authorize_installation(installation_id: str, permission: str) -> Any
Vérifier une permission à l'exécution. Contrôle de permission à l'exécution utilisé par les serveurs MCP et les connecteurs du pack : permis seulement si l'installation est installed, que la permission a été accordée, n'est pas suspendue et n'est pas un export externe refusé par les réglages de protection des données. Sinon 403 avec permission_not_granted, permission_suspended, installation_suspended ou external_export_denied, enregistré comme événement authorize_denied. Demande tenant_admin, developer, agent ou service.
Route : /v1/marketplace/installations/{installation_id}/authorize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. | |
permission | str | oui | Scope de permission, par exemple crm.contacts:read (2 à 128 caractères, minuscules). |
Retour : Any. Réponse JSON décodée de l'opération « Vérifier une permission à l'exécution ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.create_change
create_change(kind: str, ref: str, version: str, title: str | None = None) -> Any
Ouvrir une demande de changement. Ouvre un changement d'un prompt, skill, connecteur, règle, modèle, politique, outil, agent ou pack à l'étape draft. Demande tenant_admin ou developer ; la politique change.create est évaluée. Audité sous change.create.
Route : /v1/marketplace/changes (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
kind | str | oui | Type d'objet : prompt, skill, connector, rule, model, policy, tool, agent ou pack. | |
ref | str | oui | Nom de l'objet : minuscules, chiffres, ., _ et -, 1 à 128 caractères, commençant et finissant par une lettre ou un chiffre. | |
version | str | oui | Version de l'objet apportée par le changement (1 à 64 caractères). | |
title | str | None | None | non | Titre du changement (300 caractères au plus). |
Retour : Any. Réponse JSON décodée de l'opération « Ouvrir une demande de changement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.create_publisher
create_publisher(name: str, public_key: str) -> Any
Ajouter une clé d'éditeur de confiance. Enregistre une clé publique de signature pour le tenant ; les signatures des packs sont vérifiées avec les clés actives. Demande tenant_admin ou security_officer. Une clé illisible répond 422 publisher_invalid_key. Audité sous marketplace.publisher.add.
Route : /v1/marketplace/publishers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom de l'éditeur, même motif qu'un nom de paquet. | |
public_key | str | oui | Clé publique, au format PEM ou texte (40 à 4000 caractères). |
Retour : Any. Réponse JSON décodée de l'opération « Ajouter une clé d'éditeur de confiance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.get_change
get_change(change_id: str) -> Any
Lire une demande de changement. Renvoie le changement avec son étape, ses preuves, son approbation en attente et son history (une entrée par transition avec acteur et date). 404 change_not_found.
Route : /v1/marketplace/changes/{change_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
change_id | str | oui | Identifiant (UUID) de la demande de changement. |
Retour : Any. Réponse JSON décodée de l'opération « Lire une demande de changement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.get_installation
get_installation(installation_id: str) -> Any
Lire une installation. Renvoie l'installation : statut, paquet et version, permissions accordées et suspendues, configuration, derniers résultats de preflight et de smoke test, objets et ressources créés. 404 installation_not_found.
Route : /v1/marketplace/installations/{installation_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Lire une installation ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.get_package
get_package(name: str) -> Any
Lire un paquet et ses versions. Renvoie le paquet et toutes ses versions, de la plus ancienne à la plus récente, avec résultats des contrôles et résumé des vulnérabilités. 404 marketplace_package_not_found.
Route : /v1/marketplace/packages/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du paquet. |
Retour : Any. Réponse JSON décodée de l'opération « Lire un paquet et ses versions ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.get_version
get_version(name: str, version: str) -> Any
Lire une version de paquet. Renvoie une version : manifeste, empreinte, empreintes des fichiers, signature et son statut, licence, référence OCI, résultats des contrôles, statut de provenance et approbation de production. L'archive et le SBOM ne sont pas inclus. 404 marketplace_version_not_found.
Route : /v1/marketplace/packages/{name}/versions/{version} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du paquet. | |
version | str | oui | Version sémantique, par exemple 1.2.0. |
Retour : Any. Réponse JSON décodée de l'opération « Lire une version de paquet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.import_publication
import_publication(publication: dict[str, Any], oci_ref: str | None = None) -> Any
Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.
Route : /v1/marketplace/packages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
publication | dict[str, Any] | oui | Corps produit hors ligne par enterprise-ai plugin publish --body-out. | |
oci_ref | str | None | None | non | Référence de la copie dans le registre local ; la version pointe alors vers elle avec le condensat de la publication. |
Retour : Any. Réponse JSON décodée de l'opération « Publier une version de paquet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.install
install(package: str, version: str, environment: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any
Demander l'installation d'un pack. Ouvre une demande d'installation et répond 202 avec l'installation, l'approval_id, le quorum et le rapport de preflight. Demande tenant_admin. Étapes : 1. Le preflight s'exécute (voir POST /v1/marketplace/preflight) ; un échec répond 403 permission_unsafe, 422 config_invalid, 422 permission_not_requested, 409 package_suspended ou 422 preflight_failed. 2. Une approbation marketplace.install est ouverte pour tenant_admin ou security_officer : quorum 1 par défaut, au moins 2 quand une permission sensible est accordée ou que l'environnement est prod. 3. Une fois approuvée, appelez POST .../installations/{id}/apply. 409 installation_exists quand le paquet est déjà installé ou suspendu dans cet environnement.
Route : /v1/marketplace/installations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
package | str | oui | Nom du paquet. | |
version | str | oui | Version à installer (5 à 64 caractères). | |
environment | str | oui | Environnement visé : dev, test, staging ou prod. | |
approved_permissions | list[str] | None | None | non | Scopes de permission accordés au pack, parmi ceux qu'il demande (200 au plus). Les jokers et les scopes d'administration sont refusés. |
config | dict[str, Any] | None | None | non | Configuration du pack, validée selon son configSchema ; model_id doit désigner un modèle approuvé. |
secret_refs | dict[str, str] | None | None | non | Référence de secret par nom de connecteur, openbao://... ou env://... ; requise pour un connecteur authentifié. |
Retour : Any. Réponse JSON décodée de l'opération « Demander l'installation d'un pack ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.installation_events
installation_events(installation_id: str) -> Any
Lister les événements d'une installation. Historique du cycle de vie de l'installation, du plus ancien au plus récent : demandes, installations, mises à niveau, retours arrière, smoke tests en échec, suspensions, reprises, autorisations refusées, avec versions, résultat et acteur. Une seule page.
Route : /v1/marketplace/installations/{installation_id}/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les événements d'une installation ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.list_changes
list_changes(kind: str | None = None, ref: str | None = None, stage: str | None = None) -> Any
Lister les demandes de changement. Demandes de changement du tenant, de la plus récente à la plus ancienne, 200 au plus, filtrables par type, référence et étape. Tout principal du tenant peut l'appeler.
Route : /v1/marketplace/changes (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
kind | str | None | None | non | Seulement ce type : prompt, skill, connector, rule, model, policy, tool, agent ou pack. |
ref | str | None | None | non | Seulement les changements de ce nom d'objet. |
stage | str | None | None | non | Seulement les changements à cette étape : draft, test, security_review, business_approval, staging, production, monitoring ou rejected. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les demandes de changement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.list_installations
list_installations(environment: str | None = None) -> Any
Lister les installations. Installations du tenant, de la plus ancienne à la plus récente, chacune avec paquet, version et ressources créées. Une seule page.
Route : /v1/marketplace/installations (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
environment | str | None | None | non | Seulement les installations de cet environnement : dev, test, staging ou prod. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les installations ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.list_packages
list_packages(domain: str | None = None) -> Any
Lister les paquets. Paquets du catalogue dans l'ordre des noms, avec statut, dernière version, éditeur et catégorie. Une seule page.
Route : /v1/marketplace/packages (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
domain | str | None | None | non | Seulement les paquets de ce domaine métier. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les paquets ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.list_publishers
list_publishers() -> Any
Lister les éditeurs. Clés de signature de confiance, par nom : algorithme, statut (active ou revoked) et scope (platform pour une clé commune à tous les tenants, tenant pour une clé de ce tenant). Les clés publiques ne sont pas renvoyées.
Route : /v1/marketplace/publishers (GET).
Cet élément ne prend aucun paramètre.
Retour : Any. Réponse JSON décodée de l'opération « Lister les éditeurs ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.preflight
preflight(package: str, version: str, environment: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any
Simuler les contrôles d'installation. Simulation des contrôles d'installation, rien n'est installé : paquet actif, environnement, configuration selon le configSchema du pack, version disponible (et en production pour prod), compatibilité de plateforme, dépendances installées, empreinte de l'archive, signature, permissions demandées et sûres, références de secrets des connecteurs, modèle approuvé, absence de conflit de noms. Renvoie passed, chaque vérification, les permissions accordées, non accordées et sensibles, les approbations requises et la protection des données appliquée. Demande tenant_admin ou security_officer. Audité sous marketplace.preflight.
Route : /v1/marketplace/preflight (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
package | str | oui | Nom du paquet. | |
version | str | oui | Version à installer (5 à 64 caractères). | |
environment | str | oui | Environnement visé : dev, test, staging ou prod. | |
approved_permissions | list[str] | None | None | non | Scopes de permission accordés au pack, parmi ceux qu'il demande (200 au plus). Les jokers et les scopes d'administration sont refusés. |
config | dict[str, Any] | None | None | non | Configuration du pack, validée selon son configSchema ; model_id doit désigner un modèle approuvé. |
secret_refs | dict[str, str] | None | None | non | Référence de secret par nom de connecteur, openbao://... ou env://... ; requise pour un connecteur authentifié. |
Retour : Any. Réponse JSON décodée de l'opération « Simuler les contrôles d'installation ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.promote_to_production
promote_to_production(name: str, version: str, approval_id: str | None = None) -> Any
Promouvoir une version en production. Contrôle de mise en production, requis pour installer une version en prod. Demande tenant_admin ou security_officer. Étapes : 1. Sans approval_id : tous les contrôles enregistrés doivent avoir réussi, la signature doit toujours être valide et une empreinte d'artefact OCI doit être jointe (sinon 422 publication_gate_failed) ; ensuite une approbation marketplace.promote est ouverte avec un quorum d'au moins deux et la réponse est 202 avec les vérifications. 2. Avec l'approval_id approuvé : la version passe à production (200). Une version déjà en production répond 200 aussitôt ; 409 package_suspended tant que le kill switch est actif.
Route : /v1/marketplace/packages/{name}/versions/{version}/production (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du paquet. | |
version | str | oui | Version sémantique, par exemple 1.2.0. | |
approval_id | str | None | None | non | Demande marketplace.promote approuvée. Omettez-la au premier appel. |
Retour : Any. Réponse JSON décodée de l'opération « Promouvoir une version en production ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.publish_package
publish_package(archive: str, signature: str | None = None, sbom: object | null = None, oci: dict[str, Any] | None = None, skill_signatures: dict[str, Any] | None = None, test_report: object | null = None, evaluation_report: object | null = None, vulnerability_scan: object | null = None, provenance: dict[str, Any] | None = None) -> Any
Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.
Route : /v1/marketplace/packages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
archive | str | oui | Le pack .tar.gz, encodé en base64 (12 Mio de texte au plus). | |
signature | str | None | None | non | Signature de l'empreinte de l'archive par un éditeur de confiance. |
sbom | object | null | None | non | Nomenclature logicielle (SBOM) du pack. |
oci | dict[str, Any] | None | None | non | Artefact OCI du pack ; son empreinte est exigée plus tard par le contrôle de mise en production. |
skill_signatures | dict[str, Any] | None | None | non | Signatures des skills du pack, par nom de skill. |
test_report | object | null | None | non | Rapport de tests lié à l'empreinte de l'archive. |
evaluation_report | object | null | None | non | Rapport d'évaluation lié à l'empreinte de l'archive. |
vulnerability_scan | object | null | None | non | Rapport d'analyse de vulnérabilités lié à l'empreinte de l'archive. |
provenance | dict[str, Any] | None | None | non | Déclaration in-toto v1 signée avec un prédicat SLSA v1 : {statement, signature: {value, signer}}. |
Retour : Any. Réponse JSON décodée de l'opération « Publier une version de paquet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.reject_change
reject_change(change_id: str, reason: str) -> Any
Rejeter une demande de changement. Clôt le changement à l'étape rejected depuis n'importe quelle étape ouverte, la raison étant gardée dans history. Demande tenant_admin ou security_officer. 409 change_closed s'il est déjà clos. Audité sous change.reject.
Route : /v1/marketplace/changes/{change_id}/reject (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
change_id | str | oui | Identifiant (UUID) de la demande de changement. | |
reason | str | oui | Raison du rejet (3 à 1000 caractères). |
Retour : Any. Réponse JSON décodée de l'opération « Rejeter une demande de changement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.revoke_publisher
revoke_publisher(name: str) -> Any
Révoquer un éditeur. Révoque toutes les clés du tenant enregistrées sous ce nom ; les signatures faites avec elles ne sont plus valides. Demande tenant_admin ou security_officer. 404 publisher_not_found. Les clés de plateforme ne peuvent pas être révoquées ici. Audité sous marketplace.publisher.revoke.
Route : /v1/marketplace/publishers/{name}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom de l'éditeur. |
Retour : Any. Réponse JSON décodée de l'opération « Révoquer un éditeur ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.rollback_installation
rollback_installation(installation_id: str) -> Any
Revenir à la version précédente. Réinstalle la version précédente avec ses permissions précédentes, dans un point de sauvegarde avec smoke test (422 smoke_failed garde la version courante). Demande tenant_admin. 409 installation_state sauf si installed ; 409 rollback_unavailable quand il n'y a pas de version précédente. Audité sous marketplace.rollback.
Route : /v1/marketplace/installations/{installation_id}/rollback (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Revenir à la version précédente ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.sbom
sbom(name: str, version: str) -> Any
Lire le SBOM d'une version. Renvoie la nomenclature logicielle (SBOM) enregistrée à la publication, son empreinte et le rapport d'analyse de vulnérabilités.
Route : /v1/marketplace/packages/{name}/versions/{version}/sbom (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du paquet. | |
version | str | oui | Version sémantique, par exemple 1.2.0. |
Retour : Any. Réponse JSON décodée de l'opération « Lire le SBOM d'une version ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.set_installation_status
set_installation_status(installation_id: str, status: str, reason: str | None = None, permissions: list[str] | None = None, approval_id: str | None = None) -> Any
Suspendre ou reprendre une installation. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Sans permissions, toute l'installation est suspendue (outils bloqués, agents suspendus, serveurs MCP désactivés, ressources suspendues) ; avec permissions, seulement ces capacités accordées (422 permission_not_granted pour les autres). Répond 200. - status: installed : reprise. Sans approval_id, ouvre une approbation marketplace.resume avec un quorum de deux et répond 202 ; avec l'identifiant approuvé, lève la suspension et répond 200. Refusé avec 409 package_suspended tant que le kill switch du paquet est actif. 409 installation_state pour un état qui ne permet pas le changement.
Route : /v1/marketplace/installations/{installation_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. | |
status | str | oui | suspended (immédiat) ou installed (reprise, avec approbation). | |
reason | str | None | None | non | Raison du changement de statut (1000 caractères au plus). |
permissions | list[str] | None | None | non | Suspendre seulement ces capacités accordées (200 au plus ; vide : toute l'installation). |
approval_id | str | None | None | non | Demande marketplace.resume approuvée, pour reprendre. |
Retour : Any. Réponse JSON décodée de l'opération « Suspendre ou reprendre une installation ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.set_package_status
set_package_status(name: str, status: str, reason: str | None = None, approval_id: str | None = None) -> Any
Actionner le kill switch d'un paquet. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Toutes les installations actives du paquet sont suspendues ; installations, mises à niveau, publications et promotions sont refusées. Répond 200 avec suspended_installations. - status: active : lève le kill switch. Sans approval_id, ouvre une approbation marketplace.package.resume avec un quorum de deux (202) ; avec l'identifiant approuvé, le paquet et les installations qu'il avait suspendues reprennent (200 avec resumed_installations). 409 installation_state pour lever un paquet qui n'est pas suspendu.
Route : /v1/marketplace/packages/{name}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du paquet. | |
status | str | oui | suspended (immédiat) ou active (levée, avec approbation). | |
reason | str | None | None | non | Raison du changement de statut (1000 caractères au plus). |
approval_id | str | None | None | non | Demande marketplace.package.resume approuvée, pour lever le kill switch. |
Retour : Any. Réponse JSON décodée de l'opération « Actionner le kill switch d'un paquet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.supervision
supervision(installation_id: str) -> Any
Superviser un pack installé. Activité, qualité, coûts et incidents d'un pack installé, agrégés à partir des objets qu'il a créés : invocations d'outils et runs par état, autorisations refusées, résultats d'évaluation, dernier smoke test, taux de réussite des runs, coûts des runs par devise, et incidents citant ses objets (les 50 plus récents).
Route : /v1/marketplace/installations/{installation_id}/supervision (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Superviser un pack installé ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.uninstall
uninstall(installation_id: str) -> Any
Désinstaller un pack. Retire tous les objets et ressources créés par l'installation et la passe à uninstalled (permissions, suspensions et version précédente effacées). Permis depuis installed, failed, pending_approval ou suspended (sinon 409 installation_state). Demande tenant_admin ; la politique marketplace.uninstall est évaluée. La réponse liste removed. Audité sous marketplace.uninstall.
Route : /v1/marketplace/installations/{installation_id}/uninstall (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. |
Retour : Any. Réponse JSON décodée de l'opération « Désinstaller un pack ».
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceClient.upgrade_installation
upgrade_installation(installation_id: str, version: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any
Demander la mise à niveau d'une installation. Ouvre une demande de mise à niveau vers une version supérieure (202 avec approbation, quorum et preflight), puis appliquez-la avec POST .../apply une fois approuvée. L'installation doit être installed et la version strictement supérieure (sinon 409 installation_state). La configuration et les références de secrets reprennent par défaut les actuelles. Demande tenant_admin. Les échecs de preflight répondent comme pour une demande d'installation.
Route : /v1/marketplace/installations/{installation_id}/upgrade (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
installation_id | str | oui | Identifiant (UUID) de l'installation. | |
version | str | oui | Version visée, supérieure à celle installée (5 à 64 caractères). | |
approved_permissions | list[str] | None | None | non | Scopes de permission accordés à la nouvelle version, parmi ceux qu'elle demande (200 au plus). |
config | dict[str, Any] | None | None | non | Configuration du pack, validée selon son configSchema. Vide : l'actuelle. |
secret_refs | dict[str, str] | None | None | non | Référence de secret par nom de connecteur, openbao://... ou env://.... Vide : les actuelles. |
Retour : Any. Réponse JSON décodée de l'opération « Demander la mise à niveau d'une installation ».
Erreurs levées : les erreurs typées du transport (Erreurs).