// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="DMTFCR01368.003" type ="add">Add values (Storage Virtualizer, Media Library) to ComputerSystem.dedicated.</change>
// <change cr="SMWGCR00009.013" type ="add">Add values ("Management Controller", "Chassis Manager") to ComputerSystem.dedicated.</change>
// <change cr="SMWGCR00014.010" type ="add">Update description.</change>
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// <change cr="SMWGCR00009" type ="change">Corrected DMTF Reserved 
// range to start at 30.</change>
// <change cr="CIMCoreCR00827" type="add">Added enumerations
// "Host-based RAID controller", "Storage Device Enclosure" to Dedicated.</change>
// <change cr="CIMCoreCR00898" type="add">Update description
// for Dedicated property.</change>
// <change cr="CIMCoreCR00902" type="add">Promoted OtherIdentifyingInfo
// and IdentifyingDescription from ComputerSystem to System.</change>
// <change cr="DMWGCR00030" type="add">Add enumerations
// "Desktop" and "Laptop" to Dedicated property.</change>
// <change cr="CIMCoreCR00908" type="add">Added enumeration.</change>
// ==================================================================
//  CIM_ComputerSystem 
// ==================================================================
   [Abstract, Version ( "2.16.0" ), 
    UMLPackagePath ( "CIM::System::SystemElements" ), 
    Description ( 
       "A class derived from System that is a special collection of "
       "ManagedSystemElements. This collection is related to the "
       "providing of compute capabilities and MAY serve as an "
       "aggregation point to associate one or more of the following "
       "elements: FileSystem, OperatingSystem, Processor and Memory "
       "(Volatile and/or NonVolatile Storage)." )]
class CIM_ComputerSystem : CIM_System {

      [Override ( "NameFormat" ), 
       Description ( 
          "The ComputerSystem object and its derivatives are Top "
          "Level Objects of CIM. They provide the scope for "
          "numerous components. Having unique System keys is "
          "required. The NameFormat property identifies how the "
          "ComputerSystem Name is generated. The NameFormat "
          "ValueMap qualifier defines the various mechanisms for "
          "assigning the name. Note that another name can be "
          "assigned and used for the ComputerSystem that better "
          "suit a business, using the inherited ElementName "
          "property." ), 
       ValueMap { "Other", "IP", "Dial", "HID", "NWA", "HWA", "X25", 
          "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI", 
          "WWN", "NAA" }]
   string NameFormat;

      [Description ( 
          "Enumeration indicating the purpose(s) to which the "
          "ComputerSystem is dedicated, if any, and what "
          "functionality is provided. For example, one could "
          "specify that the System is dedicated to \"Print\" "
          "(value=11) or acts as a \"Hub\" (value=8). \n"
          "Also, one could indicate that this is a general purpose "
          "system by indicating \'Not Dedicated\' (value=0) but "
          "that it also hosts \'Print\' (value=11) or mobile phone "
          "\'Mobile User Device\' (value=17) services. \n"
          "A clarification is needed with respect to the value 17 "
          "(\"Mobile User Device\"). An example of a dedicated user "
          "device is a mobile phone or a barcode scanner in a store "
          "that communicates via radio frequency. These systems are "
          "quite limited in functionality and programmability, and "
          "are not considered \'general purpose\' computing "
          "platforms. Alternately, an example of a mobile system "
          "that is \'general purpose\' (i.e., is NOT dedicated) is "
          "a hand-held computer. Although limited in its "
          "programmability, new software can be downloaded and its "
          "functionality expanded by the user. \n"
          "A value of \"Management\" indicates this instance is "
          "dedicated to hosting system management software.\n"
          "A value of \"Management Controller\" indicates this "
          "instance represents specialized hardware dedicated to "
          "systems management (i.e., a Baseboard Management "
          "Controller (BMC) or service processor).\n"
          "The management scope of a \"Management Controller\" is "
          "typically a single managed system in which it is contained.\n"
          "A value of \"Chassis Manager\" indicates this instance "
          "represents a system dedicated to management of a blade "
          "chassis and its contained devices. This value would be "
          "used to represent a Shelf Controller. A \"Chassis "
          "Manager\" is an aggregation point for management and may "
          "rely on subordinate management controllers for the "
          "management of constituent parts. A value of \"Host-based "
          "RAID Controller\" indicates this instance represents a "
          "RAID storage controller contained within a host "
          "computer. A value of \"Storage Device Enclosure\" "
          "indicates this instance represents an enclosure that "
          "contains storage devices. A \"Virtual Tape Library\" is "
          "the emulation of a tape library by a Virtual Library "
          "System. A \"Virtual Library System\" uses disk storage "
          "to emulate tape libraries." ), 
       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..32567", "32568..65535" }, 
       Values { "Not Dedicated", "Unknown", "Other", "Storage", 
          "Router", "Switch", "Layer 3 Switch", 
          "Central Office Switch", "Hub", "Access Server", 
          "Firewall", "Print", "I/O", "Web Caching", "Management", 
          "Block Server", "File Server", "Mobile User Device", 
          "Repeater", "Bridge/Extender", "Gateway", 
          "Storage Virtualizer", "Media Library", "ExtenderNode", 
          "NAS Head", "Self-contained NAS", "UPS", "IP Phone", 
          "Management Controller", "Chassis Manager", 
          "Host-based RAID controller", "Storage Device Enclosure", 
          "Desktop", "Laptop", "Virtual Tape Library", 
          "Virtual Library System", "DMTF Reserved", 
          "Vendor Reserved" }, 
       ArrayType ( "Indexed" ), 
       MappingStrings { "MIB.IETF|MIB-II.sysServices", 
          "FC-GS.INCITS-T11 | Platform | PlatformType" }, 
       ModelCorrespondence { 
          "CIM_ComputerSystem.OtherDedicatedDescriptions" }]
   uint16 Dedicated[];

      [Description ( 
          "A string describing how or why the system is dedicated "
          "when the Dedicated array includes the value 2, \"Other\"." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_ComputerSystem.Dedicated" }]
   string OtherDedicatedDescriptions[];

      [Description ( 
          "If enabled (value = 4), the ComputerSystem can be reset "
          "via hardware (e.g. the power and reset buttons). If "
          "disabled (value = 3), hardware reset is not allowed. In "
          "addition to Enabled and Disabled, other Values for the "
          "property are also defined - \"Not Implemented\" (5), "
          "\"Other\" (1) and \"Unknown\" (2)." ), 
       ValueMap { "1", "2", "3", "4", "5" }, 
       Values { "Other", "Unknown", "Disabled", "Enabled", 
          "Not Implemented" }, 
       MappingStrings { "MIF.DMTF|System Hardware Security|001.4" }]
   uint16 ResetCapability;

      [Deprecated { 
          "CIM_PowerManagementCapabilities.PowerCapabilities" }, 
       Description ( 
          "An enumerated array describing the power management "
          "capabilities of the ComputerSystem. The use of this "
          "property has been deprecated. Instead, the Power "
          "Capabilites property in an associated PowerManagement "
          "Capabilities class should be used." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "Unknown", "Not Supported", "Disabled", "Enabled", 
          "Power Saving Modes Entered Automatically", 
          "Power State Settable", "Power Cycling Supported", 
          "Timed Power On Supported" }, 
       MappingStrings { "MIF.DMTF|System Power Controls|001.2" }]
   uint16 PowerManagementCapabilities[];


      [Deprecated { "CIM_PowerManagementService.SetPowerState" }, 
       Description ( 
          "Sets the power state of the computer. The use of this "
          "method has been deprecated. Instead, use the "
          "SetPowerState method in the associated "
          "PowerManagementService class." )]
   uint32 SetPowerState(
         [IN, Description ( 
             "The Desired state for the COmputerSystem." ), 
          ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
          Values { "Full Power", "Power Save - Low Power Mode", 
             "Power Save - Standby", "Power Save - Other", 
             "Power Cycle", "Power Off", "Hibernate", "Soft Off" }]
      uint32 PowerState, 
         [IN, Description ( 
             "Time indicates when the power state should be set, "
             "either as a regular date-time value or as an "
             "interval value (where the interval begins when the "
             "method invocation is received." )]
      datetime Time);

};
