1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Wire shape for `GET /api/v1/analysis/images`.
//!
//! Each `BackendSummary` is one row in an image-centric projection of
//! the four backend resource lists. See the field-population rules in
//! the implementation plan for how each column is derived.
use ;
use ToSchema;
/// One row of the backend-data summary, anchored on an IMS image.
///
/// Every IMS image visible to the caller produces exactly one row.
/// The row's `image_id` and `name` are always populated; the rest are
/// `Option<String>` and are filled in only when the corresponding
/// relation resolves.
///
/// See also [`super::configuration_analysis::ConfigurationAnalysis`]
/// for the parallel configuration-centric projection.
///
/// # Wire shape
///
/// ```json
/// {
/// "image_id": "0a1b2c3d-...",
/// "name": "compute-cos-2.5",
/// "image_created": "2026-05-12T10:14:22Z",
/// "configuration_name": "cos-2.5",
/// "safe_to_delete": false
/// }
/// ```