io.enterpriseai.resources.StorageClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/StorageClient.java. Retour à l'index de la référence du SDK Java.
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 StorageClient
Stockage. Profils de stockage : les buckets et conteneurs du client dans lesquels la plateforme écrit (exports d'audit, preuves, documents, médias, exports, sauvegardes), avec leur référence d'identifiants et leurs capacités découvertes par de vrais appels.
Constructeur StorageClient
StorageClient(Transport transport)
Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
StorageClient.createProfile
JsonNode createProfile(Object body)
Créer un profil de stockage. Crée un profil au statut unverified et répond 201. Demande tenant_admin pour la portée tenant (dans un tenant) ou platform_admin pour la portée platform (403 storage_scope_forbidden), et la décision de politique storage.profile.create. Audité (storage.profile.create).
Route : /v1/storage/profiles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Le nouveau profil de stockage. Les champs inconnus sont refusés. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.createProfile
JsonNode createProfile(Object body, RequestOptions options)
Créer un profil de stockage. Crée un profil au statut unverified et répond 201. Demande tenant_admin pour la portée tenant (dans un tenant) ou platform_admin pour la portée platform (403 storage_scope_forbidden), et la décision de politique storage.profile.create. Audité (storage.profile.create).
Route : /v1/storage/profiles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Le nouveau profil de stockage. Les champs inconnus sont refusés. | |
options | RequestOptions | oui | Options du fournisseur : path_style (adressage par chemin pour S3) et storage_class. Toute autre clé est refusée. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.deleteObject
JsonNode deleteObject(String profileId, Object body)
Supprimer un objet d'un profil. Supprime un objet (ou une de ses versions) à l'intérieur des préfixes de présignature du profil. Un profil qui sert audit_worm ou evidence ne supprime jamais par l'API (409 storage_object_protected) ; un refus de rétention du stockage est renvoyé tel quel. Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.object.delete ; audité avec la clé complète et la version. Autres erreurs : 403 storage_key_out_of_scope, 422 storage_key_invalid, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects/delete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Clé, et éventuellement version, de l'objet à supprimer. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Supprimer un objet d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.deleteObject
JsonNode deleteObject(String profileId, Object body, RequestOptions options)
Supprimer un objet d'un profil. Supprime un objet (ou une de ses versions) à l'intérieur des préfixes de présignature du profil. Un profil qui sert audit_worm ou evidence ne supprime jamais par l'API (409 storage_object_protected) ; un refus de rétention du stockage est renvoyé tel quel. Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.object.delete ; audité avec la clé complète et la version. Autres erreurs : 403 storage_key_out_of_scope, 422 storage_key_invalid, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects/delete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Clé, et éventuellement version, de l'objet à supprimer. | |
options | RequestOptions | oui | Options 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 « Supprimer un objet d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.deleteProfile
JsonNode deleteProfile(String profileId)
Supprimer un profil de stockage. Supprime le profil (le bucket et ses objets ne sont pas touchés) et répond 204. Demande tenant_admin pour un profil de tenant, platform_admin pour un profil de plateforme (403 storage_scope_forbidden), et la décision de politique storage.profile.delete. L'événement d'audit storage.profile.delete enregistre le fournisseur, le bucket et le nombre d'exports d'audit qui l'utilisaient. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Supprimer un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.deleteProfile
JsonNode deleteProfile(String profileId, RequestOptions options)
Supprimer un profil de stockage. Supprime le profil (le bucket et ses objets ne sont pas touchés) et répond 204. Demande tenant_admin pour un profil de tenant, platform_admin pour un profil de plateforme (403 storage_scope_forbidden), et la décision de politique storage.profile.delete. L'événement d'audit storage.profile.delete enregistre le fournisseur, le bucket et le nombre d'exports d'audit qui l'utilisaient. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
options | RequestOptions | oui | Options 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 « Supprimer un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.getProfile
JsonNode getProfile(String profileId)
Lire un profil de stockage. Un profil de stockage avec son statut, ses capacités découvertes, sa date de vérification, ses capacités manquantes et nécessaires et sa dernière erreur. Jamais une valeur secrète. Mêmes lecteurs que la liste. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.listObjects
JsonNode listObjects(String profileId)
Lister les objets d'un profil. Objets rangés sous un préfixe à l'intérieur des préfixes de présignature du profil : clé relative au préfixe de clé du profil (utilisable pour la présignature et la suppression), clé stockée, taille, ETag, type de contenu, SHA-256, version, dernière modification et classe de stockage. Demande tenant_admin, developer, agent ou auditor (profil de plateforme : platform_admin) et la décision de politique storage.object.list ; la liste est auditée. Erreurs : 422 storage_prefix_required si prefix est omis et que le profil n'a pas exactement un préfixe de présignature, 403 storage_key_out_of_scope hors des préfixes de présignature, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les objets d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.listObjects
JsonNode listObjects(String profileId, Map<String, ?> query)
Lister les objets d'un profil. Objets rangés sous un préfixe à l'intérieur des préfixes de présignature du profil : clé relative au préfixe de clé du profil (utilisable pour la présignature et la suppression), clé stockée, taille, ETag, type de contenu, SHA-256, version, dernière modification et classe de stockage. Demande tenant_admin, developer, agent ou auditor (profil de plateforme : platform_admin) et la décision de politique storage.object.list ; la liste est auditée. Erreurs : 422 storage_prefix_required si prefix est omis et que le profil n'a pas exactement un préfixe de présignature, 403 storage_key_out_of_scope hors des préfixes de présignature, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les objets d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.listProfiles
JsonNode listProfiles()
Lister les profils de stockage. Profils de stockage visibles par l'appelant, triés par portée puis par nom, chacun avec ses needed_capabilities (capacités exigées plus celles que demandent ses usages). Une seule page : next_cursor vaut toujours null. Demande platform_admin, ou un principal de tenant avec tenant_admin, security_officer, developer ou auditor.
Route : /v1/storage/profiles (GET).
Cet élément ne prend aucun paramètre.
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les profils de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.listProfiles
JsonNode listProfiles(Map<String, ?> query)
Lister les profils de stockage. Profils de stockage visibles par l'appelant, triés par portée puis par nom, chacun avec ses needed_capabilities (capacités exigées plus celles que demandent ses usages). Une seule page : next_cursor vaut toujours null. Demande platform_admin, ou un principal de tenant avec tenant_admin, security_officer, developer ou auditor.
Route : /v1/storage/profiles (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les profils de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.presign
JsonNode presign(String profileId, Object body)
Émettre une URL présignée. Émet une URL présignée pour lire (GET) ou écrire (PUT) un objet directement dans le bucket, et répond 201 avec l'identifiant de l'autorisation, l'URL, la méthode, la clé complète, la durée de vie et l'échéance. La clé doit se trouver dans les préfixes de présignature (403 storage_key_out_of_scope) et le profil doit avoir une capacité presign vérifiée et récente (409 storage_capability_missing). La durée de vie ne peut dépasser EAI_STORAGE_PRESIGN_MAX_SECONDS (3600 par défaut, jamais plus de 604800 ; 422 storage_presign_expiry_invalid). Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.presign.read ou storage.presign.write. L'autorisation est enregistrée avec un SHA-256 de l'URL (jamais l'URL elle-même) et auditée.
Route : /v1/storage/profiles/{profile_id}/presign (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Objet, sens et durée de vie de l'URL présignée. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Émettre une URL présignée ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.presign
JsonNode presign(String profileId, Object body, RequestOptions options)
Émettre une URL présignée. Émet une URL présignée pour lire (GET) ou écrire (PUT) un objet directement dans le bucket, et répond 201 avec l'identifiant de l'autorisation, l'URL, la méthode, la clé complète, la durée de vie et l'échéance. La clé doit se trouver dans les préfixes de présignature (403 storage_key_out_of_scope) et le profil doit avoir une capacité presign vérifiée et récente (409 storage_capability_missing). La durée de vie ne peut dépasser EAI_STORAGE_PRESIGN_MAX_SECONDS (3600 par défaut, jamais plus de 604800 ; 422 storage_presign_expiry_invalid). Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.presign.read ou storage.presign.write. L'autorisation est enregistrée avec un SHA-256 de l'URL (jamais l'URL elle-même) et auditée.
Route : /v1/storage/profiles/{profile_id}/presign (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Objet, sens et durée de vie de l'URL présignée. | |
options | RequestOptions | oui | Options 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 « Émettre une URL présignée ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.profileChecks
JsonNode profileChecks(String profileId)
Lister les vérifications d'un profil. Historique des vérifications de capacités du profil, de la plus récente à la plus ancienne : statut, capacités trouvées, capacités manquantes, sonde d'écriture lancée ou non, erreur, durée en millisecondes et auteur. Une seule page (next_cursor vaut toujours null). Mêmes lecteurs que la liste.
Route : /v1/storage/profiles/{profile_id}/checks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les vérifications d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.profileChecks
JsonNode profileChecks(String profileId, Map<String, ?> query)
Lister les vérifications d'un profil. Historique des vérifications de capacités du profil, de la plus récente à la plus ancienne : statut, capacités trouvées, capacités manquantes, sonde d'écriture lancée ou non, erreur, durée en millisecondes et auteur. Une seule page (next_cursor vaut toujours null). Mêmes lecteurs que la liste.
Route : /v1/storage/profiles/{profile_id}/checks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les vérifications d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.updateProfile
JsonNode updateProfile(String profileId, Object body)
Modifier un profil de stockage. Modifie les champs fournis ; le profil fusionné est validé comme un nouveau. Un changement de fournisseur, de point d'accès, de région, de bucket, de auth, de credential_ref, de encryption ou d'options efface les capacités et remet le statut à unverified ; status: disabled désactive le profil, status: active sur un profil désactivé le rend unverified. Ajouter l'usage audit_worm sans un tel changement demande une capacité de verrouillage d'objet vérifiée (409 storage_capability_missing). Demande tenant_admin (profil de plateforme : platform_admin) et la décision de politique storage.profile.update ; audité avec les champs modifiés.
Route : /v1/storage/profiles/{profile_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Champs à modifier ; les champs omis gardent leur valeur. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.updateProfile
JsonNode updateProfile(String profileId, Object body, RequestOptions options)
Modifier un profil de stockage. Modifie les champs fournis ; le profil fusionné est validé comme un nouveau. Un changement de fournisseur, de point d'accès, de région, de bucket, de auth, de credential_ref, de encryption ou d'options efface les capacités et remet le statut à unverified ; status: disabled désactive le profil, status: active sur un profil désactivé le rend unverified. Ajouter l'usage audit_worm sans un tel changement demande une capacité de verrouillage d'objet vérifiée (409 storage_capability_missing). Demande tenant_admin (profil de plateforme : platform_admin) et la décision de politique storage.profile.update ; audité avec les champs modifiés.
Route : /v1/storage/profiles/{profile_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Champs à modifier ; les champs omis gardent leur valeur. | |
options | RequestOptions | oui | Nouvelles options du fournisseur (path_style, storage_class). Les modifier efface les capacités. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un profil de stockage ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.verifyProfile
JsonNode verifyProfile(String profileId, Object body)
Vérifier les capacités d'un profil. Découvre les capacités du bucket par de vrais appels et les enregistre. Demande tenant_admin ou security_officer (profil de plateforme : platform_admin) et la décision de politique storage.profile.verify. Un profil désactivé répond 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Options de vérification ; le corps peut être omis. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Vérifier les capacités d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageClient.verifyProfile
JsonNode verifyProfile(String profileId, Object body, RequestOptions options)
Vérifier les capacités d'un profil. Découvre les capacités du bucket par de vrais appels et les enregistre. Demande tenant_admin ou security_officer (profil de plateforme : platform_admin) et la décision de politique storage.profile.verify. Un profil désactivé répond 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | String | oui | Identifiant (UUID) du profil de stockage. | |
body | Object | oui | Options de vérification ; le corps peut être omis. | |
options | RequestOptions | oui | Options 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 « Vérifier les capacités d'un profil ».
Erreurs levées : les erreurs typées du transport (Erreurs).