Skip to main content

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}