redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.


#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
pub enum PhysicalContext {
    /// The room.
    Room,
    /// The air intake point or points or region of the chassis.
    Intake,
    /// The air exhaust point or points or region of the chassis.
    Exhaust,
    /// The liquid inlet point of the chassis. Added in version 2017.3.
    LiquidInlet,
    /// The liquid outlet point of the chassis. Added in version 2017.3.
    LiquidOutlet,
    /// The front of the chassis.
    Front,
    /// The back of the chassis.
    Back,
    /// The upper portion of the chassis.
    Upper,
    /// The lower portion of the chassis.
    Lower,
    /// A processor (CPU).
    CPU,
    /// The entire processor (CPU) subsystem. Added in version 2018.3.
    CPUSubsystem,
    /// A graphics processor (GPU).
    GPU,
    /// The entire graphics processor (GPU) subsystem. Added in version 2018.3.
    GPUSubsystem,
    /// An FPGA. Added in version 2018.3.
    FPGA,
    /// An accelerator. Added in version 2018.3.
    Accelerator,
    /// An ASIC device, such as a networking chip or chipset component. Added in version 2017.3.
    ASIC,
    /// A backplane within the chassis.
    Backplane,
    /// The system board (PCB).
    SystemBoard,
    /// A power supply.
    PowerSupply,
    /// The entire power subsystem. Added in version 2019.1.
    PowerSubsystem,
    /// A voltage regulator device.
    VoltageRegulator,
    /// A rectifier device. Added in version 2019.1.
    Rectifier,
    /// A storage device.
    StorageDevice,
    /// A networking device.
    NetworkingDevice,
    /// Within a compute bay.
    ComputeBay,
    /// Within a storage bay.
    StorageBay,
    /// Within a networking bay.
    NetworkBay,
    /// Within an expansion bay.
    ExpansionBay,
    /// Within a power supply bay.
    PowerSupplyBay,
    /// A memory device. Added in version 2017.1.
    Memory,
    /// The entire memory subsystem. Added in version 2018.3.
    MemorySubsystem,
    /// The entire chassis. Added in version 2017.2.
    Chassis,
    /// A fan. Added in version 2017.2.
    Fan,
    /// The entire cooling, or air and liquid, subsystem. Added in version 2018.3.
    CoolingSubsystem,
    /// A motor. Added in version 2018.3.
    Motor,
    /// A transformer. Added in version 2018.3.
    Transformer,
    /// An AC utility input. Added in version 2018.3.
    ACUtilityInput,
    /// An AC static bypass input. Added in version 2018.3.
    ACStaticBypassInput,
    /// An AC maintenance bypass input. Added in version 2018.3.
    ACMaintenanceBypassInput,
    /// A DC bus. Added in version 2018.3.
    DCBus,
    /// An AC output. Added in version 2018.3.
    ACOutput,
    /// An AC input. Added in version 2018.3.
    ACInput,
    /// A trusted module. Added in version 2020.4.
    TrustedModule,
    /// This value shall indicate a circuit board that is not the primary or system board within a context that cannot be described by other defined values. Added in version 2021.1.
    Board,
    /// This value shall indicate a transceiver attached to a device. Added in version 2021.1.
    Transceiver,
    /// A battery. Added in version 2021.2.
    Battery,
    /// A pump. Added in version 2021.3.
    Pump,
}

#[allow(clippy::derivable_impls)]
impl Default for PhysicalContext {
     fn default() -> PhysicalContext {
        PhysicalContext::Room
     }
}

impl crate::Metadata<'static> for PhysicalContext {
    const JSON_SCHEMA: &'static str = "PhysicalContext.json";
}