manta_shared/shared/params/redfish_endpoints.rs
1//! Parameters for `GET`, `POST`, and `PUT` on `/redfish-endpoints`.
2
3/// Typed parameters for fetching Redfish endpoints.
4pub struct GetRedfishEndpointsParams {
5 pub id: Option<String>,
6 pub fqdn: Option<String>,
7 pub uuid: Option<String>,
8 pub macaddr: Option<String>,
9 pub ipaddress: Option<String>,
10}
11
12/// Typed parameters for updating/adding a Redfish endpoint.
13#[derive(serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
14pub struct UpdateRedfishEndpointParams {
15 /// Xname identifying the BMC (e.g. `x3000c0s1b0`).
16 pub id: String,
17 /// Optional human-readable name.
18 pub name: Option<String>,
19 /// Hostname portion of the BMC FQDN.
20 pub hostname: Option<String>,
21 /// Domain portion of the BMC FQDN.
22 pub domain: Option<String>,
23 /// Full FQDN; overrides hostname+domain when set.
24 pub fqdn: Option<String>,
25 /// Whether the endpoint is enabled for discovery.
26 pub enabled: bool,
27 /// BMC username for Redfish authentication.
28 pub user: Option<String>,
29 /// BMC password for Redfish authentication.
30 pub password: Option<String>,
31 /// Use SSDP for automatic endpoint discovery.
32 pub use_ssdp: bool,
33 /// Whether a MAC address is required for geolocation.
34 pub mac_required: bool,
35 /// BMC MAC address (colon-separated).
36 pub mac_addr: Option<String>,
37 /// BMC IP address (IPv4 or IPv6).
38 pub ip_address: Option<String>,
39 /// Trigger a rediscovery pass when the endpoint is updated.
40 pub rediscover_on_update: bool,
41 /// ID of a discovery template to apply.
42 pub template_id: Option<String>,
43}