Skip to main content

enterprise_ai.platform_manager

Source: sdks/python/src/enterprise_ai/platform_manager/__init__.py. Back to the Python SDK reference index.

note

This page is generated by tools/docs/gen_sdk_reference.py from the SDK sources and the OpenAPI text folders. Do not edit it by hand: change the source and regenerate.

Class PlatformManagerClient​

/v1/platform-manager.

Resource

PlatformManagerClient.approve_dr_exercise​

approve_dr_exercise(exercise_id: str) -> Any

Approve a DR exercise. Adds the approval of the user to a DR exercise; the Manager refuses a self approval. Audited (platform_manager.dr.exercise.approve) with the new status. Requires platform_admin.

Route: /v1/platform-manager/dr/exercises/{exercise_id}/approve (POST).

NameTypeDefaultRequiredDescription
exercise_idstryesIdentifier of the DR exercise in the Manager.

Returns: Any. Decoded JSON answer of the operation "Approve a DR exercise".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.approve_restore​

approve_restore(plan_id: str) -> Any

Approve a restore plan. Adds the approval of the user to a restore plan; the Manager refuses a self approval and counts two distinct approvers. Audited (platform_manager.restore.approve) with the new status and approval count. Requires platform_admin.

Route: /v1/platform-manager/backup/restores/{plan_id}/approve (POST).

NameTypeDefaultRequiredDescription
plan_idstryesIdentifier of the restore plan in the Manager.

Returns: Any. Decoded JSON answer of the operation "Approve a restore plan".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.backup_jobs​

backup_jobs() -> Any

List the backup jobs. Backup jobs of the Manager with their status, relayed on behalf of the user (backup:read there). Requires platform_admin.

Route: /v1/platform-manager/backup/jobs (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the backup jobs".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.backup_plans​

backup_plans() -> Any

List the backup plans. Backup policies (scope, interval, retention, immutability) and the late or failed alerts of the Manager. Requires platform_admin.

Route: /v1/platform-manager/backup/plans (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the backup plans".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.backups​

backups() -> Any

List the backup artefacts. Backup artefacts with SHA-256, size and the outcome of their last verification, relayed from the Manager (backup:read there). Requires platform_admin.

Route: /v1/platform-manager/backup/backups (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the backup artefacts".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.catalog​

catalog() -> Any

List the Manager catalog. Services of the Manager catalog (stack name, version and categories) with their display names, category, version, components, modes, methods, requirements, delivery (install, connect, job, package), layer and licence. Requires platform_admin.

Route: /v1/platform-manager/catalog (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the Manager catalog".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.catalog_service​

catalog_service(service: str) -> Any

Get the install descriptor of a service. Install descriptor of one catalog service: modes with their components and cardinalities, methods, requirements, sections and parameters with their defaults. A secret parameter never carries a default and says whether it is generated; templates and artefacts never leave the bridge. Requires platform_admin.

Route: /v1/platform-manager/catalog/{service} (GET).

NameTypeDefaultRequiredDescription
servicestryesName of the catalog service.

Returns: Any. Decoded JSON answer of the operation "Get the install descriptor of a service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.clusters​

clusters() -> Any

List the clusters. Clusters (environments) of the Navin Manager visible to the user. Requires platform_admin.

Route: /v1/platform-manager/clusters (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the clusters".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.connect_service​

connect_service(cluster_id: str, name: str, endpoint: str, credentials_ref: str | None = None, tls_verify: bool = True, config: dict[str, Any] | None = None, auth: dict[str, Any] | None = None, mtls: dict[str, Any] | None = None, ca_pem: str | None = None) -> Any

Connect an existing service. Registers an existing service of the customer on behalf of the user and answers 201; the Manager checks services:install and the connect section of the descriptor, then health checks it. A connected service is never installed, started or stopped by the Manager. Secret fields are relayed and sealed by the Manager; the audit keeps the endpoint, TLS, method and field names only. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/connect (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
namestryesCatalog name of the service: lowercase letter then up to 62 lowercase letters, digits, dashes or underscores.
endpointstryesAddress of the existing service, 1 to 2048 characters.
credentials_refstr | NoneNonenoReference of credentials already stored, 512 characters at most; the audit only keeps whether it is set.
tls_verifyboolTruenoVerify the TLS certificate of the service (default true).
configdict[str, Any] | NoneNonenoFields of the connect section of the descriptor, up to 100 keys; the audit keeps the keys only.
authdict[str, Any] | NoneNonenoAuthentication method and its fields.
mtlsdict[str, Any] | NoneNonenoClient certificate for mutual TLS.
ca_pemstr | NoneNonenoPrivate certificate authority (PEM) that signs the service certificate, 65536 characters at most.

Returns: Any. Decoded JSON answer of the operation "Connect an existing service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.connections​

connections(connection_type: str | None = None) -> Any

List the connections. Existing connections of the types the portal binds (PostgreSQL, Redis, OIDC), filtered by type when given; the secret only says whether it is set. Needs connections:read in the Manager. Requires platform_admin.

Route: /v1/platform-manager/connections (GET).

NameTypeDefaultRequiredDescription
connection_typestr | NoneNonenoOnly list connections of this type (postgresql, redis or oidc), sent as the type query parameter; None lists every one.

Returns: Any. Decoded JSON answer of the operation "List the connections".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.console​

console() -> Any

Get the console links. Whether the Manager is configured, the base address of its console (EAI_PLATFORM_MANAGER_CONSOLE_URL, else EAI_PLATFORM_MANAGER_URL) and the operator consoles (Opik, Grafana, Keycloak, LiteLLM, OpenSearch Dashboards): from their setting when set (source setting), else from the service of the same name the Manager installed or connected (source manager). A console address that is not https or that carries credentials is never returned (problem says why). Requires platform_admin.

Route: /v1/platform-manager/console (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "Get the console links".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.create_cluster​

create_cluster(name: str, mode: str = 'production', description: str = '', profile: str | None = None) -> Any

Create a cluster. Creates a cluster (environment) in the Manager and answers 201; the delegated user needs clusters:create. Audited (platform_manager.cluster_create), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters (POST).

NameTypeDefaultRequiredDescription
namestryesName of the cluster, 1 to 80 characters.
modestr'production'noproduction (default) or sandbox.
descriptionstr''noFree description, 500 characters at most.
profilestr | NoneNonenoDeployment profile: development, standard, banking-secure, air-gapped or hybrid; omitted for the Manager default.

Returns: Any. Decoded JSON answer of the operation "Create a cluster".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.create_connection​

create_connection(name: str, connection_type: str, params: dict[str, Any], secret: str | None = None, description: str = '') -> Any

Save a connection. Saves an existing PostgreSQL, Redis or OIDC issuer as a Manager connection and answers 201 (the secret is sealed by the Manager and never returned). Install forms then bind a service to it. Needs connections:manage in the Manager. The audit keeps name, type, parameter keys and whether a secret was given. Requires platform_admin.

Route: /v1/platform-manager/connections (POST).

NameTypeDefaultRequiredDescription
namestryesName of the connection, 1 to 100 characters.
connection_typestryesType of the connection, sent as type: postgresql, redis or oidc.
paramsdict[str, Any]yesConnection parameters (host, port, database, issuer...), up to 20 keys; the audit keeps the keys only.
secretstr | NoneNonenoPassword or client secret, 4096 characters at most. Write only: sealed by the Manager, never returned nor audited. An empty value is not sent.
descriptionstr''noFree description, 1000 characters at most.

Returns: Any. Decoded JSON answer of the operation "Save a connection".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.create_enrollment_token​

create_enrollment_token(cluster_id: str, expires_in_hours: int = 24, max_uses: int = 10) -> Any

Create an enrollment token. Bootstrap token of the node agent and the register command to run on each machine, answered with 201; shown once, the token and the command are never written to the audit (only its id and expiry). Needs hosts:manage in the Manager. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
expires_in_hoursint24noLifetime of the token in hours, 1 to 720, default 24.
max_usesint10noNumber of machines that may enroll with the token, 1 to 10000, default 10.

Returns: Any. Decoded JSON answer of the operation "Create an enrollment token".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.create_vault_entry​

create_vault_entry(body: dict[str, Any]) -> Any

Add a vault entry. Adds a service to the IT vault (source manual) and answers 201 without the password nor the key. URL, login, password and key are sealed together with AES-256-GCM (key derived from the platform master key, entry id as associated data); only the name is stored in clear. A name already used answers 409 it_vault_name_taken; an empty name 422 validation_failed. Audited (it_vault.create, name only). Requires platform_admin.

Route: /v1/platform-manager/vault/entries (POST).

NameTypeDefaultRequiredDescription
bodydict[str, Any]yesThe service to add. Unknown fields are refused.

Returns: Any. Decoded JSON answer of the operation "Add a vault entry".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.decommission_host​

decommission_host(host_id: str) -> Any

Decommission a machine. Decommissions a machine without components (agent stopped, certificate revoked) and answers 202 with the operation id. Audited (platform_manager.decommission), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/hosts/{host_id}/decommission (POST).

NameTypeDefaultRequiredDescription
host_idstryesIdentifier of the machine in the Manager.

Returns: Any. Decoded JSON answer of the operation "Decommission a machine".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.delete_connection​

delete_connection(connection_id: str) -> Any

Delete a connection. Forgets a connection and answers 204; the Manager refuses (409 platform_manager_connection_in_use) while a service is bound to it. Needs connections:manage in the Manager. Audited, allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/connections/{connection_id} (DELETE).

NameTypeDefaultRequiredDescription
connection_idstryesIdentifier of the connection in the Manager.

Returns: Any. Decoded JSON answer of the operation "Delete a connection".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.delete_vault_entry​

delete_vault_entry(entry_id: str) -> Any

Delete a vault entry. Deletes a service of the IT vault and answers 204. An entry pre-filled from the platform settings comes back at the next import. Audited (it_vault.delete, name only). Unknown id: 404 it_vault_entry_not_found. Requires platform_admin.

Route: /v1/platform-manager/vault/entries/{entry_id} (DELETE).

NameTypeDefaultRequiredDescription
entry_idstryesIdentifier (UUID) of the vault entry.

Returns: Any. Decoded JSON answer of the operation "Delete a vault entry".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.disconnect_service​

disconnect_service(cluster_id: str, service: str) -> Any

Disconnect a connected service. Forgets a connected service (the service itself is untouched); the Manager refuses while a consumer uses it. Audited (platform_manager.disconnect), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/connection (DELETE).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the connected service.

Returns: Any. Decoded JSON answer of the operation "Disconnect a connected service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.dr_exercises​

dr_exercises() -> Any

List the DR exercises. DR exercises with the observed RPO and RTO and whether each target was met (null when not measured). Requires platform_admin.

Route: /v1/platform-manager/dr/exercises (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the DR exercises".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.dr_plans​

dr_plans() -> Any

List the DR plans. DR plans: mode, primary and secondary sites, the client's RPO and RTO targets (null until set). Requires platform_admin.

Route: /v1/platform-manager/dr/plans (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the DR plans".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.enrollment_tokens​

enrollment_tokens(cluster_id: str) -> Any

List the enrollment tokens. Bootstrap tokens of a cluster: prefix, expiry, uses and revocation (the token itself is never listed). Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "List the enrollment tokens".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.host​

host(host_id: str) -> Any

Get a machine. One machine with its facts (operating system, resources, agent version, last heartbeat). Requires platform_admin.

Route: /v1/platform-manager/hosts/{host_id} (GET).

NameTypeDefaultRequiredDescription
host_idstryesIdentifier of the machine in the Manager.

Returns: Any. Decoded JSON answer of the operation "Get a machine".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.import_vault​

import_vault() -> Any

Import the configured services into the vault. Pre-fills the vault with the services the platform is configured with (PostgreSQL, Redis, Keycloak, OpenBao, OpenFGA, OPA, LiteLLM, Qdrant, NATS, Temporal, LiveKit, Opik, ClickHouse, S3, Platform Manager, installer account of the portal), from the EAI_* settings. Only missing services are added: an entry is never overwritten, a deleted one comes back. Answers the created and skipped names. Audited (it_vault.import). The same import runs at each API start. Requires platform_admin.

Route: /v1/platform-manager/vault/import (POST).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "Import the configured services into the vault".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.install​

install(cluster_id: str, services: list[dict[str, Any]], start: bool = True, service_check: bool = True) -> Any

Install catalog services. Installs catalog services on the chosen hosts, on behalf of the user, and answers 202 with the operation id; the Manager checks services:install, the modes, methods, placements and configuration, then starts the install operation. The audit keeps services, modes, methods, hosts and configured keys, never the configuration values. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
serviceslist[dict[str, Any]]yesServices to install, 1 to 20.
startboolTruenoStart the services once installed (default true).
service_checkboolTruenoRun the service checks after the install (default true).

Returns: Any. Decoded JSON answer of the operation "Install catalog services".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.nodes​

nodes(cluster_id: str) -> Any

List the machines of a cluster. Hosts of the cluster as the Manager knows them (state, facts, agent). Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/nodes (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "List the machines of a cluster".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.operations​

operations(cluster_id: str) -> Any

List the operations of a cluster. Operations of the Manager on the cluster (install, start, stop, preflight, bootstrap...) with their target and status. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/operations (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "List the operations of a cluster".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.plan_restore​

plan_restore(artifact_id: str, environment: str, target_versions: dict[str, str] | None = None) -> Any

Plan a restore. Plans a restore of one artefact and answers 201 with the plan; the plan always precedes an execution and needs two approvers other than the requester. The Manager compares the target versions with the artefact. Executing the restore stays in the Manager console. Audited (platform_manager.restore.plan), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/backup/restores (POST).

NameTypeDefaultRequiredDescription
artifact_idstryesIdentifier of the backup artefact to restore, 1 to 100 characters.
environmentstryesTarget environment: isolated, staging or production.
target_versionsdict[str, str] | NoneNonenoVersions of the target environment by component, compared by the Manager with the artefact (same major version, or incompatible).

Returns: Any. Decoded JSON answer of the operation "Plan a restore".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.preflight_results​

preflight_results(host_id: str) -> Any

Read the preflight results. Results of the last preflight checks of a machine (check, status, message in both languages). Requires platform_admin.

Route: /v1/platform-manager/hosts/{host_id}/preflight (GET).

NameTypeDefaultRequiredDescription
host_idstryesIdentifier of the machine in the Manager.

Returns: Any. Decoded JSON answer of the operation "Read the preflight results".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.refresh_facts​

refresh_facts(host_id: str) -> Any

Refresh the facts of a machine. Asks the node agent to collect the facts of the machine again (operating system, resources...) and answers 202 with the operation id. Audited (platform_manager.facts_refresh), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/hosts/{host_id}/facts/refresh (POST).

NameTypeDefaultRequiredDescription
host_idstryesIdentifier of the machine in the Manager.

Returns: Any. Decoded JSON answer of the operation "Refresh the facts of a machine".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.request_dr_exercise​

request_dr_exercise(plan_id: str) -> Any

Request a DR exercise. Requests a DR exercise of a DR plan and answers 201; the Manager applies its approval rule (dr:manage there). Completing the exercise and a real failover stay in the Manager console. Audited (platform_manager.dr.exercise.request), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/dr/exercises (POST).

NameTypeDefaultRequiredDescription
plan_idstryesIdentifier of the DR plan to exercise, 1 to 100 characters.

Returns: Any. Decoded JSON answer of the operation "Request a DR exercise".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.request_operation​

request_operation(cluster_id: str, service: str, action: str, **options: Any) -> Any

Request a service operation. Forwards an operation (start, stop, restart, rolling restart, reinstall) with the user's identity and answers 202 with the operation id; the Manager decides (RBAC, approvals, stop rules). Audited (platform_manager.<action>), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/operations (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.
actionstryesstart, stop, restart, rolling_restart or reinstall.
**optionsAnynoPer call options (idempotency key, traceparent, headers, abort signal).

Returns: Any. Decoded JSON answer of the operation "Request a service operation".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.request_support_bundle​

request_support_bundle(cluster_id: str) -> Any

Request a support bundle. Asks the Manager for a sanitized support bundle (cluster:manage there) and answers 202 with the operation to follow and the bundle id; the bundle is downloaded from the Manager console. Audited (platform_manager.support_bundle), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/support-bundles (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "Request a support bundle".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.restores​

restores() -> Any

List the restore plans. Restore plans with their status and approval count (two approvers other than the requester). Requires platform_admin.

Route: /v1/platform-manager/backup/restores (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the restore plans".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.revoke_enrollment_token​

revoke_enrollment_token(cluster_id: str, token_id: str) -> Any

Revoke an enrollment token. Revokes a bootstrap token of the node agent in the Manager (hosts:manage there) and answers 204; machines already enrolled are not affected. Audited (platform_manager.enrollment_token_revoke), allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens/{token_id} (DELETE).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
token_idstryesIdentifier of the enrollment token, as listed.

Returns: Any. Decoded JSON answer of the operation "Revoke an enrollment token".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.run_preflight​

run_preflight(host_id: str) -> Any

Run the preflight checks. Runs the preflight checks of a machine (Manager operation host.preflight, hosts:manage there) and answers 202 with the operation id; read the results with GET .../preflight. Audited, allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/hosts/{host_id}/preflight (POST).

NameTypeDefaultRequiredDescription
host_idstryesIdentifier of the machine in the Manager.

Returns: Any. Decoded JSON answer of the operation "Run the preflight checks".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.service​

service(cluster_id: str, service: str) -> Any

Get a service sheet. One service with its state fields and instance counts, its security state (TLS, number of secrets set out of the total) and the full sheet of the Manager. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service} (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.

Returns: Any. Decoded JSON answer of the operation "Get a service sheet".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.service_config​

service_config(cluster_id: str, service: str) -> Any

Read the configuration of a service. Current configuration version of a service as the Manager shows it (secret values masked), with recommendations, groups and stale hosts. Needs configs:read in the Manager; editing stays in the Manager console. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/config (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.

Returns: Any. Decoded JSON answer of the operation "Read the configuration of a service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.service_config_diff​

service_config_diff(cluster_id: str, service: str, from_version: int, to_version: int) -> Any

Compare two configuration versions. Changed parameters between two configuration versions of a service, one entry per parameter; a secret parameter only says whether it is set in each version, never its value. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/config/diff (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.
from_versionintyesConfiguration version compared from, sent as the from query parameter.
to_versionintyesConfiguration version compared to, sent as the to query parameter.

Returns: Any. Decoded JSON answer of the operation "Compare two configuration versions".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.service_config_versions​

service_config_versions(cluster_id: str, service: str) -> Any

List the configuration versions. Configuration version history of a service in the Manager (configs:read there). Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/config/versions (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.

Returns: Any. Decoded JSON answer of the operation "List the configuration versions".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.service_dashboard​

service_dashboard(cluster_id: str, service: str, from_: str | None = None, to: str | None = None, step: int | None = None) -> Any

Read the dashboard of a service. Monitoring dashboard of a service relayed from the Manager (cluster:read there): instances, health and latest checks, availability, the machines it detected with their components and metrics, alerts, operations, configuration and, for a connected service, its connection. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/dashboard (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.
from_str | NoneNonenoStart of the window, ISO 8601, 64 characters at most. Default: one hour ago.
tostr | NoneNonenoEnd of the window, ISO 8601, 64 characters at most. Default: now.
stepint | NoneNonenoResolution of the metric series in seconds, 10 to 86400, default 60.

Returns: Any. Decoded JSON answer of the operation "Read the dashboard of a service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.services​

services(cluster_id: str) -> Any

List the services of a cluster. Services of the cluster with the five state fields (desired, observed, health, operation, security), the administrative state and its reason, the running and total instance counts, drift (observed differs from desired), the delivery and the connection of a connected service. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "List the services of a cluster".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.set_mode​

set_mode(cluster_id: str, service: str, mode: str, **options: Any) -> Any

Set the operating mode of a service. Operating mode of a service (drain, scale to zero, security suspension, emergency stop, disable, quarantine, maintenance, enable), forwarded on behalf of the user; the Manager enforces the state it leaves behind and may require an approval. Audited (platform_manager.mode.<mode>) with the operation id and the resulting administrative state, allowed or refused. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/{service}/mode (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
servicestryesName of the service.
modestryesdrain, scale_to_zero, security_suspend, emergency_stop, disable, quarantine, maintenance or enable.
**optionsAnynoPer call options (idempotency key, traceparent, headers, abort signal).

Returns: Any. Decoded JSON answer of the operation "Set the operating mode of a service".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.setup​

setup() -> Any

Read the setup status. Getting started status, never a secret and never an error because the Manager is absent. core: API, PostgreSQL, migrations, Redis (optional) and Keycloak (optional), each with a state (ok, missing, down, error), the setting to fix and messages in English and French. manager: address and token reference set, credential found, Manager reachable, delegated user known, number of clusters, the suggested token reference and the permissions the Manager API token needs (changes need a restart). Requires platform_admin.

Route: /v1/platform-manager/setup (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "Read the setup status".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.ssh_bootstrap​

ssh_bootstrap(cluster_id: str, hosts: list[str], ssh_user: str, private_key: str, host_key_fingerprints: dict[str, str], ssh_port: int = 22, use_sudo: bool = True) -> Any

Install the node agent over SSH. Installs the node agent on machines over SSH (Manager operation host.ssh_bootstrap, hosts:manage there) and answers 202 with the operation to follow. The private key is relayed to the Manager, which keeps it in memory for the bootstrap tasks only; the Control Plane never stores nor audits it (the audit keeps hosts, user, port, sudo and fingerprints). Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/hosts/ssh-bootstrap (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
hostslist[str]yesHost names or addresses, 1 to 200, each 1 to 253 characters (letters, digits, dots, dashes).
ssh_userstryesSSH account, 1 to 64 characters, lowercase letter or underscore first.
private_keystryesSSH private key, 20 to 20000 characters. Relayed to the Manager, kept in memory for the bootstrap only; never stored nor audited by the Control Plane.
host_key_fingerprintsdict[str, str]yesExpected SSH host key fingerprint (SHA256:...) of each host, host to fingerprint, up to 200. Every host needs one (the Manager answers 422 otherwise); the bootstrap task of the host is pinned to it.
ssh_portint22noSSH port, 1 to 65535, default 22.
use_sudoboolTruenoRun the installation with sudo (default true).

Returns: Any. Decoded JSON answer of the operation "Install the node agent over SSH".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.summary​

summary() -> Any

Read the platform summary. Real counts per cluster (environment): services total, healthy, warning, failed; hosts; alerts; operations. Requires platform_admin.

Route: /v1/platform-manager/summary (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "Read the platform summary".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.support_bundles​

support_bundles(cluster_id: str) -> Any

List the support bundles. Sanitized support bundles of a cluster; a bundle is downloaded from the Manager console, never through the Control Plane. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/support-bundles (GET).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.

Returns: Any. Decoded JSON answer of the operation "List the support bundles".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.test_connection​

test_connection(connection_id: str) -> Any

Test a saved connection. Runs the protocol test of a saved connection now (its sealed secret stays in the Manager). Audited. Requires platform_admin.

Route: /v1/platform-manager/connections/{connection_id}/test (POST).

NameTypeDefaultRequiredDescription
connection_idstryesIdentifier of the connection in the Manager.

Returns: Any. Decoded JSON answer of the operation "Test a saved connection".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.update_vault_entry​

update_vault_entry(entry_id: str, body: dict[str, Any]) -> Any

Update a vault entry. Changes the given fields of a vault entry and seals them again (AES-256-GCM). A name used by another entry (case insensitive) answers 409 it_vault_name_taken; an empty name 422 validation_failed. Audited (it_vault.update, name and changed field names only). Requires platform_admin.

Route: /v1/platform-manager/vault/entries/{entry_id} (PATCH).

NameTypeDefaultRequiredDescription
entry_idstryesIdentifier (UUID) of the vault entry.
bodydict[str, Any]yesFields to change. Unknown fields are refused.

Returns: Any. Decoded JSON answer of the operation "Update a vault entry".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.validate_connect​

validate_connect(cluster_id: str, name: str, endpoint: str, credentials_ref: str | None = None, tls_verify: bool = True, config: dict[str, Any] | None = None, auth: dict[str, Any] | None = None, mtls: dict[str, Any] | None = None, ca_pem: str | None = None) -> Any

Validate a service connection. Dry run of a connect by the Manager: answers ok, the errors (service, field, code, messages in both languages) and the health check result; nothing is stored. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/connect/validate (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
namestryesCatalog name of the service: lowercase letter then up to 62 lowercase letters, digits, dashes or underscores.
endpointstryesAddress of the existing service, 1 to 2048 characters.
credentials_refstr | NoneNonenoReference of credentials already stored, 512 characters at most; the audit only keeps whether it is set.
tls_verifyboolTruenoVerify the TLS certificate of the service (default true).
configdict[str, Any] | NoneNonenoFields of the connect section of the descriptor, up to 100 keys; the audit keeps the keys only.
authdict[str, Any] | NoneNonenoAuthentication method and its fields.
mtlsdict[str, Any] | NoneNonenoClient certificate for mutual TLS.
ca_pemstr | NoneNonenoPrivate certificate authority (PEM) that signs the service certificate, 65536 characters at most.

Returns: Any. Decoded JSON answer of the operation "Validate a service connection".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.validate_connection​

validate_connection(connection_type: str, params: dict[str, Any], secret: str | None = None) -> Any

Test a connection before saving it. Real protocol test of a connection before it is saved: answers ok, latency in milliseconds, server version, error code and messages; nothing is stored and the secret is never sent back. Audited without the secret. Requires platform_admin.

Route: /v1/platform-manager/connections/validate (POST).

NameTypeDefaultRequiredDescription
connection_typestryesType of the connection to test, sent as type: postgresql, redis or oidc.
paramsdict[str, Any]yesConnection parameters, up to 20 keys.
secretstr | NoneNonenoPassword or client secret used for the test, 4096 characters at most; never returned nor audited.

Returns: Any. Decoded JSON answer of the operation "Test a connection before saving it".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.validate_install​

validate_install(cluster_id: str, services: list[dict[str, Any]], start: bool = True, service_check: bool = True) -> Any

Validate a services install. Dry run of an install by the Manager planner: answers ok, the errors (service, field, code, messages in both languages) and the plan it would run; nothing is installed. Requires platform_admin.

Route: /v1/platform-manager/clusters/{cluster_id}/services/validate (POST).

NameTypeDefaultRequiredDescription
cluster_idstryesIdentifier of the cluster in the Navin Manager.
serviceslist[dict[str, Any]]yesServices to install, 1 to 20.
startboolTruenoStart the services once installed (default true).
service_checkboolTruenoRun the service checks after the install (default true).

Returns: Any. Decoded JSON answer of the operation "Validate a services install".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.vault_entries​

vault_entries() -> Any

List the vault entries. Services of the IT vault by name, with URL, login, source (manual or installed:<service>) and whether a password and a key are set (has_password, has_api_key), never their values. Requires platform_admin.

Route: /v1/platform-manager/vault/entries (GET).

This element takes no parameter.

Returns: Any. Decoded JSON answer of the operation "List the vault entries".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.vault_entry​

vault_entry(entry_id: str) -> Any

Get a vault entry. One service of the vault without its password nor key (use POST .../reveal for them). Unknown id: 404 it_vault_entry_not_found. Requires platform_admin.

Route: /v1/platform-manager/vault/entries/{entry_id} (GET).

NameTypeDefaultRequiredDescription
entry_idstryesIdentifier (UUID) of the vault entry.

Returns: Any. Decoded JSON answer of the operation "Get a vault entry".

Raises: the typed errors of the transport (Errors).

PlatformManagerClient.vault_reveal​

vault_reveal(entry_id: str) -> Any

Reveal the secrets of a vault entry. Password and key of one service in clear (show and copy in the console). Each reveal is audited (it_vault.reveal) with the service name, never the values. Unknown id: 404 it_vault_entry_not_found. Requires platform_admin.

Route: /v1/platform-manager/vault/entries/{entry_id}/reveal (POST).

NameTypeDefaultRequiredDescription
entry_idstryesIdentifier (UUID) of the vault entry.

Returns: Any. Decoded JSON answer of the operation "Reveal the secrets of a vault entry".

Raises: the typed errors of the transport (Errors).