Skip to main content

enterprise_ai.plugins

Source: sdks/python/src/enterprise_ai/plugins/__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 PluginsClient​

/v1/plugins.

Resource

PluginsClient.create​

create(manifest: dict[str, Any]) -> Any

Register a plugin. Applies a Plugin manifest: creates the plugin or updates it (back to registered, a blocked plugin stays blocked), with the signature verified and stored. Refused: 422 pack_requires_marketplace for a pack, 422 invalid_manifest when the oci_ref digest differs from artifact.digest, an allow list is missing for egress_allowlist or the limits exceed the platform maximum (4 CPU, 8Gi memory, 3600 s, 1 GPU); 409 plugin_installed while installed. Needs tenant_admin, developer or application_owner; the caller becomes ReBAC owner. Audited as plugin.apply.

Route: /v1/plugins (POST).

NameTypeDefaultRequiredDescription
manifestdict[str, Any]yesPlugin Manifest of the new plugin, sent as the request body.

Returns: Any. Decoded JSON answer of the operation "Register a plugin".

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

PluginsClient.get​

get(name: str) -> Any

Get a plugin. Returns the plugin with its manifest, verification result and rendered deployment. Needs the ReBAC relation viewer. 404 plugin_not_found.

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

NameTypeDefaultRequiredDescription
namestryesName of the plugin.

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

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

PluginsClient.install​

install(name: str) -> Any

Install a plugin. Installs the plugin in its sandbox. Needs tenant_admin and the ReBAC relation owner. Steps: 1. A blocked plugin answers 403 plugin_blocked; an installed one is returned as is. 2. The signature is verified again (403 plugin_unsigned when it fails, audited as a denial). 3. The Deployment (runtime class of the sandbox, read-only root file system by default) and the NetworkPolicy are rendered, then applied when Kubernetes is configured (status: failed with the error if the apply fails). Returns the runtime status. Audited as plugin.install.

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

NameTypeDefaultRequiredDescription
namestryesName of the plugin.

Returns: Any. Decoded JSON answer of the operation "Install a plugin".

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

PluginsClient.list​

list(**page: Any) -> Any

List the plugins. Plugins of the tenant in name order, with version, digest, verification and status. One page only.

Route: /v1/plugins (GET).

NameTypeDefaultRequiredDescription
**pageAnynoPagination options passed to the listing: limit (maximum number of items per page) and cursor (the next_cursor of the previous page). Iterating the returned page follows every cursor.

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

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

PluginsClient.status​

status(name: str) -> Any

Get the runtime status of a plugin. Runtime view: status, verified flag, digest, install date, runtime class, whether the objects were rendered or applied to Kubernetes, the Deployment and NetworkPolicy and the last error. Needs the ReBAC relation viewer.

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

NameTypeDefaultRequiredDescription
namestryesName of the plugin.

Returns: Any. Decoded JSON answer of the operation "Get the runtime status of a plugin".

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

PluginsClient.uninstall​

uninstall(name: str) -> Any

Uninstall a plugin. Deletes the Deployment and the NetworkPolicy from Kubernetes when configured (502 upstream_error on failure) and sets the plugin to uninstalled. Only an installed, installing or failed plugin (else 409 plugin_not_installed). Needs tenant_admin and the ReBAC relation owner. Audited as plugin.uninstall.

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

NameTypeDefaultRequiredDescription
namestryesName of the plugin.

Returns: Any. Decoded JSON answer of the operation "Uninstall a plugin".

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