Skip to content

bmctools.redfish.ciscofish

CiscoFish

Cisco (CIMC/UCS) Redfish implementation.

Cisco CIMC does not expose standard Redfish BootOrder/BootOptions collections. Boot device selection is managed via BootSourceOverrideTarget (one-time or continuous) and detailed boot order is controlled through BIOS token settings.

Boot override and BIOS settings are handled by the generic Redfish class (standard Redfish endpoints). This class provides Cisco-specific operations.

Parameters:

NameTypeDefaultDescription
fishapiRedfishAPI

get_supported_reset_types

def get_supported_reset_types() -> dict

Get the reset types supported by this Cisco system.

Returns: Dict with keys 'types' (list of allowable reset type strings), 'actions' (raw Actions dict), and 'reset_action' (the ComputerSystem.Reset action dict).

Raises: ValueError: If the system resource cannot be read.

Returns: dict

reset_system

def reset_system(reset_type: str = None) -> bool

Reset the Cisco system.

Args: reset_type: Optional Redfish reset type (e.g., 'GracefulRestart', 'ForceRestart'). When None, the type is chosen automatically from the supported reset types.

Returns: True on success.

Raises: ValueError: If the reset request fails.

Parameters:

NameTypeDefaultDescription
reset_typestrNone

Returns: bool

get_firmware_inventory

def get_firmware_inventory() -> dict

Get the firmware inventory for all installed components.

Returns: Dict with 'firmware_count' (int) and 'firmware' (list of dicts containing Id, Name, Version, Updateable, and Status).

Raises: ValueError: If the firmware inventory endpoint cannot be read.

Returns: dict

get_network_interfaces

def get_network_interfaces() -> list

Get all Ethernet interfaces for the system.

Returns: List of dicts, one per EthernetInterface resource.

Raises: ValueError: If the EthernetInterfaces collection cannot be read.

Returns: list