bmc_redfish

Low-level Redfish HTTP passthrough.

Bypasses the backend abstraction in saltext.bmc.modules.bmc to let operators read or write any Redfish endpoint directly. Useful for ad-hoc inspection, vendor-specific OEM extensions, and one-off operations that the high-level module does not cover.

This module is Redfish-only. If the profile’s backend is set to ipmi, calls raise RedfishError immediately.

CLI examples (path is the first positional arg; pass the profile via name=):

salt-call --local bmc_redfish.get   /redfish/v1/         name=bmc-host-01
salt-call --local bmc_redfish.get   /redfish/v1/Systems  name=bmc-host-01
salt-call --local bmc_redfish.patch /redfish/v1/Systems/1 \
    body='{"AssetTag": "rack-7-slot-3"}' name=bmc-host-01
salt-call --local bmc_redfish.post \
    /redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
    body='{"ResetType": "On"}' name=bmc-host-01
saltext.bmc.modules.bmc_redfish.get(path: str, name: str | None = None, **conn) dict[source]

Raw Redfish GET.

Parameters:
  • path (str) – Redfish path (must start with /redfish/v1/).

  • name (str) – Profile name; falls back to top-level config.

CLI Example:

salt-call --local bmc_redfish.get /redfish/v1/Systems name=bmc-host-01
saltext.bmc.modules.bmc_redfish.post(path: str, name: str | None = None, body: dict | None = None, **conn) dict | None[source]

Raw Redfish POST.

Parameters:
  • path (str) – Redfish action path.

  • body (dict) – Request body (optional for some Redfish actions).

  • name (str) – Profile name.

CLI Example:

salt-call --local bmc_redfish.post \
    /redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
    body='{"ResetType": "On"}' name=bmc-host-01
saltext.bmc.modules.bmc_redfish.patch(path: str, body: dict, name: str | None = None, **conn) dict | None[source]

Raw Redfish PATCH.

Parameters:
  • path (str) – Redfish resource path.

  • body (dict) – Request body (required).

  • name (str) – Profile name.

CLI Example:

salt-call --local bmc_redfish.patch /redfish/v1/Systems/1 \
    body='{"AssetTag": "rack-7-slot-3"}' name=bmc-host-01
saltext.bmc.modules.bmc_redfish.delete(path: str, name: str | None = None, **conn) dict | None[source]

Raw Redfish DELETE.

Parameters:
  • path (str) – Redfish resource path.

  • name (str) – Profile name.

CLI Example:

salt-call --local bmc_redfish.delete \
    /redfish/v1/SessionService/Sessions/3 name=bmc-host-01