manta_shared/shared/params/boot_parameters.rs
1//! Parameters for `GET` and `PUT` on `/boot-parameters`.
2
3/// Typed parameters for fetching boot parameters.
4pub struct GetBootParametersParams {
5 /// HSM group whose members' boot parameters should be returned.
6 pub hsm_group: Option<String>,
7 /// Explicit comma-separated xnames; mutually exclusive with
8 /// `hsm_group`.
9 pub nodes: Option<String>,
10 /// Operator default from `cli.toml`'s `parent_hsm_group`, used
11 /// when neither `hsm_group` nor `nodes` is supplied.
12 pub settings_hsm_group_name: Option<String>,
13}
14
15/// Typed parameters for updating boot parameters.
16#[derive(serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
17pub struct UpdateBootParametersParams {
18 /// Target node xnames.
19 pub hosts: Vec<String>,
20 /// Node IDs corresponding to `hosts` (optional alternate identifier).
21 pub nids: Option<Vec<u32>>,
22 /// MAC addresses corresponding to `hosts` (optional alternate identifier).
23 pub macs: Option<Vec<String>>,
24 /// Kernel command-line parameters string.
25 pub params: String,
26 /// S3 path to the kernel image.
27 pub kernel: String,
28 /// S3 path to the initrd image.
29 pub initrd: String,
30}