A P P E N D I X  A

MOF Files

A Managed Object Format (MOF) file describes the objects that you can manage using WDR. There are three MOF files delivered with WDR:

All three MOF files are listed in the sections that follow.


WDR_Core1.0.mof File

// Copyright (c) 2001 by Sun Microsystems, Inc. All rights
// reserved.

// Title: WBEM Dynamic Reconfiguration (DR) Common Information Model (CIM) Schema

// Filename: WDR_Core1.0.mof

// Author: Sun Microsystems, Inc.

// Description: This file contains CIM classes and CIM
// associations for the WBEM DR Common
// Information Model (CIM) Schema that are
// common to all platform implementations. The
// WBEM DR CIM Schema models DR related
// operations and resources for the SunFire
// 15K and SunFire 68x0, 48x0, and 3800
// platforms.

// @(#) WDR_Core1.0.mof 1.10@(#)
// ========================================================
// Pragmas:
// =========================================================

#pragma namespace ("root/system")

instance of Solaris_ProviderPath {
[Description("Describes the path to the JAR file
containing the WBEM DR provider classes." ) ]
pathurl = "file:///usr/sadm/lib/wbem/wdr.jar";
};

#pragma Locale ("en-US")

#pragma namespace ("root/cimv2")

// ===========================================================
// CIM Solaris_WDRAttachmentPoint class
// ============================================================

[Description("The CIM Solaris_WDRAttachmentPoint class represents the core Configuration Administration (cfgadm) information. This information is gathered using the libcfgadm library."), Provider("com.sun.wbem.wdr.AttachmentPointProvider"), Version("1.0") ]

class Solaris_WDRAttachmentPoint : CIM_LogicalElement
{

[Key, MaxLen(30), Description("The logical name of the attachment point.") ]
string LogicalID;

[Key, Description("The domain to which this attachment point is assigned or available.") ]
uint32 DomainID;

[MaxLen(1044), Description("The physical name of the attachment point.") ]
string PhysicalID;

[MaxLen(12), Description("The class of the attachment point.") ]
string ClassName;

[Description("The busy state indicator of the attachment point.") ]
uint32 Busy;

[Description( "The receptacle state of the attachment point. There are four possible states for the receptacle of an attachment point: "None, Empty, Disconnected, Connected"),
ValueMap{"0", "1", "2", "3"}, Values{"None", "Empty", "Disconnected", "Connected"} ]
uint32 ReceptacleState;

[Description( "The occupant state of the attachment point. There are three possible states for the occupant attachment point: "None, Unconfigured, Configured"),
ValueMap{"0", "4", "5"},
Values{"None", "Unconfigured", "Configured"} ]
uint32 OccupantState;

[Description("The condition state of the attachment point. There are five different condition states for the attachment point: "Unknown, OK, Failing, Failed, Unusable"),
ValueMap{"0", "1", "2", "3", "4"},
Values{"Unknown", "OK", "Failing", "Failed", "Unusable"} ]
uint32 Condition;

[MaxLen(12), Description("The attachment point type.") ]
string Type;

[MaxLen(4096), Description("The driver specifc information. This field contains the info string that the driver sets. This property will be populated with a set of name-value pairs.") ]
string MiscInfo;

[MaxLen(4096), Description("The is the time at which the Attachment Point was last updated.") ]
datetime StatusTime;

[Override("InstallDate"), Description("This property's value will always be NULL.") ]
datetime InstallDate;

[Override("Name"), Description("This property's value will always be NULL.") ]
string Name;

[Override("Status"), Description("This property's value will always be NULL.") ]
string Status;

[Override("Caption"), Description("This property's value will always be NULL.") ]
string Caption;

[Override("Description"), Description("This property's value will always be NULL.") ]
string Description;

[Description ( "This method is used to bring the hardware resources contained on, or attached to, an occupant into the realm of Solaris, allowing use of the occupant's hardware resources by the system.") ]
sint32 Configure([IN] boolean force, [IN] string
hardwareOpts, [IN] uint32 retries, [IN] uint32
retryDelay, [OUT] string error);

[Description ("This method is used to remove the hardware resources contained on, or attached to, an occupant from the realm of Solaris, disallowing further use of the occupant's hardware resources by the system.") ]
sint32 Unconfigure([IN] boolean force, [IN] string
hardwareOpts, [IN] uint32 retries, [IN] uint32
retryDelay,[OUT] string error);

[Description("Change the receptacle state to connected.") ]
sint32 Connect([IN] boolean force, [IN] string
hardwareOpts, [IN] uint32 retries, [IN] uint32
retryDelay, [OUT] string error);

[Description("This method is used to disable normal communication to or from an occupant in a receptacle.") ]
sint32 Disconnect([IN] boolean force, [IN] string
hardwareOpts, [IN] uint32 retries, [IN] uint32
retryDelay, [OUT] string error);

[Description ("This method is used to test an attachment point. The test, used to evaluate the condition of the attachment point, checks for hard faults. Note that the receptacle state of the attachment point must be disconnected to be tested. See cfgadm(1M).") ]
sint32 Test( [IN] boolean verbose, [IN] string
hardwareOpts, [OUT] string error);

};

// ===========================================================
// CIM Solaris_WDRDomain class
// ============================================================

[Abstract, Description("This CIM Solaris_WDRDomain represents a domain superclass for Starcat and Serengeti domains."), Version("1.0") ]

class Solaris_WDRDomain : CIM_CollectionOfMSEs
{

[Key, Description("This is the domain unique identifier on the Starcat and Serengeti platforms. The domain identifier will be a positive integer between 0 and 17 on the Starcat and 0 and 4 on the Serengeti.") ]
uint32 Id;

[Override("CIM_ManagedElement.Caption"), Description("This property's value will always be NULL.") ]
string Caption;

[Override("CIM_ManagedElement.Description"), Description("This property's value will always be NULL.") ]
string Description;

[Override("CollectionID"), Description("This property's value will always be NULL.") ]
string CollectionID;

};

// ===========================================================
// CIM Solaris_CHSystemBoard class
// ===========================================================

[Description("The CIM Solaris_CHSystemBoard class describes the system board information on the Sun's enterprise system that supports the NextGeneration Dynamic Reconfiguration (NextGen DR)."), Provider("com.sun.wbem.wdr.CHSystemBoardProvider"), Version("1.0") ]

class Solaris_CHSystemBoard : Solaris_WDRAttachmentPoint
{

[Description("Board assigned to the domain") ]
boolean Assigned;

[Description( "Board is powered-on") ]
boolean PoweredOn;

[Description( "Assign an available board to the domain. This command requires the receptacle state of the board to be Disconnected or Empty.") ]
sint32 Assign([IN] boolean force, [IN] string
hardwareOpts, [OUT] string error);

[Description("Power off the board. The receptacle state of the board must be Disconnected.") ]
sint32 PowerOff([IN] boolean force, [IN] string
hardwareOpts, [OUT] string error);

[Description("Power on the board. The receptacle state of the board must be Disconnected.") ]
sint32 PowerOn([IN] boolean force, [IN] string
hardwareOpts, [OUT] string error);

[Description("Unassign a board from the domain. An active, (i.e. connected, or configured board may be unassigned.") ]
sint32 Unassign([IN] boolean force, [IN] string
hardwareOpts, [OUT] string error);

};

// ===========================================================
// CIM Solaris_CHCPU class
// ============================================================

[Description("The CIM Solaris_CHCPU class describes the processor information available on Sun's enterprise systems."), Provider("com.sun.wbem.wdr.CHCPUProvider"), Version("1.0") ]

class Solaris_CHCPU : Solaris_WDRAttachmentPoint
{

[Description("The processor identifier.") ]
uint32 ID;

[Units("MegaHertz"), Description("The speed of the processor.") ]
uint32 Speed;

[Units("MegaBytes"), Description("The ECache memory size of the processor.") ]
uint32 ECache;

};

// ===========================================================
// CIM Solaris_CHMemory class
// ============================================================

[Description("The CIM Solaris_CHMemory class describes the memory information configured on Sun's enterprise systems that supports the NextGeneration Dynamic Reconfiguration (NextGen DR)."),
Provider("com.sun.wbem.wdr.CHMemoryProvider"),
Version("1.0") ]

class Solaris_CHMemory : Solaris_WDRAttachmentPoint
{

[Units("MegaBytes"), Description("When the memory drain is in progress, this property stores the amount of already deleted memory.") ]
uint32 Deleted;

[Description("True if the board is participating in interleaving with other boards.") ]
boolean Interleaved;

[Units("KiloBytes"), Description("The property stores the size of non-pageable memory in the board's memory.") ]
uint32 Permanent;

[octetstring, Description("The base physical address of memory on the board.") ]
uint64 PhysicalAddress;

[Units("MegaBytes"),Description("When the memory drain is in progress, this property stores the remaining memory needed to be drained.") ]
uint32 Remaining;

[Units("MegaBytes"), Description("The board memory size.") ]
uint32 Size;

[Description( "When the memory drain is in progress, this property stores the source system board attachment point identifier.") ]
string Source;

[Description( "When the memory drain is in progress, this property stores the target system board attachment point identifier.") ]
string Target;

[Description("True if the operating system has been configured to disallow this memory from being unconfigured.") ]
boolean Unconfigurable;

};

// ===========================================================
// CIM Solaris_CHController class
// ============================================================

[Description("The CIM CIM Solaris_CHController class models the controller information configured in the Sun's enterprise systems that supports the NextGeneration Dynamic Configuration (NextGen DR)."),
Provider("com.sun.wbem.wdr.CHControllerProvider"),
Version("1.0") ]

class Solaris_CHController : Solaris_WDRAttachmentPoint
{

[Description("The physical path of the IO component in /devices.") ]
string Device;

[Description("True if the I/O component is referenced.") ]
boolean Referenced;

};

// ===========================================================
// CIM Solaris_WDRSlot class
// ============================================================

[Abstract, Description("The CIM Solaris_WDRSlot is a superclass class for the platform specific slot classes, Solaris_XCSlot and Solaris_SGSlot. "),
Version("1.0") ]

class Solaris_WDRSlot : CIM_LogicalElement
{

[Key, MaxLen(30), Description("The logical name of the slot attachment point, (e.g SB0, IO15 for the Starcat or SB5, and IB9 for the Serengeti).") ]
string LogicalID;

[Description( "Indicates whether this slot contains a board or not. A NULL value for this property indicates the Empty state of slot is unknown.") ]
boolean Empty;

[Override("InstallDate"),Description("This property's value will always be NULL.") ]
datetime InstallDate;

[Override("Name"), Description("This property's value will always be NULL.") ]
string Name;

[Override("Status"), Description("This property's value will always be NULL.") ]
string Status;

[Override("Caption"), Description("This property's value will always be NULL.") ]
string Caption;

[Override("Description"), Description("This property's value will always be NULL.") ]
string Description;

[Description("Assign the Slot to the specified domain.") ]
sint32 Assign([IN] uint32 domainID, [OUT] string
error);

[Description("Unassign a board from the domain. This Slot must not be active, (i.e. connected, or configured), in a domain.") ]
sint32 Unassign([IN] uint32 domainID, [OUT] string
error);

};

// ==========================================================
// Associations
// ===========================================================

[Association, Aggregation,

Description("This CIM Relationship class is an aggregation relationship between the CIM Solaris_CHSystemBoard instance and the CIM Solaris_CHCPU instance."), Provider("com.sun.wbem.wdr.BoardHasPartsProvider"), Version("1.0") ]

class Solaris_SystemBoardHasProcessors : CIM_Component
{

[Override("GroupComponent"), Aggregate, Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_CHSystemBoard ref GroupComponent;

[Override("PartComponent"), Description("This property references the child of the relationship.") ]
Solaris_CHCPU ref PartComponent;

};

[Association, Aggregation, Description("This CIM Relationship class is an aggregation relationship between the CIM Solaris_CHSystemBoard instance and the CIM Solaris_CHMemory instance."),
Provider("com.sun.wbem.wdr.BoardHasPartsProvider"),
Version("1.0") ]

class Solaris_SystemBoardHasMemory : CIM_Component
{

[Override("GroupComponent"), Aggregate, Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_CHSystemBoard ref GroupComponent;

[Override("PartComponent"), Max(1), Description("This property references the child of the relationship.") ]
Solaris_CHMemory ref PartComponent;

};

[Association, Aggregation, Description("This CIM Relationship class is an aggregation relationship between the CIM Solaris_CHSystemBoard instance and the CIM Solaris_CHController instance."),
Provider("com.sun.wbem.wdr.BoardHasPartsProvider"),
Version("1.0") ]

class Solaris_SystemBoardHasControllers : CIM_Component
{

[Override("GroupComponent"), Aggregate, Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_CHSystemBoard ref GroupComponent;

[Override("PartComponent"), Description("This property references the child of the relationship.") ]
Solaris_CHController ref PartComponent;

};

[Association, Description("This CIM Relationship class is an association relationship between the CIM Solaris_WDRSlot instance and the CIM Solaris_CHSystemBoard instance."),
Provider("com.sun.wbem.wdr.SlotHasBoardProvider"),
Version("1.0") ]

class Solaris_SlotHasSystemBoard : CIM_Dependency
{

[Override("Antecedent"), Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_WDRSlot REF Antecedent;

[Override("Dependent"), Min(1), Max(1),Description("This property references the child of the relationship.") ]
Solaris_CHSystemBoard REF Dependent;

};

[Association, Aggregation, Description("This CIM Relationship class is an aggregation relationship between a CIM Solaris_WDRDomain instance and a set of CIM Solaris_WDRSlots instances."),
Provider("com.sun.wbem.wdr.DomainHasSlotsProvider"),
Version("1.0") ]

class Solaris_DomainHasSlots: CIM_CollectedMSEs
{

[Override("Collection"), Aggregate, Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_WDRDomain REF Collection;

[Override("Member"), Min(1), Max(1), Description("This property references the child of the relationship.") ]
Solaris_WDRSlot REF Member;

};

[Association, Aggregation, Description("This CIM Relationship class is an aggregation relationship between a CIM Solaris_WDRDomain instance and a set of CIM Solaris_WDRAttachmentPoints instances."),
Provider("com.sun.wbem.wdr.DomainHasAttachmentPointsProvider"),
Version("1.0") ]

class Solaris_DomainHasAttachmentPoints: CIM_CollectedMSEs
{

[Override("Collection"), Aggregate, Min(1), Max(1), Description("This property references to the parent of the relationship.") ]
Solaris_WDRDomain REF Collection;

[Override("Member"), Min(1), Max(1), Description("This property references the child of the relationship.") ]
Solaris_WDRAttachmentPoint REF Member;

};

// ===========================================================
// Indications
// ============================================================
// Solaris_WDRIndication indication
// ============================================================

[Abstract, Indication, Description ("This indication class serves as a common ancestor to all WBEM DR Indications. A client can construct a filter using this class to subscribe to all WBEM DR Indications."),
Version("1.0") ]

class Solaris_WDRIndication: CIM_ProcessIndication
{

};


WDR_SG1.0.mof File

// ===========================================================

// Copyright (c) 2001 by Sun Microsystems, Inc. All rights
// reserved.

// Title: WBEM Dynamic Reconfiguration (DR) Common
// Information Model (CIM) Schema for the
// SunFire 68x0, 48x0, and 3800

// Filename: WDR_SG1.0.mof

// Author: Sun Microsystems, Inc.

// Description: This file contains CIM class and
// association definitions for the WBEM
// Dynamic Reconfiguration Model (CIM)
// Schema that are specific to the SunFire
// 68x0, 48x0, and 3800 platforms
// implementation. The WBEM DR CIM Schema
// models DR related operations and
// resources for the SunFire
// 15K/12K and SunFire 68x0, 48x0, and 3800
// platforms. The WDR_Core1.0.mof must be
// compiled before this file.

// @(#) WDR_SG1.0.mof 1.12@(#)

// ========================================================
// Pragmas
// =========================================================

#pragma Locale ("en-US")

#pragma namespace ("root/cimv2")

// ========================================================
// CIM Solaris_SGDomain class
// =========================================================

[Description("This CIM Solaris_SGDomain represents the domain on the Serengeti platform."), Provider("com.sun.wbem.wdr.SGDomainProvider"),Version("1.0") ]

class Solaris_SGDomain : Solaris_WDRDomain
{

[Description("This property defines how a board is related to this domain. The first 6 array positions relate to SB0 through SB5. The next 4 positions relate to IB6 through IB9. Note that this applies for the Sun Fire 6800. The Sun Fire 4810, 4800, and 3800 have only 5 system board slots, (3 CPU boards and 2 I/O boards). For these models the values of the array at indices SB3, SB4, SB5, IB8, and IB9 will be 0, (i.e. Nonexistent Slot)."),
ValueMap {"0", "1", "2", "3", "4"},
Values {"Nonexistent Slot", "Not Available", "Available", "Assigned", "Active"},
BitMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
BitValues {"SB0", "SB1", "SB2", "SB3", "SB4", "SB5", "IB6", "IB7", "IB8", "IB9"} ]
sint32 BoardRelationship[];

[Description("This property identifies the keyswitch position of the virtual keyswitch. The possible values and their encodings are enumerated in the ValueMap and Values qualifiers respectively."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.domainKeySwitch"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10","11", "12", "13", "14", "15", "16"},
Values {"Unknown", "Off", "Standby", "On", "Diag", "Secure", "Off To Standby", "Off To On", "Off To Diag", "Off To Secure", "Standby To Off", "Active To Off", "Active To Standby", "Reboot To On", "Reboot To Diag", "Reboot To Secure"} ]
uint32 KeyswitchPosition;

[Description("This is the current state of the domain."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.domainStatus"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"},
Values {"Unknown", "Running Post", "Standby", "Active", "Powered Off", "Domain Idle", "Running OBP", "Booting", "Running Solaris", "Halted", "Reset", "Panic", "Debugger", "Hang Detected"} ]
uint32 State;

};

// ========================================================
// CIM Solaris_SGSlot class
// =========================================================

[Description("The CIM Solaris_SGSlot class represents the expander board slots on a Serengeti platform which may or may not contain various L1 system boards."),
Provider("com.sun.wbem.wdr.SGSlotProvider"),
Version("1.0") ]

class Solaris_SGSlot : Solaris_WDRSlot
{

[Description("The Domain to which this slot is assigned if indeed it is assigned."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotDomain"},
ValueMap {"-1", "0", "1", "2", "3"},
Values {"None", "A", "B", "C", "D"} ]
sint32 AssignedDomain;

[Description("The current assignment state of the slot."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotState"},
ValueMap {"1", "2", "3", "4"},
Values {"Unknown", "Free", "Assigned", "Active"} ]
uint32 AssignmentState;

[Description("The type of board occupying the slot if the slot is not empty."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotBoardType"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"},
Values {"Unknown", "Empty", "CPU", "IO", "CPUWIB", "IOWIB", "SC", "L2", "Fan", "Power Supply", "Logic Analyzer"} ]
uint32 BoardType;

[Description("The power state of a board."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotPowerStatus"},
ValueMap {"1", "2", "3", "4"},
Values {"Unknown", "On", "Off", "Failed"} ]
uint32 PowerState;

[Description("The test state of a board."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotTestStatus"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
Values {"Unknown", "Not Tested", "Passed", "Failed", "Under Test", "Start Test", "Degraded", "Unusable"} ]
uint32 TestState;

};

// ===========================================================
// Indications
// ============================================================

// Adapted from SC MIB Traps in SUN_SC_MIB.mib These indications are derived from a subset of SunFire SC SNMP Traps. Only SNMP traps of interest to WBEM DR are reported. Information is compiled from the SNMP trap and additional MIB queries.

// ===========================================================
// Solaris_SGBoardPresenceChange indication
// ============================================================

[Indication, Description ("CPU or IO Board becomes present/absent from slot. Sent to platform and all domains that have this slot in their Available Control List (ACL). From SNMP Enterprise Trap sunFireEvents 6.1. Variables slotChassisIndex, slotIndex, slotBoardType."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGBoardPresenceChange : Solaris_WDRIndication
{

[MaxLen(30), Description("The logical name of the slot attachment point, (e.g SB5, and IB9).") ]
string LogicalID;

[MaxLen(8), Description("The serial number of the chassis, which is an eight-digit hex string. E.g., 10483D99.") ]
string ChassisSerialNumber;

[Description("The type of board occupying the slot if the slot is not empty. Presently among boards only CPU and IO boards are reported."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotBoardType"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"},
Values {"Unknown", "Empty", "CPU", "IO", "CPUWIB", "IOWIB", "SC", "L2", "Fan", "Power Supply", "Logic Analyzer"} ]
uint32 BoardType;

};

// ===========================================================
// Solaris_SGSlotAssignmentChange indication
// ============================================================

[Indication, Description ("A slot is assigned/unassigned to this domain. Sent to the new domain in the event of an assignment. Sent to the old domain in the event of an unassignment. From SNMP Enterprise Trap sunFireEvents 6.2. Variables domainIndex, slotChassisIndex, slotIndex, slotState."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGSlotAssignmentChange : Solaris_WDRIndication
{

[MaxLen(30), Description("The logical name of the slot attachment point, (e.g SB5, and IB9).") ]
string LogicalID;

[MaxLen(8), Description("The serial number of the chassis, which is an eight-digit hex string. E.g., 10483D99.") ]
string ChassisSerialNumber;

[Description("The Domain to which this slot is assigned if indeed it is assigned."),
ValueMap {"-1", "0", "1", "2", "3"},
Values {"None", "A", "B", "C", "D"} ]
sint32 AssignedDomain;

[Description("The current assignment state of the slot."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotState"},
ValueMap {"1", "2", "3", "4"},
Values {"Unknown", "Free", "Assigned", "Active"} ]
uint32 AssignmentState;

};

// ===========================================================
// Solaris_SGDomainAclChange indication
// ============================================================

[Indication, Description ("The Available Control List (ACL) for this domain has changed. Sent to the domain with the ACL that changed. From SNMP Enterprise Trap sunFireEvents 6.3. Variables domainIndex, domainACLDescr."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGDomainAclChange : Solaris_WDRIndication
{

[Description("The domain the slot was assigned to or unassigned from."),
ValueMap {"0", "1", "2", "3"},
Values {"A", "B", "C", "D"} ]
uint32 DomainID;

[Description("The list of slots available to the domain identified by DomainID."),
BitMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
BitValues {"SB0", "SB1", "SB2", "SB3", "SB4", "SB5", "IB6", "IB7", "IB8", "IB9"} ]
boolean AvailableBoards[];

};

// ===========================================================
// Solaris_SGBoardStateChange indication
// ============================================================

[Indication, Description ("Indicates (i) if a board self test has completed or (ii) if a board was powered on/off. Sent to the platform and the domain that owns the board if any. From SNMP Enterprise Trap sunFireEvents 6.4. Variables slotChassisIndex, slotIndex, slotTestStatus, slotPowerStatus."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGBoardStateChange : Solaris_WDRIndication
{

[MaxLen(30), Description("The logical name of the slot attachment point, (e.g SB5, and IB9).") ]
string LogicalID;

[MaxLen(8), Description("The serial number of the chassis, which is an eight-digit hex string. E.g., 10483D99.") ]
string ChassisSerialNumber;

[Description("The power status of a board."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotPowerStatus"},
ValueMap {"1", "2", "3", "4"},
Values {"Unknown", "On", "Off", "Failed"} ]
uint32 PowerState;

[Description("The test status of a board."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotTestStatus"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
Values {"Unknown", "Not Tested", "Passed", "Failed", "Under Test", "Start Test", "Degraded", "Unusable"} ]
uint32 TestState;

};

// ===========================================================
// Solaris_SGDomainStateChange indication
// ============================================================

[Indication, Description ("Indicates when (i) domain goes up or down, (ii) domain self test fails or (iii) the keyswitch state of a domain has changed. Sent to the platform and the domain who changed state. From SNMP Enterprise Trap sunFireEvents 6.9. Variables domainIndex, domainStatus, domainKeySwitch."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGDomainStateChange : Solaris_WDRIndication
{

[Description("The domain which underwent a state change."),
ValueMap {"0", "1", "2", "3"},
Values {"A", "B", "C", "D"} ]
uint32 DomainID;

[Description ("This property identifies the keyswitch position of the virtual keyswitch. The possible values and their encodings are enumerated in the ValueMap and Values qualifiers, respectively."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.domainKeySwitch"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"},
Values{"Unknown", "Off", "Standby", "On", "Diag", "Secure",
"Off To Standby", "Off To On", "Off To Diag", "Off To Secure", "Standby To Off", "Active To Off", "Active To Standby", "Reboot To On", "Reboot To Diag", "Reboot To Secure"} ]
uint32 KeyswitchPosition;

[Description("This is the current state of the domain."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.domainStatus"},
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"},
Values {"Unknown", "Running Post", "Standby", "Active", "Powered Off", "Domain Idle", "Running OBP", "Booting","Running Solaris", "Halted", "Reset", "Panic", "Debugger", "Hang Detected"} ]
uint32 State;

};

// ===========================================================
// Solaris_SGSlotAvailabilityChange indication
// ============================================================

[Indication, Description("This trap indicates that the availability for a slot has changed. Not currently sent. From SNMP Enterprise Trap sunFireEvents 6.19. Variables domainIndex, slotChassisIndex, slotIndex, slotState."),
Provider("com.sun.wbem.wdr.SGEventProvider"),
Version("1.0") ]

class Solaris_SGSlotAvailabilityChange : Solaris_WDRIndication
{

[MaxLen(30), Description ("The logical name of the slot attachment point, (e.g SB5, and IB9).") ]
string LogicalID;

[Description("The Domain to which this slot was assigned and is now unassigned from or to which it is newly assigned."),
ValueMap {"-1", "0", "1", "2", "3"},
Values {"None", "A", "B", "C", "D"} ]
sint32 AssignedDomain;

[Description("The current assignment state of the slot."),
MappingStrings {"MIB.IETF | SUN-SC-MIB.slotState"},
ValueMap {"1", "2", "3", "4"},
Values {"Unknown", "Free", "Assigned", "Active"} ]
uint32 AssignmentState;

};


WDR_XC1.0.mof File

===============================================================

// Copyright (c) 2002 by Sun Microsystems, Inc.
// All rights reserved.

// Title: WBEM Dynamic Reconfiguration (DR) Common
// Information Model (CIM) Schema for the
// SunFire 15K/12K

// Filename: WDR_XC1.0.mof

// Author: Sun Microsystems, Inc.

// Description: This file contains CIM class and association
// definitions for the WBEM Dynamic
// Reconfiguration Model (CIM) Schema that
// are specific to the SunFire 15K/12K
// platform implementation. The WBEM DR CIM
// Schema models DR related operations and
// resources for the Starcat and Serengeti
// platforms. The WDR_Core1.0.mof must be
// compiled before this file.

// @(#) WDR_XC1.0.mof 1.12@(#)

// ===========================================================
// Pragmas
// ============================================================

#pragma Locale ("en-US")

#pragma namespace ("root/cimv2")

// ============================================================
// CIM Solaris_XCDomain class
// ============================================================

[Description("This CIM Solaris_XCDomain represents the domain on the Starcat platform."),
Provider("com.sun.wbem.wdr.XCDomainProvider"),
Version("1.0") ]

class Solaris_XCDomain : Solaris_WDRDomain
{

[Description("This property specifies which IO board has the active ethernet for the internal SC network.") ]
string ActiveEthernetBoard;

[Description("This property contains the UNIX group name assigned to the Domain Administrator Group.") ]
string AdminGroup;

[Description("This property defines how a board is related to this domain. The first 18 array positions relate to SB0 through SB17. The next 18 positions relate to IB0 through IB17."),
ValueMap {"1", "2", "3", "4"},
Values {"Not Available", "Available", "Assigned", "Active"},
BitMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36"},
BitValues {"SB0", "SB1", "SB2", "SB3", "SB4", "SB5", "SB6", "SB7", "SB8", "SB9", "SB10", "SB11", "SB12", "SB13", "SB14", "SB15", "SB16", "SB17", "IO0", "IO1", "IO2", "IO3", "IO4", "IO5", "IO6", "IO7", "IO8", "IO9", "IO10", "IO11", "IO12", "IO13", "IO14", "IO15", "IO16", "IO17"} ]
sint32 BoardRelationship[];

[Description("This property identifies the keyswitch position of the virtual keyswitch. The possible values and their encodings are enumerated in the ValueMap and Values qualifiers, respectively."),
ValueMap {"0", "1", "2", "3", "4", "5"},
Values {"On", "Standby", "Off", "Diag", "Secure", "Unknown"} ]
uint32 KeyswitchPosition;

[Description("This is the current state of the domain."),
ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36"},
Values {"Unknown", "Powered Off", "Keyswitch Standby", "Running Domain Post", "Running Board Post", "Layout OBP", "Loading OBP", "OBP Booting", "OBP Running", "OBP Callback", "OBP Loading Solaris", "OBP Booting Solaris", "OBP Domain Exited", "OBP Failed", "OBP In Sync Callback", "OBP Exited", "OBP Error Reset", "OBP Domain Halt", "OBP Environmental Domain Halt", "OBP Booting Solaris Failed", "OBP Loading Solaris Failed", "OBP Debug", "OS Running Solaris", "OS Quiesce In Progress", "OS Quiesced", "OS Resume In Progress", "OS Panic", "OS Panic Debug", "OS Panic Continue", "OS Panic Dump", "OS Halt", "OS Panic Exit", "OS Environmental Exit", "OS Debug", "OS Exit", "Domain Down", "Domain In Recovery"} ]
uint32 State;

[Description("This is the UNIX group ID assigned to represent the Domain Reconfiguration privileges.") ]
string ReconfigGroup;

};

// ============================================================
// CIM Solaris_XCSlot class
// ============================================================

[Description("The CIM Solaris_XCSlot class represents the expander board slots on the Starcat platform which may or may not contain various L1 system boards."),
Provider("com.sun.wbem.wdr.XCSlotProvider"),
Version("1.0") ]

class Solaris_XCSlot : Solaris_WDRSlot
{

[Description("The Domain to which this slot is assigned if indeed it is assigned."),
ValueMap {"-1", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"},
Values {"None", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "N", "P", "Q", "R"} ]
sint32 AssignedDomain;

[Description("The current assignment state of the slot."),
ValueMap {"0", "1", "2", "3"},
Values {"Unknown", "Free", "Assigned", "Active"} ]
uint32 AssignmentState;

[Description("The type of board occupying the slot if the slot is not empty."),
ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
Values {"CPU", "WIB", "HPCI", "CPCI", "MCPU", "WPCI", "SPCI", "HPCIX", "Unknown"} ]
uint32 BoardType;

[Description("The power state of a board."),
ValueMap {"0", "1", "2", "3"},
Values {"Off", "On", "Minimal", "Unknown"} ]
uint32 PowerState;

[Description("The test state of a board."),
ValueMap {"0", "1", "2", "3", "4"},
Values {"Unknown", "iPOST", "Passed", "Degraded", "Failed"} ]
uint32 TestState;

};

// ===========================================================
// Indications
// ============================================================

// ===========================================================
// Solaris_XCSystemBoardConfigChange indication
// ============================================================

[Indication, Description ("Indications of this type notify the client that some SunFire 15K/12K system board configuration property (or properties) has changed for a specific system board."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCSystemBoardConfigChange: Solaris_WDRIndication
{

[Description("The system board whose configuration data has changed.") ]
string LogicalID;

};

// ============================================================
// Solaris_XCEnvironmentalIndication indication
// ============================================================

[Abstract, Indication, Description("This abstract class serves as a common ancestor to all environmental indications on the SunFire 15K/12K."),
Version("1.0") ]

class Solaris_XCEnvironmentalIndication: Solaris_WDRIndication
{

[Description("The component experiencing the environmental event.") ]
string ComponentID;

[Description("If the component is an L1 board, (i.e. a system board), this property will contain the corresponding Field Replaceable Unit identifier, otherwise it will be NULL.") ]
uint32 FRUID;

};

// ============================================================
// Solaris_XCComponentRemove indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific hot-pluggable component is removed from its slot on a SunFire 15K/12K."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCComponentRemove : Solaris_XCEnvironmentalIndication
{

};

// ============================================================
// Solaris_XCComponentInsert indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific hot-pluggable component is inserted into its slot on a SunFire 15K/12K."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCComponentInsert: Solaris_XCEnvironmentalIndication
{

};

// ============================================================
// Solaris_XCBoardPowerOn indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific system board is powered on."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCBoardPowerOn: Solaris_XCEnvironmentalIndication
{

};

// ============================================================
// Solaris_XCBoardPowerOff indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific system board is powered off."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCBoardPowerOff: Solaris_XCEnvironmentalIndication
{

};

// ============================================================
// Solaris_XCDomainIndication indication
// ============================================================

[Abstract, Indication,Description("This abstract class serves as a common ancestor to all domain indications on the SunFire 15K/12K."),
Version("1.0") ]

class Solaris_XCDomainIndication: Solaris_WDRIndication
{

[Description("The domain experiencing the event.") ]
uint32 DomainID;

};

// ============================================================
// Solaris_XCDomainConfigChange indication
// ============================================================

[Indication, Description("Indications of this type notify the client that some SunFire 15K/12K domain configuration property (or properties) has changed for a specific domain."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCDomainConfigChange: Solaris_XCDomainIndication
{

};

// ============================================================
// Solaris_XCDomainUp indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific domain goes up. This occurs when a domain is keyswitched on, or after the domain monitoring daemon, DSMD, is restarted and finds that the IOSRAM assigned to this domain is accessible."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCDomainUp: Solaris_XCDomainIndication
{

};

// ============================================================
// Solaris_XCDomainDown indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific domain goes down. This occurs as when a domain is keyswitched to off or standby."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCDomainDown: Solaris_XCDomainIndication
{

};

// ===========================================================
// Solaris_XCDomainStop indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific domain begins a hardware state dump. This occurs as a result of some non-recoverable hardware failure and as a consequence the domain dumps it state information to a dump file."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCDomainStop: Solaris_XCDomainIndication
{

};

// ============================================================
// Solaris_XCDomainStateChange indication
// ============================================================

[Indication, Description("Indications of this type notify the client when a specific domain's state changes."),
Provider("com.sun.wbem.wdr.XCEventProvider"),
Version("1.0") ]

class Solaris_XCDomainStateChange: Solaris_XCDomainIndication
{

[Description("The triple (Signature, State, SubState) combine to describe the current state of the domain.") ]
uint32 Signature;
uint32 State;
uint32 SubState;

};