Aller au contenu principal

io.enterpriseai.resources.FinopsClient

Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/FinopsClient.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 FinopsClient​

FinOps. Gestion des coûts de l'usage de l'IA : grilles tarifaires, événements d'usage, estimations, quotas et réservations, répartition du coût des GPU, rapprochement de la facturation et alertes.

Constructeur FinopsClient​

FinopsClient(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.

FinopsClient.alerts​

JsonNode alerts()

Lister les alertes FinOps. Alertes de budget, de quota et d'écart de facturation du tenant, de la plus récente à la plus ancienne, avec leur message dans la langue de la requête. Une seule page. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/alerts (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les alertes FinOps ».

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

FinopsClient.alerts​

JsonNode alerts(Map<String, ?> query)

Lister les alertes FinOps. Alertes de budget, de quota et d'écart de facturation du tenant, de la plus récente à la plus ancienne, avec leur message dans la langue de la requête. Une seule page. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/alerts (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamè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 alertes FinOps ».

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

FinopsClient.createAllocationPolicy​

JsonNode createAllocationPolicy(Object body)

Créer une politique de répartition GPU. Crée une politique qui valorise les échantillons GPU des déploiements correspondants et répond 201. Le motif de déploiement le plus précis l'emporte. Coût d'un échantillon de s secondes à P watts : GPU s / 3600 * gpu_hourly_cost, énergie P * s / 3600 / 1000 * energy_kwh_price * pue, stockage storage_gb * storage_gb_month_price * (s / 3600) / 730, total multiplié par 1 + overhead_pct / 100. Audité. Demande platform_admin.

Route : /v1/finops/allocation-policies (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLa nouvelle politique de répartition.

Retour : JsonNode. Réponse JSON décodée de l'opération « Créer une politique de répartition GPU ».

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

FinopsClient.createAllocationPolicy​

JsonNode createAllocationPolicy(Object body, RequestOptions options)

Créer une politique de répartition GPU. Crée une politique qui valorise les échantillons GPU des déploiements correspondants et répond 201. Le motif de déploiement le plus précis l'emporte. Coût d'un échantillon de s secondes à P watts : GPU s / 3600 * gpu_hourly_cost, énergie P * s / 3600 / 1000 * energy_kwh_price * pue, stockage storage_gb * storage_gb_month_price * (s / 3600) / 730, total multiplié par 1 + overhead_pct / 100. Audité. Demande platform_admin.

Route : /v1/finops/allocation-policies (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLa nouvelle politique de répartition.
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 « Créer une politique de répartition GPU ».

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

FinopsClient.createMediaPrice​

JsonNode createMediaPrice(Object body)

Ajouter une révision de prix de média. Ajoute une révision de prix datée pour une unité de média et répond 201. Une révision ne réécrit jamais une révision plus ancienne. Les mêmes unité, fournisseur, ressource et date de début répondent 409 media_price_exists ; un champ invalide 422 media_price_invalid. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/media-prices (POST).

NomTypeDéfautRequisDescription
bodyObjectouiunit (audio_second, image, video_second, gpu_second, storage_gb_month), provider, unit_price (nombre, au moins 0), currency (ISO 4217), source (origine du prix, obligatoire), et facultativement resource (* par défaut, tout le fournisseur) et effective_from (ISO 8601, maintenant par défaut).

Retour : JsonNode. Réponse JSON décodée de l'opération « Ajouter une révision de prix de média ».

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

FinopsClient.createMediaPrice​

JsonNode createMediaPrice(Object body, RequestOptions options)

Ajouter une révision de prix de média. Ajoute une révision de prix datée pour une unité de média et répond 201. Une révision ne réécrit jamais une révision plus ancienne. Les mêmes unité, fournisseur, ressource et date de début répondent 409 media_price_exists ; un champ invalide 422 media_price_invalid. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/media-prices (POST).

NomTypeDéfautRequisDescription
bodyObjectouiunit (audio_second, image, video_second, gpu_second, storage_gb_month), provider, unit_price (nombre, au moins 0), currency (ISO 4217), source (origine du prix, obligatoire), et facultativement resource (* par défaut, tout le fournisseur) et effective_from (ISO 8601, maintenant par défaut).
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 « Ajouter une révision de prix de média ».

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

FinopsClient.createPriceCard​

JsonNode createPriceCard(Object body)

Créer une grille tarifaire. Crée une grille tarifaire pour le tenant (ou une grille globale pour un administrateur de la plateforme sans tenant) et répond 201. La grille en vigueur pour le même fournisseur, le même motif de modèle, la même région et le même type d'usage est close à la nouvelle date de début ; une grille commençant plus tard dans la nouvelle validité répond 409 conflict. Des clés de prix inconnues, des prix négatifs ou une grille sans aucun prix répondent 422 price_card_invalid. Audité. Demande finops ou tenant_admin (platform_admin pour une grille globale).

Route : /v1/finops/price-cards (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLa nouvelle grille tarifaire.

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

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

FinopsClient.createPriceCard​

JsonNode createPriceCard(Object body, RequestOptions options)

Créer une grille tarifaire. Crée une grille tarifaire pour le tenant (ou une grille globale pour un administrateur de la plateforme sans tenant) et répond 201. La grille en vigueur pour le même fournisseur, le même motif de modèle, la même région et le même type d'usage est close à la nouvelle date de début ; une grille commençant plus tard dans la nouvelle validité répond 409 conflict. Des clés de prix inconnues, des prix négatifs ou une grille sans aucun prix répondent 422 price_card_invalid. Audité. Demande finops ou tenant_admin (platform_admin pour une grille globale).

Route : /v1/finops/price-cards (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLa nouvelle grille tarifaire.
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 « Créer une grille tarifaire ».

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

FinopsClient.estimate​

JsonNode estimate(Object body)

Estimer le coût d'un appel. Valorise un appel prévu avec la grille tarifaire en vigueur (motif de modèle et région les plus précis d'abord), le convertit dans la devise du tenant et le compare aux quotas correspondants, sans rien réserver. Les jetons de raisonnement sont ajoutés selon le mode de facturation de la grille. Sans grille : 404 price_card_not_found ; sans taux de change : 422 fx_rate_missing. Demande un rôle d'usage ou de lecteur et un principal de tenant.

Route : /v1/finops/estimate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiL'appel prévu à valoriser.

Retour : JsonNode. Réponse JSON décodée de l'opération « Estimer le coût d'un appel ».

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

FinopsClient.estimate​

JsonNode estimate(Object body, RequestOptions options)

Estimer le coût d'un appel. Valorise un appel prévu avec la grille tarifaire en vigueur (motif de modèle et région les plus précis d'abord), le convertit dans la devise du tenant et le compare aux quotas correspondants, sans rien réserver. Les jetons de raisonnement sont ajoutés selon le mode de facturation de la grille. Sans grille : 404 price_card_not_found ; sans taux de change : 422 fx_rate_missing. Demande un rôle d'usage ou de lecteur et un principal de tenant.

Route : /v1/finops/estimate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiL'appel prévu à valoriser.
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 « Estimer le coût d'un appel ».

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

FinopsClient.estimateMediaCosts​

JsonNode estimateMediaCosts(Object body)

Estimer des coûts de médias. Valorise jusqu'à 100 éléments de médias avec la révision en vigueur à leur date (ressource exacte d'abord, puis la révision * du fournisseur). Un élément sans prix revient avec amount: null, status: unavailable et reason: price_unknown ; total n'est donné que si tous les éléments sont valorisés dans une seule devise (complete: true). Des éléments invalides répondent 422 media_price_invalid avec le champ. Demande un rôle de lecteur ou agent, et un principal de tenant.

Route : /v1/finops/media-costs/estimate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiitems : de 1 à 100 objets avec unit (audio_second, image, video_second, gpu_second, storage_gb_month), provider, quantity (nombre positif), et facultativement resource (* par défaut) et at (ISO 8601, maintenant par défaut).

Retour : JsonNode. Réponse JSON décodée de l'opération « Estimer des coûts de médias ».

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

FinopsClient.estimateMediaCosts​

JsonNode estimateMediaCosts(Object body, RequestOptions options)

Estimer des coûts de médias. Valorise jusqu'à 100 éléments de médias avec la révision en vigueur à leur date (ressource exacte d'abord, puis la révision * du fournisseur). Un élément sans prix revient avec amount: null, status: unavailable et reason: price_unknown ; total n'est donné que si tous les éléments sont valorisés dans une seule devise (complete: true). Des éléments invalides répondent 422 media_price_invalid avec le champ. Demande un rôle de lecteur ou agent, et un principal de tenant.

Route : /v1/finops/media-costs/estimate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiitems : de 1 à 100 objets avec unit (audio_second, image, video_second, gpu_second, storage_gb_month), provider, quantity (nombre positif), et facultativement resource (* par défaut) et at (ISO 8601, maintenant par défaut).
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 « Estimer des coûts de médias ».

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

FinopsClient.fxRates​

JsonNode fxRates()

Lister les taux de change. Taux de change (globaux et propres au tenant) par devise de base, devise de cotation et date la plus récente d'abord, avec leur source. Demande un rôle de lecteur.

Route : /v1/finops/fx-rates (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les taux de change ».

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

FinopsClient.fxRates​

JsonNode fxRates(Map<String, ?> query)

Lister les taux de change. Taux de change (globaux et propres au tenant) par devise de base, devise de cotation et date la plus récente d'abord, avec leur source. Demande un rôle de lecteur.

Route : /v1/finops/fx-rates (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamè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 taux de change ».

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

FinopsClient.getPriceCard​

JsonNode getPriceCard(String id)

Lire une grille tarifaire. Une grille tarifaire avec ses prix, ses paliers, sa validité et son statut. Identifiant inconnu : 404 not_found. Demande un rôle de lecteur.

Route : /v1/finops/price-cards/{card_id} (GET).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la grille tarifaire.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire une grille tarifaire ».

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

FinopsClient.gpuAllocation​

JsonNode gpuAllocation()

Lire la répartition du coût GPU. Coût des déploiements GPU locaux sur la fenêtre, calculé à partir des échantillons GPU et des politiques de répartition, et partagé entre les tenants au prorata des secondes GPU de leurs événements d'usage sur chaque déploiement. Un tenant voit sa propre part ; un administrateur de la plateforme sans tenant voit tous les tenants. Demande un rôle de lecteur.

Route : /v1/finops/gpu/allocation (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire la répartition du coût GPU ».

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

FinopsClient.gpuAllocation​

JsonNode gpuAllocation(Map<String, ?> query)

Lire la répartition du coût GPU. Coût des déploiements GPU locaux sur la fenêtre, calculé à partir des échantillons GPU et des politiques de répartition, et partagé entre les tenants au prorata des secondes GPU de leurs événements d'usage sur chaque déploiement. Un tenant voit sa propre part ; un administrateur de la plateforme sans tenant voit tous les tenants. Demande un rôle de lecteur.

Route : /v1/finops/gpu/allocation (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire la répartition du coût GPU ».

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

FinopsClient.gpuSamples​

JsonNode gpuSamples(Object body)

Ingérer des échantillons GPU. Enregistre des échantillons d'utilisation GPU (en général issus de DCGM), de 1 à 10000 par appel, utilisés pour la répartition du coût GPU. Un événement d'audit par lot. Demande platform_admin.

Route : /v1/finops/gpu/samples (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLot d'échantillons GPU.

Retour : JsonNode. Réponse JSON décodée de l'opération « Ingérer des échantillons GPU ».

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

FinopsClient.gpuSamples​

JsonNode gpuSamples(Object body, RequestOptions options)

Ingérer des échantillons GPU. Enregistre des échantillons d'utilisation GPU (en général issus de DCGM), de 1 à 10000 par appel, utilisés pour la répartition du coût GPU. Un événement d'audit par lot. Demande platform_admin.

Route : /v1/finops/gpu/samples (POST).

NomTypeDéfautRequisDescription
bodyObjectouiLot d'échantillons GPU.
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 « Ingérer des échantillons GPU ».

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

FinopsClient.importReconciliation​

JsonNode importReconciliation(Object body)

Importer un export de facturation. Analyse un export de facturation d'un fournisseur, convertit chaque ligne dans la devise du tenant et l'enregistre, puis répond 201 avec l'import (nombre de lignes, total, période). Un export illisible répond 422 import_invalid avec la raison. Lancez ensuite le rapprochement. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/reconciliation/imports (POST).

NomTypeDéfautRequisDescription
bodyObjectouiL'export de facturation et son format.

Retour : JsonNode. Réponse JSON décodée de l'opération « Importer un export de facturation ».

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

FinopsClient.importReconciliation​

JsonNode importReconciliation(Object body, RequestOptions options)

Importer un export de facturation. Analyse un export de facturation d'un fournisseur, convertit chaque ligne dans la devise du tenant et l'enregistre, puis répond 201 avec l'import (nombre de lignes, total, période). Un export illisible répond 422 import_invalid avec la raison. Lancez ensuite le rapprochement. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/reconciliation/imports (POST).

NomTypeDéfautRequisDescription
bodyObjectouiL'export de facturation et son format.
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 « Importer un export de facturation ».

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

FinopsClient.ingestUsage​

JsonNode ingestUsage(Object body)

Ingérer un événement d'usage. Valide un Usage Event v1, le valorise (coût mesuré dans la devise du tenant) et l'enregistre ; répond 201, ou 200 avec duplicate: true si le même event_id était déjà enregistré. Un événement invalide répond 422 usage_event_invalid avec les erreurs ; un événement d'un autre tenant 403 usage_tenant_mismatch. Un événement d'audit par appel, jamais le contenu. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.

Route : /v1/finops/usage (POST).

NomTypeDéfautRequisDescription
bodyObjectouiUn Usage Event v1 (event_id, tenant_id, occurred_at, usage_type, units, pricing, identifiants de portée...), tel que défini par le contrat.

Retour : JsonNode. Réponse JSON décodée de l'opération « Ingérer un événement d'usage ».

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

FinopsClient.ingestUsage​

JsonNode ingestUsage(Object body, RequestOptions options)

Ingérer un événement d'usage. Valide un Usage Event v1, le valorise (coût mesuré dans la devise du tenant) et l'enregistre ; répond 201, ou 200 avec duplicate: true si le même event_id était déjà enregistré. Un événement invalide répond 422 usage_event_invalid avec les erreurs ; un événement d'un autre tenant 403 usage_tenant_mismatch. Un événement d'audit par appel, jamais le contenu. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.

Route : /v1/finops/usage (POST).

NomTypeDéfautRequisDescription
bodyObjectouiUn Usage Event v1 (event_id, tenant_id, occurred_at, usage_type, units, pricing, identifiants de portée...), tel que défini par le contrat.
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 « Ingérer un événement d'usage ».

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

FinopsClient.ingestUsageBatch​

JsonNode ingestUsageBatch(Object body)

Ingérer des événements d'usage par lot. Ingère jusqu'à 1000 événements d'usage, chacun dans son propre point de sauvegarde : la réponse liste chaque événement comme created, duplicate ou error (avec code, message et détails) ainsi que les totaux. Plus de 1000 événements répondent 413 batch_too_large ; un corps sans liste events 422 validation_error. Un événement d'audit par lot. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.

Route : /v1/finops/usage/batch (POST).

NomTypeDéfautRequisDescription
bodyObjectoui{events: [...]} : une liste d'objets Usage Event v1.

Retour : JsonNode. Réponse JSON décodée de l'opération « Ingérer des événements d'usage par lot ».

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

FinopsClient.ingestUsageBatch​

JsonNode ingestUsageBatch(Object body, RequestOptions options)

Ingérer des événements d'usage par lot. Ingère jusqu'à 1000 événements d'usage, chacun dans son propre point de sauvegarde : la réponse liste chaque événement comme created, duplicate ou error (avec code, message et détails) ainsi que les totaux. Plus de 1000 événements répondent 413 batch_too_large ; un corps sans liste events 422 validation_error. Un événement d'audit par lot. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.

Route : /v1/finops/usage/batch (POST).

NomTypeDéfautRequisDescription
bodyObjectoui{events: [...]} : une liste d'objets Usage Event v1.
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 « Ingérer des événements d'usage par lot ».

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

FinopsClient.listAllocationPolicies​

Page<JsonNode> listAllocationPolicies()

Lister les politiques de répartition GPU. Politiques qui transforment les échantillons GPU en coût (coût horaire du GPU, énergie, PUE, stockage et frais généraux) par motif de déploiement et modèle de GPU. Demande un rôle de lecteur.

Route : /v1/finops/allocation-policies (GET).

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

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

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

FinopsClient.listMediaPrices​

JsonNode listMediaPrices()

Lister les prix des médias. Révisions datées des prix des médias du tenant par unité, fournisseur, ressource et date, avec la liste des unités prises en charge. Une unité inconnue répond 422 media_price_invalid. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/media-prices (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les prix des médias ».

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

FinopsClient.listMediaPrices​

JsonNode listMediaPrices(Map<String, ?> query)

Lister les prix des médias. Révisions datées des prix des médias du tenant par unité, fournisseur, ressource et date, avec la liste des unités prises en charge. Une unité inconnue répond 422 media_price_invalid. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/media-prices (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamè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 prix des médias ».

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

FinopsClient.listPriceCards​

Page<JsonNode> listPriceCards()

Lister les grilles tarifaires. Grilles tarifaires visibles par l'appelant (globales et propres au tenant), par fournisseur, motif de modèle et date de début. Seulement les grilles actives sauf si include_retired ou at est fourni. Une seule page. Demande un rôle de lecteur.

Route : /v1/finops/price-cards (GET).

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

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

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

FinopsClient.listPriceCards​

Page<JsonNode> listPriceCards(Map<String, ?> query)

Lister les grilles tarifaires. Grilles tarifaires visibles par l'appelant (globales et propres au tenant), par fournisseur, motif de modèle et date de début. Seulement les grilles actives sauf si include_retired ou at est fourni. Une seule page. Demande un rôle de lecteur.

Route : /v1/finops/price-cards (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

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

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

FinopsClient.listUsage​

Page<JsonNode> listUsage()

Lister les événements d'usage. Événements d'usage du tenant avec leurs unités et leurs coûts estimés, mesurés et facturés, filtrés et paginés. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/usage (GET).

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

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

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

FinopsClient.listUsage​

Page<JsonNode> listUsage(Map<String, ?> query)

Lister les événements d'usage. Événements d'usage du tenant avec leurs unités et leurs coûts estimés, mesurés et facturés, filtrés et paginés. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/usage (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

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

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

FinopsClient.reconciliationImports​

Page<JsonNode> reconciliationImports()

Lister les imports de facturation. Exports de facturation importés par le tenant, avec source, fournisseur, nom de fichier, nombre de lignes, montant total, devise et période. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/reconciliation/imports (GET).

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

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

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

FinopsClient.reconciliationReport​

JsonNode reconciliationReport()

Lire le rapport de rapprochement. Coût mesuré comparé au coût facturé sur la période, avec l'écart, les lignes de facturation non rapprochées et les 100 dernières alertes d'écart. Un from postérieur à to répond 422 validation_error. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/reconciliation/report (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire le rapport de rapprochement ».

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

FinopsClient.reconciliationReport​

JsonNode reconciliationReport(Map<String, ?> query)

Lire le rapport de rapprochement. Coût mesuré comparé au coût facturé sur la période, avec l'écart, les lignes de facturation non rapprochées et les 100 dernières alertes d'écart. Un from postérieur à to répond 422 validation_error. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/reconciliation/report (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire le rapport de rapprochement ».

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

FinopsClient.retirePriceCard​

JsonNode retirePriceCard(String id)

Retirer une grille tarifaire. Marque la grille retired et termine sa validité à at (maintenant par défaut) si elle restait ouverte après cette date. Les usages passés gardent le prix avec lequel ils ont été valorisés. Identifiant inconnu : 404 not_found. Audité. Demande finops ou tenant_admin.

Route : /v1/finops/price-cards/{card_id}/retire (POST).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la grille tarifaire.

Retour : JsonNode. Réponse JSON décodée de l'opération « Retirer une grille tarifaire ».

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

FinopsClient.runReconciliation​

JsonNode runReconciliation(Object body)

Lancer le rapprochement de facturation. Répartit les lignes facturées importées de la période sur les événements d'usage : une ligne portant un provider_request_id va à cet événement, les autres sont réparties au prorata du coût mesuré des événements du même fournisseur, du même modèle et du même jour (à parts égales si rien n'a été mesuré) ; les lignes sans événement candidat sont signalées comme non rapprochées. Des alertes d'écart sont levées au-delà du seuil du tenant. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/reconciliation/run (POST).

NomTypeDéfautRequisDescription
bodyObjectouiPériode à rapprocher ; le corps peut être omis.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lancer le rapprochement de facturation ».

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

FinopsClient.runReconciliation​

JsonNode runReconciliation(Object body, RequestOptions options)

Lancer le rapprochement de facturation. Répartit les lignes facturées importées de la période sur les événements d'usage : une ligne portant un provider_request_id va à cet événement, les autres sont réparties au prorata du coût mesuré des événements du même fournisseur, du même modèle et du même jour (à parts égales si rien n'a été mesuré) ; les lignes sans événement candidat sont signalées comme non rapprochées. Des alertes d'écart sont levées au-delà du seuil du tenant. Audité. Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/reconciliation/run (POST).

NomTypeDéfautRequisDescription
bodyObjectouiPériode à rapprocher ; le corps peut être omis.
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 « Lancer le rapprochement de facturation ».

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

FinopsClient.setFxRates​

JsonNode setFxRates(Object body)

Définir des taux de change. Ajoute ou remplace de 1 à 1000 taux de change (mêmes devises et même date : remplacé) pour le tenant, ou des taux globaux pour un administrateur de la plateforme sans tenant, et répond le nombre mis à jour avec la liste complète. Les conversions passent par USD comme pivot quand aucun taux direct n'existe. Audité. Demande finops ou tenant_admin (platform_admin pour les taux globaux).

Route : /v1/finops/fx-rates (PUT).

NomTypeDéfautRequisDescription
bodyObjectouiLes taux à enregistrer.

Retour : JsonNode. Réponse JSON décodée de l'opération « Définir des taux de change ».

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

FinopsClient.setFxRates​

JsonNode setFxRates(Object body, RequestOptions options)

Définir des taux de change. Ajoute ou remplace de 1 à 1000 taux de change (mêmes devises et même date : remplacé) pour le tenant, ou des taux globaux pour un administrateur de la plateforme sans tenant, et répond le nombre mis à jour avec la liste complète. Les conversions passent par USD comme pivot quand aucun taux direct n'existe. Audité. Demande finops ou tenant_admin (platform_admin pour les taux globaux).

Route : /v1/finops/fx-rates (PUT).

NomTypeDéfautRequisDescription
bodyObjectouiLes taux à enregistrer.
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 « Définir des taux de change ».

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

FinopsClient.settings​

JsonNode settings()

Lire les paramètres FinOps. Devise, budget mensuel, seuil d'écart et durée de vie des réservations du tenant (valeurs par défaut : USD, pas de budget, 10 pour cent, 900 secondes). Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/settings (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire les paramètres FinOps ».

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

FinopsClient.summary​

JsonNode summary()

Synthétiser la dépense. Événements d'usage du tenant regroupés selon une dimension, par devise : nombre d'événements, jetons, secondes GPU, montants estimés, mesurés et facturés (le facturé vaut null si rien n'a été rapproché). Un regroupement inconnu répond 400 finops_group_by_invalid. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/summary (GET).

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

Retour : JsonNode. Réponse JSON décodée de l'opération « Synthétiser la dépense ».

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

FinopsClient.summary​

JsonNode summary(Map<String, ?> query)

Synthétiser la dépense. Événements d'usage du tenant regroupés selon une dimension, par devise : nombre d'événements, jetons, secondes GPU, montants estimés, mesurés et facturés (le facturé vaut null si rien n'a été rapproché). Un regroupement inconnu répond 400 finops_group_by_invalid. Demande un rôle de lecteur et un principal de tenant.

Route : /v1/finops/summary (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : JsonNode. Réponse JSON décodée de l'opération « Synthétiser la dépense ».

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

FinopsClient.updateSettings​

JsonNode updateSettings(Object body)

Modifier les paramètres FinOps. Modifie les paramètres fournis du tenant ; les champs omis ou null gardent leur valeur. Audité (finops.settings.update). Demande finops ou tenant_admin, et un principal de tenant.

Route : /v1/finops/settings (PUT).

NomTypeDéfautRequisDescription
bodyObjectouiParamètres à modifier.

Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier les paramètres FinOps ».

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