Expand description
Single-namespace API types shared between manta-cli (Serialize
side) and manta-server (Deserialize side).
Each submodule owns one resource end-to-end: HTTP request/response
bodies, query-string structs, and CLI-built parameter structs all
sit next to each other rather than being split across parallel
wire/ and params/ namespaces. Cross-cutting query and response
shapes live in queries and responses.
Convention:
- Owned types (
String,Vec<String>) throughout. The CLI pays a small allocation cost on the outbound build; in exchange there is exactly one type to keep in sync. - Derives are
#[derive(Serialize, Deserialize, ToSchema)](orIntoParamsfor query strings). The server usesDeserialize+ the utoipa derives for OpenAPI; the CLI usesSerialize. - Field-level docs describe wire semantics. They show up in both the OpenAPI spec and the rustdoc the CLI consumes.
Types re-exported from manta-backend-dispatcher (response DTOs
owned by upstream crates) live in super::dto, which is kept
separate because it serves a different concern: types we don’t own.
Modules§
- analysis
- Aggregate summary of CFS configurations + sessions + BOS templates +
IMS images flattened into image-centric rows
(
/api/v1/analysis/images). Wire shape forGET /api/v1/analysis/images. - boot_
parameters - Boot-parameter request/response bodies (
/api/v1/boot-config,/api/v1/boot-parameters). HTTP request/response bodies and CLI-built parameter structs for the boot-parameter endpoints (/api/v1/boot-configand/api/v1/boot-parameters). - cluster
- CLI-built params for
GET /clusters. Parameters forGET /clusters. - configuration
- CLI-built params for
GET /configurations. Parameters forGET /configurations. - configuration_
analysis - Wire shape for the per-row configuration-deletion-safety verdict
returned by
/api/v1/configurations. Wire shape forGET /api/v1/configurations. - group
- HSM group request/response bodies (
/api/v1/groups,/api/v1/groups/{name}/members). HTTP request/response bodies and CLI-built parameter structs for the HSM group endpoints (/api/v1/groups,/api/v1/groups/{name}/members). - hardware
- CLI-built params for
GET /groups/hardwareand the/hardware-nodes-listfamily. Parameters forGET /groups/hardware(and the deprecated/hardware-clustersalias) andGET /hardware-nodes-list. - hw_
cluster - Wire types for the
POST/DELETE /api/v1/hardware-clusters/{target}/*endpoints. HTTP request/response bodies and shared types for thePOST /api/v1/hardware-clusters/{target}/*andDELETE /api/v1/hardware-clusters/{target}/membersendpoints. - image
- CLI-built params for
GET /images. Parameters forGET /images. - kernel_
parameters - Kernel-parameter request/response bodies
(
/api/v1/kernel-parameters/*). The internalKernelParamOperationenum is server-only and lives inservice::kernel_parameters. HTTP request/response bodies and CLI-built parameter structs for the kernel-parameter endpoints (/api/v1/kernel-parameters/*). - migrate
- Wire types for the
POST /api/v1/migrate/*endpoints. Wire types for thePOST /api/v1/migrate/*endpoints. - node
- Node request/response bodies (
/api/v1/nodes). HTTP request/response bodies and CLI-built parameter structs for the node endpoints (/api/v1/nodes). - power
- Power request/response bodies (
/api/v1/power). HTTP request/response bodies and CLI-built parameter structs for the power endpoints (/api/v1/power). - queries
- Shared
IntoParamsquery-string structs for every non-trivial GET and DELETE endpoint. Query-string parameter types for everyGETandDELETEendpoint whose query parameters are non-trivial. - redfish_
endpoints - CLI-built params for
GET/POST/PUT /redfish-endpoints. Parameters forGET,POST, andPUTon/redfish-endpoints. - responses
- Tiny response shapes (
{ "created": true },{ "id": "..." }) so the OpenAPI spec carries real types instead ofserde_json::Value. Lightweight response shapes for handlers that return ad-hoc JSON maps such as{ "created": true }or{ "id": "..." }. - sat_
file - SAT-file element-apply request/response bodies (
POST /api/v1/sat-file/*) and CLI-built params for the whole-file pass-through. HTTP request/response bodies for the per-element SAT-file apply endpoints underPOST /api/v1/sat-file/*, plus CLI-built params for the backend’s whole-fileapply_sat_filepass-through. - session
- CFS session request/response bodies (
/api/v1/sessions). HTTP request/response bodies and CLI-built parameter structs for the CFS session endpoints (/api/v1/sessions). - template
- BOS session-template request/response bodies (
/api/v1/templates,/api/v1/templates/{name}/sessions). HTTP request/response bodies and CLI-built parameter structs for the BOS session template endpoints (/api/v1/templates,/api/v1/templates/{name}/sessions).