Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2614 lines
92 KiB

  1. //**************************************************************************
  2. //*
  3. //* Copyright (c) 2000 Microsoft Corporation
  4. //*
  5. //* File: ClusWMI.mof
  6. //*
  7. //**************************************************************************
  8. #pragma namespace("\\\\.\\ROOT")
  9. instance of __NameSpace
  10. {
  11. Name = "MSCluster" ;
  12. };
  13. #pragma namespace ("\\\\.\\Root\\MSCluster")
  14. instance of __Win32Provider as $InstanceProv
  15. {
  16. Name = "MS_CLUSTER_PROVIDER" ;
  17. CLSID = "{598065EA-EDC9-4b2c-913B-5104D04D098A}" ;
  18. ImpersonationLevel = 1 ;
  19. PerUserInitialization = TRUE ; // This insures that we get the most accurate information.
  20. Hostingmodel="NetworkServicehost";
  21. };
  22. instance of __Win32Provider as $EventProv
  23. {
  24. Name = "Cluster Event Provider" ;
  25. CLSID = "{92863246-4EDE-4eff-B606-79C1971DB230}" ;
  26. ImpersonationLevel = 1 ;
  27. PerUserInitialization = TRUE ; // This insures that we get the most accurate information.
  28. Hostingmodel="NetworkServicehost";
  29. };
  30. instance of __Win32Provider as $ClassProv
  31. {
  32. Name = "MS_CLUSTER_CLASS_PROVIDER" ;
  33. CLSID = "{6A52C339-DCB0-4682-8B1B-02DE2C436A6D}" ;
  34. ImpersonationLevel = 1 ;
  35. PerUserInitialization = TRUE ; // This insures that we get the most accurate information.
  36. Hostingmodel="NetworkServicehost";
  37. };
  38. // ==================================================================
  39. // CIM_ManagedSystemElement
  40. // ==================================================================
  41. [Abstract ,
  42. Locale (0x409) : ToInstance ,
  43. Description (
  44. "CIM_ManagedSystemElement is the base class for the System Element "
  45. "hierarchy. Membership Criteria: Any distinguishable component of a "
  46. "System is a candidate for inclusion in this class. Examples: software "
  47. "components, such as files; and devices, such as disk drives and "
  48. "controllers, and physical components such as chips and cards."
  49. ),
  50. UUID ("{C9D86C80-ED46-4377-8360-FC9B8A9F0C64}")
  51. ]
  52. class CIM_ManagedSystemElement
  53. {
  54. [MaxLen (64) ,
  55. Description (
  56. "The Caption property is a short textual description (one-line string) "
  57. "of the object."
  58. ) ]
  59. string Caption ;
  60. [Description (
  61. "The Description property provides a textual description of the object."
  62. ) ]
  63. string Description ;
  64. [Description (
  65. "A datetime value indicating when the object was installed. A lack of a "
  66. "value does not indicate that the object is not installed."
  67. ) ,
  68. MappingStrings { "MIF.DMTF|ComponentID|001.5" }
  69. ]
  70. datetime InstallDate ;
  71. [MaxLen (256) ,
  72. Description (
  73. "The Name property defines the label by which the object is known. When "
  74. "subclassed, the Name property can be overridden to be a Key property."
  75. ) ]
  76. string Name ;
  77. [MaxLen (10) ,
  78. Description (
  79. "A string indicating the current status of the object. Various "
  80. "operational and non-operational statuses are defined. Operational "
  81. "statuses are \"OK\", \"Degraded\", \"Stressed\" and \"Pred Fail\". "
  82. "\"Stressed\" indicates that the Element is functioning, but needs "
  83. "attention. Examples of \"Stressed\" states are overload, overheated, "
  84. "etc. The condition \"Pred Fail\" (failure predicted) indicates that an "
  85. "Element is functioning properly but predicting a failure in the near "
  86. "future. An example is a SMART-enabled hard drive. Non-operational "
  87. "statuses can also be specified. These are \"Error\", \"NonRecover\", "
  88. "\"Starting\", \"Stopping\" and \"Service\". \"NonRecover\" indicates "
  89. "that a non-recoverable error has occurred. \"Service\" describes an "
  90. "Element being configured, maintained or cleaned, or otherwise "
  91. "administered. This status could apply during mirror-resilvering of a "
  92. "disk, reload of a user permissions list, or other administrative task. "
  93. "Not all such work is on-line, yet the Element is neither \"OK\" nor in "
  94. "one of the other states."
  95. ) ,
  96. ValueMap {
  97. "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting",
  98. "Stopping", "Service", "Stressed", "NonRecover"
  99. } ]
  100. string Status ;
  101. }; //*** class CIM_ManagedSystemElement
  102. // ==================================================================
  103. // CIM_LogicalElement
  104. // ==================================================================
  105. [Abstract ,
  106. Locale (0x409) : ToInstance ,
  107. Description (
  108. "CIM_LogicalElement is a base class for all the components of a System "
  109. "that represent abstract system components, such as Files, Processes, or "
  110. "system capabilities in the form of Logical Devices."
  111. ),
  112. UUID ("{F6D42C79-DC86-4847-80A7-36CA4A5E36C8}")
  113. ]
  114. class CIM_LogicalElement : CIM_ManagedSystemElement
  115. {
  116. }; //*** class CIM_LogicalElement
  117. // ==================================================================
  118. // CIM_System
  119. // ==================================================================
  120. [Abstract ,
  121. Locale (0x409) : ToInstance ,
  122. Description (
  123. "A CIM_System is a LogicalElement that aggregates an enumerable set of "
  124. "Managed System Elements. The aggregation operates as a functional whole."
  125. " Within any particular subclass of System, there is a well-defined list "
  126. "of Managed System Element classes whose instances must be aggregated."
  127. ),
  128. UUID ("{A4D42690-0286-4369-B95C-7169809CC3EC}")
  129. ]
  130. class CIM_System : CIM_LogicalElement
  131. {
  132. [CIM_KEY ,
  133. MaxLen (256) ,
  134. Description (
  135. "CreationClassName indicates the name of the class or the subclass used "
  136. "in the creation of an instance. When used with the other key properties "
  137. "of this class, this property allows all instances of this class and its "
  138. "subclasses to be uniquely identified."
  139. ) ]
  140. string CreationClassName ;
  141. [Key ,
  142. MaxLen (256) ,
  143. Override ("Name") ,
  144. Description (
  145. "The inherited Name serves as key of a System instance in an enterprise "
  146. "environment."
  147. ) ]
  148. string Name ;
  149. [MaxLen (64) ,
  150. Description (
  151. "The System object and its derivatives are Top Level Objects of CIM. "
  152. "They provide the scope for numerous components. Having unique System "
  153. "keys is required. A heuristic can be defined in individual System "
  154. "subclasses to attempt to always generate the same System Name Key. The "
  155. "NameFormat property identifies how the System name was generated, using "
  156. "the subclass' heuristic."
  157. ) ]
  158. string NameFormat ;
  159. [MaxLen (256) ,
  160. Description (
  161. "A string that provides information on how the primary system owner can "
  162. "be reached (e.g. phone number, email address, ...)."
  163. ) ,
  164. MappingStrings { "MIF.DMTF|General Information|001.3" }
  165. ]
  166. string PrimaryOwnerContact ;
  167. [MaxLen (64) ,
  168. Description ("The name of the primary system owner.") ,
  169. MappingStrings { "MIF.DMTF|General Information|001.4" }
  170. ]
  171. string PrimaryOwnerName ;
  172. [Description (
  173. "An array (bag) of strings that specify the roles this System plays in "
  174. "the IT-environment. Subclasses of System may override this property to "
  175. "define explicit Roles values. Alternately, a Working Group may describe "
  176. "the heuristics, conventions and guidelines for specifying Roles. For "
  177. "example, for an instance of a networking system, the Roles property "
  178. "might contain the string, 'Switch' or 'Bridge'."
  179. ) ]
  180. string Roles[] ;
  181. }; //*** class CIM_System
  182. // ===================================================================
  183. // CIM_ComputerSystem
  184. // ===================================================================
  185. [Abstract ,
  186. Locale (0x409) : ToInstance ,
  187. Description (
  188. "A class derived from System that is a special collection of "
  189. "ManagedSystemElements. This collection provides compute capabilities "
  190. "and serves as aggregation point to associate one or more of the "
  191. "following elements: FileSystem, OperatingSystem, Processor and Memory ("
  192. "Volatile and/or NonVolatile Storage)."
  193. ),
  194. UUID ("{DB2EBD10-5113-44a1-96E6-52A4FB4210E1}")
  195. ]
  196. class CIM_ComputerSystem : CIM_System
  197. {
  198. [Override ("NameFormat") ,
  199. Description (
  200. "The ComputerSystem object and its derivatives are Top Level Objects of "
  201. "CIM. They provide the scope for numerous components. Having unique "
  202. "System keys is required. A heuristic is defined to create the "
  203. "ComputerSystem Name to attempt to always generate the same Name, "
  204. "independent of discovery protocol. This prevents inventory and "
  205. "management problems where the same asset or entity is discovered "
  206. "multiple times, but can not be resolved to a single object. Use of the "
  207. "heuristic is optional, but recommended.\n\nThe NameFormat property "
  208. "identifies how the ComputerSystem Name is generated, using a heuristic. "
  209. "The heuristic is outlined, in detail, in the CIM V2 System Model spec. "
  210. "It assumes that the documented rules are traversed in order, to "
  211. "determine and assign a Name. The NameFormat Values list defines the "
  212. "precedence order for assigning the ComputerSystem Name. Several rules "
  213. "do map to the same Value.\n\nNote that the ComputerSystem Name "
  214. "calculated using the heuristic is the System's key value. Other names "
  215. "can be assigned and used for the ComputerSystem, that better suit a "
  216. "business, using Aliases."
  217. ) ,
  218. ValueMap {
  219. "Other", "IP", "Dial", "HID", "NWA", "HWA", "X25", "ISDN", "IPX",
  220. "DCC", "ICD", "E.164", "SNA", "OID/OSI"
  221. } ]
  222. string NameFormat ;
  223. [MaxLen (256) ,
  224. ArrayType ("Indexed") ,
  225. Description (
  226. "OtherIdentifyingInfo captures additional data, beyond System Name "
  227. "information, that could be used to identify a ComputerSystem. One "
  228. "example would be to hold the Fibre Channel World-Wide Name (WWN) of a "
  229. "node. Note that if only the Fibre Channel name is available and is "
  230. "unique (able to be used as the System key), then this property would be "
  231. "NULL and the WWN would become the System key, its data placed in the "
  232. "Name property."
  233. ) ,
  234. ModelCorrespondence { "CIM_ComputerSystem.IdentifyingDescriptions" }
  235. ]
  236. string OtherIdentifyingInfo[] ;
  237. [ArrayType ("Indexed") ,
  238. Description (
  239. "An array of free-form strings providing explanations and details behind "
  240. "the entries in the OtherIdentifyingInfo array. Note, each entry of this "
  241. "array is related to the entry in OtherIdentifyingInfo that is located "
  242. "at the same index."
  243. ) ,
  244. ModelCorrespondence { "CIM_ComputerSystem.OtherIdentifyingInfo" }
  245. ]
  246. string IdentifyingDescriptions[] ;
  247. [Description (
  248. "Enumeration indicating whether the ComputerSystem is a special-purpose "
  249. "System (ie, dedicated to a particular use), versus being 'general "
  250. "purpose'. For example, one could specify that the System is dedicated "
  251. "to \"Print\" (value=11) or acts as a \"Hub\" (value=8)."
  252. ) ,
  253. Values {
  254. "Not Dedicated", "Unknown", "Other", "Storage", "Router", "Switch",
  255. "Layer 3 Switch", "Central Office Switch", "Hub", "Access Server",
  256. "Firewall", "Print", "I/O", "Web Caching"
  257. } ]
  258. uint16 Dedicated[] ;
  259. }; //*** class CIM_ComputerSystem
  260. // =============================================================================
  261. // CIM_UnitaryComputerSystem
  262. // =============================================================================
  263. [Abstract ,
  264. Locale (0x409) : ToInstance ,
  265. Description (
  266. "A class derived from ComputerSystem that represents a Desktop, "
  267. "Mobile, NetPC, Server or other type of a single node Computer "
  268. "System."
  269. ),
  270. UUID ("{903487A9-1E55-4489-9389-4CEE0AE6B236}")
  271. ]
  272. class CIM_UnitaryComputerSystem : CIM_ComputerSystem
  273. {
  274. [Description (
  275. "This object contains the data needed to find either the "
  276. "initial load device (its key) or the boot service to "
  277. "request the operating system to start up. In addition, "
  278. "the load parameters (ie, a pathname and parameters) "
  279. "may also be specified."
  280. ) ]
  281. string InitialLoadInfo[];
  282. [Description (
  283. "This object contains the data identifying either the "
  284. "initial load device (its key) or the boot service that "
  285. "requested the last operating system load. In addition, "
  286. "the load parameters (ie, a pathname and parameters) "
  287. "may also be specified."
  288. ) ,
  289. MappingStrings {
  290. "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice",
  291. "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters"
  292. } ]
  293. string LastLoadInfo;
  294. [Description (
  295. "If enabled (value = 4), the UnitaryComputerSystem can be "
  296. "reset via hardware (e.g. the power and reset buttons). If "
  297. "disabled (value = 3), hardware reset is not allowed. In "
  298. "addition to Enabled and Disabled, other Values for the "
  299. "property are also defined - \"Not Implemented\" (5), "
  300. "\"Other\" (1) and \"Unknown\" (2)."
  301. ) ,
  302. ValueMap { "1", "2", "3", "4", "5" } ,
  303. Values {
  304. "Other", "Unknown", "Disabled", "Enabled", "Not Implemented"
  305. } ,
  306. MappingStrings { "MIF.DMTF|System Hardware Security|001.4" }
  307. ]
  308. uint16 ResetCapability;
  309. [Description (
  310. "Boolean indicating that the ComputerSystem, with its "
  311. "running OperatingSystem, supports power management. This "
  312. "boolean does not indicate that power management features are "
  313. "currently enabled, or if enabled, what features are "
  314. "supported. Refer to the PowerManagementCapabilities array "
  315. "for this information. If this boolean is false, the integer "
  316. "value 1 for the string, \"Not Supported\", should be the "
  317. "only entry in the PowerManagementCapabilities array."
  318. ) ]
  319. boolean PowerManagementSupported;
  320. [Description (
  321. "Indicates the specific power-related capabilities of a "
  322. "ComputerSystem and its associated running OperatingSystem. "
  323. "The values, 0=\"Unknown\", 1=\"Not Supported\", and "
  324. "2=\"Disabled\" are self-explanatory. "
  325. "The value, 3=\"Enabled\" indicates that the power management "
  326. "features are currently enabled but the exact feature set "
  327. "is unknown or the information is unavailable. "
  328. "\"Power Saving Modes Entered Automatically\" (4) describes "
  329. "that a system can change its power state based on usage or "
  330. "other criteria. \"Power State Settable\" (5) indicates that "
  331. "the SetPowerState method is supported. \"Power Cycling "
  332. "Supported\" (6) indicates that the SetPowerState method "
  333. "can be invoked with the PowerState input variable set to 5 ("
  334. "\"Power Cycle\"). \"Timed Power On Supported\" (7) indicates "
  335. "that the SetPowerState method can be invoked with the Power"
  336. "State input variable set to 5 (\"Power Cycle\") and the Time "
  337. "parameter set to a specific date and time, or interval, "
  338. "for power-on."
  339. ) ,
  340. Values {
  341. "Unknown", "Not Supported", "Disabled", "Enabled",
  342. "Power Saving Modes Entered Automatically",
  343. "Power State Settable", "Power Cycling Supported",
  344. "Timed Power On Supported"
  345. } ,
  346. MappingStrings { "MIF.DMTF|System Power Controls|001.2" }
  347. ]
  348. uint16 PowerManagementCapabilities[];
  349. [Description (
  350. "Indicates the current power state of the ComputerSystem and "
  351. "its associated OperatingSystem. Regarding the Power Save "
  352. "states, these are defined as follows: Value 4 (\"Power Save "
  353. "- Unknown\") indicates that the System is known to be in a "
  354. "power save mode, but its exact status in this mode is "
  355. "unknown; 2 (\"Power Save - Low Power Mode\") indicates that "
  356. "the System is in a power save state but still functioning, "
  357. "and may exhibit degraded performance; 3 (\"Power Save - "
  358. "Standby\") describes that the System is not functioning but "
  359. "could be brought to full power 'quickly'; and value 7 "
  360. "(\"Power Save - Warning\") indicates that the Computer"
  361. "System is in a warning state, though also in a power save "
  362. "mode."
  363. ) ,
  364. Values {
  365. "Unknown", "Full Power", "Power Save - Low Power Mode",
  366. "Power Save - Standby", "Power Save - Unknown", "Power Cycle",
  367. "Power Off", "Power Save - Warning"
  368. } ]
  369. uint16 PowerState ;
  370. //***********
  371. //* Methods *
  372. //***********
  373. [Description (
  374. "SetPowerState defines the desired power state of a "
  375. "ComputerSystem and its running OperatingSystem, and when "
  376. "the system should be put into that state. The PowerState "
  377. "parameter is specified as one of the valid integer values "
  378. "defined for the property, PowerState. The Time "
  379. "parameter (for all state changes but 5, \"Power Cycle\") "
  380. "indicates when the power state should be set, either as "
  381. "a regular date-time value or as an interval value (where "
  382. "the interval begins when the method invocation is received). "
  383. "When the PowerState parameter is equal to 5, \"Power Cycle\", "
  384. "the Time parameter indicates when the system should power on "
  385. "again. Power off is immediate. SetPowerState should "
  386. "return 0 if successful, 1 if the specified State and Time "
  387. "request is not supported, and some other value if any "
  388. "other error occurred."
  389. ) ]
  390. uint32 SetPowerState(
  391. [IN] uint16 PowerState,
  392. [IN] datetime Time
  393. );
  394. }; //*** class CIM_UnitaryComputerSystem
  395. // ===================================================================
  396. // CIM_LogicalDevice
  397. // ===================================================================
  398. [Abstract ,
  399. Locale (0x409) : ToInstance ,
  400. Description (
  401. "An abstraction or emulation of a hardware entity, that may or may not "
  402. "be Realized in physical hardware. Any characteristics of a "
  403. "LogicalDevice that are used to manage its operation or configuration "
  404. "are contained in, or associated with, the LogicalDevice object. "
  405. "Examples of the operational properties of a Printer would be paper "
  406. "sizes supported, or detected errors. Examples of the configuration "
  407. "properties of a Sensor Device would be threshold settings. Various "
  408. "configurations could exist for a LogicalDevice. These configurations "
  409. "could be contained in Setting objects and associated with the "
  410. "LogicalDevice."
  411. ),
  412. UUID ("{79995733-3548-4102-98F0-8A2D65CCE350}")
  413. ]
  414. class CIM_LogicalDevice : CIM_LogicalElement
  415. {
  416. [Propagated ("CIM_System.CreationClassName") ,
  417. CIM_KEY,
  418. MaxLen (256) ,
  419. Description ("The scoping System's CreationClassName.")
  420. ]
  421. string SystemCreationClassName ;
  422. [Propagated ("CIM_System.Name") ,
  423. Key,
  424. MaxLen (256) ,
  425. Description ("The scoping System's Name.")
  426. ]
  427. string SystemName ;
  428. [CIM_KEY,
  429. MaxLen (256) ,
  430. Description (
  431. "CreationClassName indicates the name of the class or the subclass used "
  432. "in the creation of an instance. When used with the other key properties "
  433. "of this class, this property allows all instances of this class and its "
  434. "subclasses to be uniquely identified."
  435. ) ]
  436. string CreationClassName ;
  437. [Key,
  438. MaxLen (64) ,
  439. Description (
  440. "An address or other identifying information to uniquely name the "
  441. "LogicalDevice."
  442. ) ]
  443. string DeviceID ;
  444. [Description (
  445. "Boolean indicating that the Device can be power managed - ie, put into "
  446. "a power save state. This boolean does not indicate that power "
  447. "management features are currently enabled, or if enabled, what features "
  448. "are supported. Refer to the PowerManagementCapabilities array for this "
  449. "information. If this boolean is false, the integer value 1, for the "
  450. "string, \"Not Supported\", should be the only entry in the "
  451. "PowerManagementCapabilities array."
  452. ) ]
  453. boolean PowerManagementSupported ;
  454. [Description (
  455. "Indicates the specific power-related capabilities of a LogicalDevice. "
  456. "The array values, 0=\"Unknown\", 1=\"Not Supported\" and 2=\"Disabled\" "
  457. "are self-explanatory. The value, 3=\"Enabled\" indicates that the power "
  458. "management features are currently enabled but the exact feature set is "
  459. "unknown or the information is unavailable. \"Power Saving Modes Entered "
  460. "Automatically\" (4) describes that a Device can change its power state "
  461. "based on usage or other criteria. \"Power State Settable\" (5) "
  462. "indicates that the SetPowerState method is supported. \"Power Cycling "
  463. "Supported\" (6) indicates that the SetPowerState method can be invoked "
  464. "with the PowerState input variable set to 5 (\"Power Cycle\"). \"Timed "
  465. "Power On Supported\" (7) indicates that the SetPowerState method can be "
  466. "invoked with the PowerState input variable set to 5 (\"Power Cycle\") "
  467. "and the Time parameter set to a specific date and time, or interval, "
  468. "for power-on."
  469. ) ,
  470. Values {
  471. "Unknown", "Not Supported", "Disabled", "Enabled",
  472. "Power Saving Modes Entered Automatically", "Power State Settable",
  473. "Power Cycling Supported", "Timed Power On Supported"
  474. } ]
  475. uint16 PowerManagementCapabilities[] ;
  476. [Description (
  477. "The availability and status of the Device. For example, the "
  478. "Availability property indicates that the Device is running and has full "
  479. "power (value=3), or is in a warning (4), test (5), degraded (10) or "
  480. "power save state (values 13-15 and 17). Regarding the Power Save states,"
  481. " these are defined as follows: Value 13 (\"Power Save - Unknown\") "
  482. "indicates that the Device is known to be in a power save mode, but its "
  483. "exact status in this mode is unknown; 14 (\"Power Save - Low Power "
  484. "Mode\") indicates that the Device is in a power save state but still "
  485. "functioning, and may exhibit degraded performance; 15 (\"Power Save - "
  486. "Standby\") describes that the Device is not functioning but could be "
  487. "brought to full power 'quickly'; and value 17 (\"Power Save - Warning\")"
  488. " indicates that the Device is in a warning state, though also in a "
  489. "power save mode."
  490. ) ,
  491. ValueMap {
  492. "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
  493. "13", "14", "15", "16", "17", "18", "19"
  494. } ,
  495. Values {
  496. "Other", "Unknown", "Running/Full Power", "Warning", "In Test",
  497. "Not Applicable", "Power Off", "Off Line", "Off Duty", "Degraded",
  498. "Not Installed", "Install Error", "Power Save - Unknown",
  499. "Power Save - Low Power Mode", "Power Save - Standby", "Power Cycle",
  500. "Power Save - Warning", "Paused", "Not Ready"
  501. } ,
  502. MappingStrings {
  503. "MIF.DMTF|Operational State|004.5",
  504. "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
  505. "MIF.DMTF|Host Device|001.5"
  506. } ]
  507. uint16 Availability ;
  508. [Description (
  509. "StatusInfo is a string indicating whether the LogicalDevice is in an "
  510. "enabled (value = 3), disabled (value = 4) or some other (1) or unknown ("
  511. "2) state. If this property does not apply to the LogicalDevice, the "
  512. "value, 5 (\"Not Applicable\"), should be used."
  513. ) ,
  514. ValueMap { "1", "2", "3", "4", "5" } ,
  515. Values {
  516. "Other", "Unknown", "Enabled", "Disabled", "Not Applicable"
  517. } ,
  518. MappingStrings { "MIF.DMTF|Operational State|004.3" }
  519. ]
  520. uint16 StatusInfo ;
  521. [Description (
  522. "LastErrorCode captures the last error code reported by the "
  523. "LogicalDevice."
  524. ) ]
  525. uint32 LastErrorCode ;
  526. [Description (
  527. "ErrorDescription is a free-form string supplying more information about "
  528. "the error recorded in LastErrorCode, and information on any corrective "
  529. "actions that may be taken."
  530. ) ]
  531. string ErrorDescription ;
  532. [Description (
  533. "ErrorCleared is a boolean property indicating that the error reported "
  534. "in LastErrorCode is now cleared."
  535. ) ]
  536. boolean ErrorCleared ;
  537. [MaxLen (256) ,
  538. ArrayType ("Indexed") ,
  539. Description (
  540. "OtherIdentifyingInfo captures additional data, beyond DeviceID "
  541. "information, that could be used to identify a LogicalDevice. One "
  542. "example would be to hold the OperatingSystem's user friendly name for "
  543. "the Device in this property."
  544. ) ,
  545. ModelCorrespondence { "CIM_LogicalDevice.IdentifyingDescriptions" }
  546. ]
  547. string OtherIdentifyingInfo[] ;
  548. [Description (
  549. "The number of consecutive hours that this Device has been powered, "
  550. "since its last power cycle."
  551. ) ,
  552. Units ("Hours") ,
  553. Counter
  554. ]
  555. uint64 PowerOnHours ;
  556. [Description (
  557. "The total number of hours that this Device has been powered."
  558. ) ,
  559. Units ("Hours") ,
  560. Counter
  561. ]
  562. uint64 TotalPowerOnHours ;
  563. [ArrayType ("Indexed") ,
  564. Description (
  565. "An array of free-form strings providing explanations and details behind "
  566. "the entries in the OtherIdentifyingInfo array. Note, each entry of this "
  567. "array is related to the entry in OtherIdentifyingInfo that is located "
  568. "at the same index."
  569. ) ,
  570. ModelCorrespondence { "CIM_LogicalDevice.OtherIdentifyingInfo" }
  571. ]
  572. string IdentifyingDescriptions[] ;
  573. //***********
  574. //* Methods *
  575. //***********
  576. [Description (
  577. "SetPowerState defines the desired power state for a LogicalDevice and "
  578. "when a Device should be put into that state. The desired power state is "
  579. "specified by setting the PowerState parameter to one of the following "
  580. "integer values: 1=\"Full Power\", 2=\"Power Save - Low Power Mode\", "
  581. "3=\"Power Save - Standby\", 4=\"Power Save - Other\", 5=\"Power Cycle\" "
  582. "or 6=\"Power Off\". The Time parameter (for all state changes but 5, "
  583. "\"Power Cycle\") indicates when the power state should be set, either "
  584. "as a regular date-time value or as an interval value (where the "
  585. "interval begins when the method invocation is received). When the "
  586. "PowerState parameter is equal to 5, \"Power Cycle\", the Time parameter "
  587. "indicates when the Device should power on again. Power off is immediate."
  588. " SetPowerState should return 0 if successful, 1 if the specified "
  589. "PowerState and Time request is not supported, and some other value if "
  590. "any other error occurred. In a subclass, the set of possible return "
  591. "codes could be specified, using a ValueMap qualifier on the method. The "
  592. "strings to which the ValueMap contents are 'translated' may also be "
  593. "specified in the subclass as a Values array qualifier."
  594. ) ]
  595. uint32 SetPowerState(
  596. [IN,
  597. ValueMap {"1", "2", "3", "4", "5", "6"},
  598. Values {
  599. "Full Power", "Power Save - Low Power Mode",
  600. "Power Save - Standby", "Power Save - Other", "Power Cycle",
  601. "Power Off"
  602. } ]
  603. uint16 PowerState,
  604. [IN]
  605. datetime Time
  606. ) ;
  607. [Description (
  608. "Requests a reset of the LogicalDevice. The return value should be 0 if "
  609. "the request was successfully executed, 1 if the request is not "
  610. "supported and some other value if an error occurred. In a subclass, the "
  611. "set of possible return codes could be specified, using a ValueMap "
  612. "qualifier on the method. The strings to which the ValueMap contents are "
  613. "'translated' may also be specified in the subclass as a Values array "
  614. "qualifier."
  615. ) ]
  616. uint32 Reset() ;
  617. [Description (
  618. "Requests that the LogicalDevice be enabled (\"Enabled\" input parameter "
  619. "= TRUE) or disabled (= FALSE). If successful, the Device's StatusInfo "
  620. "property should also reflect the desired state (enabled/disabled). The "
  621. "return code should be 0 if the request was successfully executed, 1 if "
  622. "the request is not supported and some other value if an error occurred. "
  623. "In a subclass, the set of possible return codes could be specified, "
  624. "using a ValueMap qualifier on the method. The strings to which the "
  625. "ValueMap contents are 'translated' may also be specified in the "
  626. "subclass as a Values array qualifier."
  627. ) ]
  628. uint32 EnableDevice( [IN] boolean Enabled ) ;
  629. }; //*** class CIM_LogicalDevice
  630. // ==================================================================
  631. // CIM_Service
  632. // ==================================================================
  633. [Abstract ,
  634. Locale (0x409) : ToInstance ,
  635. Description (
  636. "A CIM_Service is a Logical Element that contains the information "
  637. "necessary to represent and manage the functionality provided by a "
  638. "Device and/or SoftwareFeature. A Service is a general-purpose object "
  639. "to configure and manage the implementation of functionality. It is "
  640. "not the functionality itself."
  641. ),
  642. UUID ("{FCFE8148-E035-4bf9-88ED-494793B152BC}")
  643. ]
  644. class CIM_Service : CIM_LogicalElement
  645. {
  646. [CIM_KEY,
  647. MaxLen (256) ,
  648. Description (
  649. "CreationClassName indicates the name of the class or the subclass used "
  650. "in the creation of an instance. When used with the other key properties "
  651. "of this class, this property allows all instances of this class and its "
  652. "subclasses to be uniquely identified."
  653. ) ]
  654. string CreationClassName ;
  655. [Override ("Name") ,
  656. Key,
  657. MaxLen (256) ,
  658. Description (
  659. "The Name property uniquely identifies the Service and provides an "
  660. "indication of the functionality that is managed. This functionality is "
  661. "described in more detail in the object's Description property."
  662. ) ]
  663. string Name ;
  664. [MaxLen (10) ,
  665. Description (
  666. "StartMode is a string value indicating whether the Service is "
  667. "automatically started by a System, Operating System, etc. or only "
  668. "started upon request."
  669. ) ,
  670. ValueMap { "Automatic", "Manual" }
  671. ]
  672. string StartMode ;
  673. [Description (
  674. "Started is a boolean indicating whether the Service has been started ("
  675. "TRUE), or stopped (FALSE)."
  676. ) ]
  677. boolean Started ;
  678. [Propagated ("CIM_System.CreationClassName") ,
  679. CIM_KEY,
  680. MaxLen (256) ,
  681. Description ("The scoping System's CreationClassName.")
  682. ]
  683. string SystemCreationClassName ;
  684. [Propagated ("CIM_System.Name") ,
  685. Key,
  686. MaxLen (256) ,
  687. Description ("The scoping System's Name.")
  688. ]
  689. string SystemName ;
  690. //***********
  691. //* Methods *
  692. //***********
  693. [Description (
  694. "The StartService method places the Service in the started state. It "
  695. "returns an integer value of 0 if the Service was successfully started, "
  696. "1 if the request is not supported and any other number to indicate an "
  697. "error. In a subclass, the set of possible return codes could be "
  698. "specified, using a ValueMap qualifier on the method. The strings to "
  699. "which the ValueMap contents are 'translated' may also be specified in "
  700. "the subclass as a Values array qualifier."
  701. ) ]
  702. uint32 StartService() ;
  703. [Description (
  704. "The StopService method places the Service in the stopped state. It "
  705. "returns an integer value of 0 if the Service was successfully stopped, "
  706. "1 if the request is not supported and any other number to indicate an "
  707. "error. In a subclass, the set of possible return codes could be "
  708. "specified, using a ValueMap qualifier on the method. The strings to "
  709. "which the ValueMap contents are 'translated' may also be specified in "
  710. "the subclass as a Values array qualifier."
  711. ) ]
  712. uint32 StopService() ;
  713. }; //*** class CIM_Service
  714. // ===================================================================
  715. // CIM_ClusteringService
  716. // ===================================================================
  717. [Abstract ,
  718. Locale (0x409) : ToInstance ,
  719. UUID ("{CA0A869F-8876-4be7-AADF-A427F7733415}") : ToInstance
  720. ]
  721. class CIM_ClusteringService : CIM_Service
  722. {
  723. //***********
  724. //* Methods *
  725. //***********
  726. uint32 AddNode( [IN] CIM_ComputerSystem Ref CS ) ;
  727. uint32 EvictNode( [IN] CIM_ComputerSystem Ref CS ) ;
  728. }; //*** class CIM_ClusteringService
  729. // ==================================================================
  730. // CIM_Dependency
  731. // ==================================================================
  732. [Association ,
  733. Abstract ,
  734. Locale (0x409) : ToInstance ,
  735. Description (
  736. "CIM_Dependency is a generic association used to establish dependency "
  737. "relationships between objects."
  738. ),
  739. UUID ("{26BB4D6A-0473-494e-A864-5CAEEB9AB330}")
  740. ]
  741. class CIM_Dependency
  742. {
  743. [Key ,
  744. Description (
  745. "Antecedent represents the independent object in this association."
  746. ) ]
  747. CIM_ManagedSystemElement REF Antecedent ;
  748. [Key ,
  749. Description (
  750. "Dependent represents the object dependent on the Antecedent."
  751. ) ]
  752. CIM_ManagedSystemElement REF Dependent ;
  753. }; //*** class CIM_Dependency
  754. // ==================================================================
  755. // CIM_HostedService
  756. // ==================================================================
  757. [Abstract ,
  758. Association ,
  759. Locale (0x409) : ToInstance ,
  760. Description (
  761. "CIM_HostedService is an association between a Service and the System on "
  762. "which the functionality resides. The cardinality of this association "
  763. "is 1-to-many. A System may host many Services. Services are weak with "
  764. "respect to their hosting System. Heuristic: A Service is hosted on the "
  765. "System where the LogicalDevices or SoftwareFeatures that implement the "
  766. "Service are located. The model does not represent Services hosted "
  767. "across multiple systems. This is modeled as an ApplicationSystem that "
  768. "acts as an aggregation point for Services, that are each located on a "
  769. "single host."
  770. ),
  771. UUID ("{F59C2609-0CCC-487a-B583-184FE6FC2F53}")
  772. ]
  773. class CIM_HostedService : CIM_Dependency
  774. {
  775. [Override ("Antecedent") ,
  776. Max (1) ,
  777. Min (1) ,
  778. Description ("The hosting System.")
  779. ]
  780. CIM_System REF Antecedent ;
  781. [Override ("Dependent") ,
  782. Weak,
  783. Description ("The Service hosted on the System.")
  784. ]
  785. CIM_Service REF Dependent ;
  786. }; //*** class CIM_HostedService
  787. // ==================================================================
  788. // CIM_Component
  789. // ==================================================================
  790. [Association ,
  791. Abstract ,
  792. Locale (0x409) : ToInstance ,
  793. Aggregation ,
  794. Description (
  795. "CIM_Component is a generic association used to establish 'part of' "
  796. "relationships between Managed System Elements. For example, the "
  797. "SystemComponent association defines parts of a System."
  798. ),
  799. UUID ("{7C6B02AF-B639-4ca5-9A92-E5710AB090AC}")
  800. ]
  801. class CIM_Component
  802. {
  803. [Aggregate ,
  804. Key ,
  805. Description ("The parent element in the association.")
  806. ]
  807. CIM_ManagedSystemElement REF GroupComponent ;
  808. [Key ,
  809. Description ("The child element in the association.")
  810. ]
  811. CIM_ManagedSystemElement REF PartComponent ;
  812. }; //*** class CIM_Component
  813. // ==================================================================
  814. // CIM_SystemComponent
  815. // ==================================================================
  816. [Abstract ,
  817. Locale (0x409) : ToInstance ,
  818. Association ,
  819. Aggregation ,
  820. Description (
  821. "CIM_SystemComponent is a specialization of the CIM_Component "
  822. "association that establishes 'part of' relationships between a System "
  823. "and the Managed System Elements of which it is composed."
  824. ),
  825. UUID ("{D4DF8D45-2057-4f5f-AAF0-BC4452F48F1F}")
  826. ]
  827. class CIM_SystemComponent : CIM_Component
  828. {
  829. [Override ("GroupComponent") ,
  830. Aggregate ,
  831. Description ("The parent System in the Association.")
  832. ]
  833. CIM_System REF GroupComponent ;
  834. [Override ("PartComponent") ,
  835. Description ("The child element that is a component of a System.")
  836. ]
  837. CIM_ManagedSystemElement REF PartComponent ;
  838. }; //*** class CIM_SystemComponent
  839. // ==================================================================
  840. // CIM_SystemDevice
  841. // ==================================================================
  842. [Abstract ,
  843. Locale (0x409) : ToInstance ,
  844. Association ,
  845. Aggregation ,
  846. Description (
  847. "LogicalDevices may be aggregated by a System. This relationship is "
  848. "made explicit by the SystemDevice association."
  849. ),
  850. UUID ("{D6CB4144-71F3-46b3-AE99-C0AD9A930CD1}")
  851. ]
  852. class CIM_SystemDevice : CIM_SystemComponent
  853. {
  854. [Override ("GroupComponent") ,
  855. Aggregate,
  856. Max (1) ,
  857. Min (1) ,
  858. Description ("The parent system in the Association.")
  859. ]
  860. CIM_System REF GroupComponent ;
  861. [Override ("PartComponent") ,
  862. Weak,
  863. Description ("The LogicalDevice that is a component of a System.")
  864. ]
  865. CIM_LogicalDevice REF PartComponent ;
  866. }; //*** class CIM_SystemDevice
  867. // ===================================================================
  868. // CIM_ComponentCS
  869. // ===================================================================
  870. [Association ,
  871. Aggregation ,
  872. Locale (0x409) ,
  873. Description (
  874. "A ComputerSystem can aggregate another ComputerSystem. This association "
  875. "can be used to model MPP Systems with workstation frontends, an I2O "
  876. "subsystem embedded in a UnitaryComputerSystem, or a System that splits "
  877. "functionality between two processors, potentially running different "
  878. "OperatingSystems. For example, if a CISC Processor and its associated "
  879. "OperatingSystem, are used for user interface and file support, and a "
  880. "RISC Processor and its OS are used for complex mathematical operations, "
  881. "this could be modeled as two ComputerSystems where one aggregates the "
  882. "other. In some cases, this could be modeled as a Cluster. The "
  883. "difference is the focus of the relationship. ComponentCS represents "
  884. "that unique and distinct ComputerSystems are aggregated by a higher "
  885. "level CS object. However, each of the component CSs are still "
  886. "distinguishable entities and are only viewed as such. Alternately, with "
  887. "a Cluster, the ComputerSystems that participate in it are "
  888. "inconsequential, when viewed through the 'Cluster System'.\n\nWhen "
  889. "instantiating or subclassing the ComponentCS relationship, care should "
  890. "be taken that the component ComputerSystem meets the definitional "
  891. "requirements of a ComputerSystem - ie, a functional whole that provides "
  892. "compute capabilities and aggregates System Devices, an OperatingSystem, "
  893. "etc."
  894. ),
  895. UUID ("{AB653DD2-EA29-4dcc-9F10-8C809A50A646}")
  896. ]
  897. class CIM_ComponentCS : CIM_SystemComponent
  898. {
  899. [Override ("GroupComponent") ,
  900. Aggregate ,
  901. Description (
  902. "The ComputerSystem that contains and/or aggregates other Systems."
  903. ) ]
  904. CIM_ComputerSystem REF GroupComponent ;
  905. [Override ("PartComponent") ,
  906. Description ("The contained (Sub)ComputerSystem.")
  907. ]
  908. CIM_ComputerSystem REF PartComponent ;
  909. }; //*** class CIM_ComponentCS
  910. // ===================================================================
  911. // CIM_Cluster
  912. // ===================================================================
  913. [Abstract ,
  914. Locale (0x409) : ToInstance ,
  915. Description (
  916. "A class derived from ComputerSystem that 'is made up of' two or more "
  917. "ComputerSystems which operate together as an atomic, functional whole "
  918. "to increase the performance, resources and/or RAS (Reliability, "
  919. "Availability and Serviceability) of the component ComputerSystems, "
  920. "related to some aspects of these ComputerSystems."
  921. ),
  922. UUID ("{35239F78-E086-44a2-B506-140D0D1F7DBA}")
  923. ]
  924. class CIM_Cluster : CIM_ComputerSystem
  925. {
  926. [Description (
  927. "Interconnect is a free form string that describes the interconnection "
  928. "mechanism for the Cluster."
  929. ) ]
  930. string Interconnect ;
  931. [Description (
  932. "InterconnectAddress indicates the address of the Cluster System, which "
  933. "is dependent on the interconnection scheme. If no address is available "
  934. "or applicable, a null string should be used."
  935. ) ]
  936. string InterconnectAddress ;
  937. [Description (
  938. "The cluster types. This specifies whether the cluster is for failover ("
  939. "value=2), performance (3), etc. The values which can be specified are "
  940. "not mutually exclusive. Thus, Types is an array."
  941. ) ,
  942. Values {
  943. "Unknown" , "Other", "Failover", "Performance", "Distributed OS",
  944. "Node Grouping", "SysPlex"
  945. } ]
  946. uint16 Types[] ;
  947. [Description (
  948. "Indicates the maximum number of nodes that may participate in the "
  949. "Cluster. If unlimited, enter 0."
  950. ) ]
  951. uint32 MaxNumberOfNodes ;
  952. [Description (
  953. "Indicates the state of the Cluster. The cluster can be defined to be "
  954. "on-line (value=2), off-line (3), in a degraded mode of operation (4) or "
  955. "unavailable (5)."
  956. ) ,
  957. Values {
  958. "Unknown", "Other", "On-line", "Off-line", "Degraded", "Unavailable"
  959. } ]
  960. uint16 ClusterState ;
  961. }; //*** class CIM_Cluster
  962. // ===================================================================
  963. // CIM_ParticipatingCS
  964. // ===================================================================
  965. [Abstract ,
  966. Association ,
  967. Locale (0x409) : ToInstance ,
  968. Description (
  969. "A Cluster is composed of two or more ComputerSystems, operating "
  970. "together. A ComputerSystem may participate in multiple Clusters. "
  971. "\n\nWhen first establishing or bringing up a Cluster, only one "
  972. "ComputerSystem may be defined as participating in it. Therfore, the "
  973. "cardinality of the association for the ComputerSystem reference is "
  974. "Min(1)."
  975. ),
  976. UUID ("{8A5CD126-FD8B-4eb2-AEDF-5DC22B6DE989}")
  977. ]
  978. class CIM_ParticipatingCS : CIM_Dependency
  979. {
  980. [Override ("Antecedent") ,
  981. Description (
  982. "The ComputerSystem which participates in the Cluster."
  983. ) ,
  984. Min (1)
  985. ]
  986. CIM_ComputerSystem REF Antecedent ;
  987. [Override ("Dependent") ,
  988. Description ("The Cluster.")
  989. ]
  990. CIM_Cluster REF Dependent ;
  991. [Description (
  992. "StateOfNode indicates the condition of the participating ComputerSystem "
  993. "in the Cluster. For example, one value is \"Joining\" (2)."
  994. ) ,
  995. Values {
  996. "Unknown", "Other", "Joining", "Paused", "Available",
  997. "Unavailable", "Degraded"
  998. } ]
  999. uint16 StateOfNode ;
  1000. [Description (
  1001. "RoleOfNode indicates whether the Cluster nodes are peers (value = 2), "
  1002. "connected in a master-slave/primary-secondary relationship (values = 3 "
  1003. "for primary, 4 for secondary), available in a standby configuration (5) "
  1004. "or of some other (1) or unknown (0) relationship. In a System/390 "
  1005. "environment, the nodes are identified as \"Base Plex\" (value=6) or "
  1006. "\"Enhanced Plex\" (value=7)."
  1007. ) ,
  1008. Values {
  1009. "Unknown", "Other", "Peer", "Primary", "Secondary", "Standby",
  1010. "Base Plex", "Enhanced Plex"
  1011. } ]
  1012. uint16 RoleOfNode ;
  1013. }; //*** class CIM_ParticipatingCS
  1014. //************************************************************************
  1015. //* Microsoft Cluster Service Schema
  1016. //************************************************************************
  1017. // ===================================================================
  1018. // MSCluster_Property
  1019. // ===================================================================
  1020. [Abstract : ToSubClass,
  1021. Locale (0x409) : ToInstance ,
  1022. Description(
  1023. "Superclass for properties of cluster objects."
  1024. ),
  1025. UUID ("{4D5365E3-A8F2-4167-8565-7A588D1F4FA5}")
  1026. ]
  1027. class MSCluster_Property
  1028. {
  1029. }; //*** class MSCluster_Property
  1030. // ===================================================================
  1031. // MSCluster_LogicalElement
  1032. // ===================================================================
  1033. [Abstract ,
  1034. Locale (0x409) : ToInstance ,
  1035. Description (
  1036. "Superclass for cluster objects that provide "
  1037. "the FLAGS and CHARACTERISTICS attributes"
  1038. ),
  1039. UUID ("{9EB9A2F9-0751-4dcf-AB59-F8341D0F60B2}")
  1040. ]
  1041. class MSCluster_LogicalElement : CIM_LogicalElement
  1042. {
  1043. [Read : ToSubClass ,
  1044. Write : ToSubClass
  1045. ]
  1046. uint32 Flags ;
  1047. [Read : ToSubClass ,
  1048. Write : ToSubClass
  1049. ]
  1050. uint32 Characteristics ;
  1051. }; //*** class MSCluster_LogicalElement
  1052. // ===================================================================
  1053. // MSCluster_Cluster
  1054. // ===================================================================
  1055. [Dynamic ,
  1056. Locale (0x409) ,
  1057. Provider ("MS_CLUSTER_PROVIDER"),
  1058. UUID ("{9EB9A2F9-0751-4dcf-AB59-F8341D0F60B2}")
  1059. ]
  1060. class MSCluster_Cluster : CIM_Cluster
  1061. {
  1062. [Read : ToSubClass ,
  1063. Description (
  1064. "The Name property specifies the name of the cluster."
  1065. ) ]
  1066. string Name ;
  1067. [Read : ToSubClass ,
  1068. Write : ToSubClass ,
  1069. Description (
  1070. "The Description property stores administrative comments "
  1071. "about the cluster."
  1072. ) ]
  1073. string Description ;
  1074. [Read : ToSubClass ,
  1075. Write : ToSubClass ,
  1076. Description ("The location of maintenance file.")
  1077. ]
  1078. string MaintenanceFile ;
  1079. [Read : ToSubClass ,
  1080. Write : ToSubClass ,
  1081. Description (
  1082. "The AdminExtensions property provides the class identifiers "
  1083. "(CLSIDs) for the Cluster Administrator extension DLLs that are "
  1084. "associated with the cluster."
  1085. ) ]
  1086. string AdminExtensions[] ;
  1087. [Read : ToSubClass ,
  1088. Write : ToSubClass
  1089. ]
  1090. string GroupAdminExtensions[] ;
  1091. [Read : ToSubClass ,
  1092. Write : ToSubClass
  1093. ]
  1094. string NodeAdminExtensions[] ;
  1095. [Read : ToSubClass ,
  1096. Write : ToSubClass
  1097. ]
  1098. string ResourceAdminExtensions[] ;
  1099. [Read : ToSubClass ,
  1100. Write : ToSubClass
  1101. ]
  1102. string ResourceTypeAdminExtensions[] ;
  1103. [Read : ToSubClass ,
  1104. Write : ToSubClass
  1105. ]
  1106. string NetworkAdminExtensions[] ;
  1107. [Read : ToSubClass ,
  1108. Write : ToSubClass
  1109. ]
  1110. string NetworkInterfaceAdminExtensions[] ;
  1111. [Read : ToSubClass ,
  1112. Write : ToSubClass ,
  1113. Description (
  1114. "The SecurityDescriptor property stores Windows 2000-compatible "
  1115. "security descriptor information."
  1116. ) ]
  1117. uint8 Security[] ;
  1118. [Read : ToSubClass ,
  1119. Write : ToSubClass ,
  1120. Description ("The size of quorum log file.")
  1121. ]
  1122. uint32 QuorumLogFileSize ;
  1123. [Read : ToSubClass ,
  1124. Write:ToSubClass ,
  1125. Arraytype ("Ordered") ,
  1126. Description (
  1127. "Prioritized array of networks. "
  1128. "The first in the array has the highest priority"
  1129. ) ]
  1130. string NetworkPriorities[] ;
  1131. uint32 DefaultNetworkRole ;
  1132. uint32 EnableEventLogReplication ;
  1133. uint8 Security_Descriptor[] ;
  1134. //***********
  1135. //* Methods *
  1136. //***********
  1137. [Implemented]
  1138. void Rename( [IN] string newName ) ;
  1139. [Implemented]
  1140. void SetQuorumResource( [IN] MSCluster_Resource REF Resource ) ;
  1141. }; //*** class MSCluster_Cluster
  1142. // ===================================================================
  1143. // MSCluster_ResourceGroup
  1144. // ===================================================================
  1145. [Dynamic ,
  1146. Locale (0x409) ,
  1147. Provider ("MS_CLUSTER_PROVIDER"),
  1148. UUID ("{DDE3A30E-55F7-4c31-B6CF-E360D12C5253}")
  1149. ]
  1150. class MSCluster_ResourceGroup : MSCluster_LogicalElement
  1151. {
  1152. [Read : ToSubClass ,
  1153. Write : ToSubClass ,
  1154. Description (
  1155. "The Description property provides comments about the group."
  1156. ) ]
  1157. string Description;
  1158. [Key ,
  1159. Read : ToSubClass ,
  1160. Description ("The Name property specifies the name of the group.")
  1161. ]
  1162. string Name = NULL ;
  1163. [Read : ToSubClass ,
  1164. Write : ToSubClass ,
  1165. Description (
  1166. "The AutoFailbackType property specifies whether the group "
  1167. "should automatically be failed back to the node identified "
  1168. "as its preferred owner when that node comes back online "
  1169. "following a failover."
  1170. ),
  1171. Values {
  1172. "ClusterGroupPreventFailback", "ClusterGroupAllowFailback"
  1173. } ]
  1174. uint32 AutoFailbackType ;
  1175. [Read : ToSubClass ,
  1176. Write : ToSubClass ,
  1177. Description (
  1178. "The FailbackWindowEnd property provides the latest time that "
  1179. "the group can be moved back to the node identified as its "
  1180. "preferred node."
  1181. ) ,
  1182. Min (-1) ,
  1183. Max (23) ,
  1184. Units ("hours")
  1185. ]
  1186. sint32 FailbackWindowEnd ;
  1187. [Read : ToSubClass ,
  1188. Write : ToSubClass ,
  1189. Description (
  1190. "The FailbackWindowStart property provides the earliest time "
  1191. "(that is, local time as kept by the cluster) that the group "
  1192. "can be moved back to the node identified as its preferred node."
  1193. ),
  1194. Min (-1) ,
  1195. Max (23) ,
  1196. Units ("hours")
  1197. ]
  1198. sint32 FailbackWindowStart ;
  1199. [Read : ToSubClass ,
  1200. Write : ToSubClass ,
  1201. Description (
  1202. "The FailoverPeriod property specifies a number of hours during "
  1203. "which a maximum number of failover attempts, specified by "
  1204. "FailoverThreshold, can occur."
  1205. ) ,
  1206. Min (1) ,
  1207. Max (1193),
  1208. Units ("hours")
  1209. ]
  1210. uint32 FailoverPeriod ;
  1211. [Read : ToSubClass ,
  1212. Write : ToSubClass ,
  1213. Description (
  1214. "The FailoverThreshold property specifies the maximum number of "
  1215. "failover attempts that can be made on a group within a time "
  1216. "interval defined by FailoverPeriod."
  1217. ) ]
  1218. uint32 FailoverThreshold ;
  1219. [Read : ToSubClass ,
  1220. Description (
  1221. "The PersistentState property specifies whether a group should "
  1222. "be left offline or brought online when the Cluster Service "
  1223. "starts."
  1224. ) ]
  1225. boolean PersistentState ;
  1226. [Read : ToSubClass ,
  1227. Write : ToSubClass ,
  1228. ArrayType ("Ordered") ,
  1229. Description (
  1230. "Array of handles to nodes, in order by preference, with the "
  1231. "first node being the most preferred and the last node the "
  1232. "least preferred."
  1233. ) ]
  1234. string PreferredNodeList[] ;
  1235. [Read : ToSubClass ,
  1236. Write : ToSubClass ,
  1237. Description (
  1238. "The LoadBalState property is reserved for future use "
  1239. "and is not used by Windows Clustering at this time."
  1240. ) ]
  1241. uint32 LoadBalState;
  1242. //***********
  1243. //* Methods *
  1244. //***********
  1245. [Implemented]
  1246. void BringOnline() ;
  1247. [Implemented]
  1248. void TakeOffline();
  1249. [Implemented ,
  1250. Description ("To move the group to different node.")
  1251. ]
  1252. void MoveToNewNode( [IN] string NodeName ) ;
  1253. [Implemented ,
  1254. Description ("To rename the group.")
  1255. ]
  1256. void Rename( [IN] string newName ) ;
  1257. [Implemented ,
  1258. Static ,
  1259. Description ("Create a new group")
  1260. ]
  1261. void CreateGroup( [IN] string GroupName ) ;
  1262. }; //*** class MSCluster_ResourceGroup
  1263. // ===================================================================
  1264. // MSCluster_Networks
  1265. // ===================================================================
  1266. [Dynamic ,
  1267. Locale (0x409) ,
  1268. Provider ("MS_CLUSTER_PROVIDER"),
  1269. UUID ("{F541DA2A-174C-4000-9066-B755095C7E7A}")
  1270. ]
  1271. class MSCluster_Networks : MSCluster_LogicalElement
  1272. {
  1273. [Key ,
  1274. Read : ToSubClass ,
  1275. Description ("The Name property provides the name of the network.")
  1276. ]
  1277. string Name ;
  1278. [Read : ToSubClass ,
  1279. Write : ToSubClass ,
  1280. Description (
  1281. "The Description property provides comments about the network."
  1282. ) ]
  1283. string Description ;
  1284. [Read : ToSubClass ,
  1285. Description (
  1286. "The Address property provides the address for the entire network "
  1287. "or subnet."
  1288. ) ]
  1289. string Address ;
  1290. [Read : ToSubClass ,
  1291. Description (
  1292. "The AddressMask property provides the mask that distinguishes the "
  1293. "network and host portions of an address."
  1294. ) ]
  1295. string AddressMask ;
  1296. [Read : ToSubClass ,
  1297. Write : ToSubClass ,
  1298. Description (
  1299. "The Role property provides the role of the network in the cluster."
  1300. ),
  1301. Values {
  1302. "ClusterNetworkRoleNone", "ClusterNetworkRoleClientAccess",
  1303. "ClusterNetworkRoleInternalUse", "ClusterNetworkRoleInternalAndClient"
  1304. } ]
  1305. uint32 Role ;
  1306. uint32 State ;
  1307. //***********
  1308. //* Methods *
  1309. //***********
  1310. [Description ("To rename the network."),
  1311. Implemented
  1312. ]
  1313. void Rename( [IN] string newName );
  1314. }; //*** class MSCluster_Networks
  1315. // ===================================================================
  1316. // MSCluster_Node
  1317. // ===================================================================
  1318. [Dynamic ,
  1319. Locale (0x409) ,
  1320. Provider ("MS_CLUSTER_PROVIDER"),
  1321. UUID ("{C306EBED-0654-4360-AA70-DE912C5FC364}")
  1322. ]
  1323. class MSCluster_Node : CIM_UnitaryComputerSystem
  1324. {
  1325. [Read : ToSubClass ,
  1326. Write : ToSubClass ,
  1327. Description (
  1328. "The Description property provides comments about the node."
  1329. ) ]
  1330. string Description ;
  1331. [Read : ToSubClass ,
  1332. Description (
  1333. "The NodeHighestVersion property specifies the highest possible "
  1334. "version of Clustering Service with which the node can join or "
  1335. "communicate."
  1336. ) ]
  1337. uint32 NodeHighestVersion ;
  1338. [Read : ToSubClass ,
  1339. Description (
  1340. "The NodeLowestVersion property specifies the lowest possible "
  1341. "version of Clustering Service with which the node can join or "
  1342. "communicate."
  1343. ) ]
  1344. uint32 NodeLowestVersion ;
  1345. [Read : ToSubClass ,
  1346. Description (
  1347. "The MajorVersion property specifies the integer component of "
  1348. "the Windows NT/Window 2000 version installed on the node."
  1349. ) ]
  1350. uint32 MajorVersion ;
  1351. [Read : ToSubClass,
  1352. Description (
  1353. "The MinorVersion property specifies the decimal component of "
  1354. "the Windows NT/Window 2000 version installed on the node."
  1355. ) ]
  1356. uint32 MinorVersion ;
  1357. [Read : ToSubClass ,
  1358. Description (
  1359. "The BuildNumber property specifies the build number of "
  1360. "Microsoft� Windows NT�/Windows� 2000 installed on a node."
  1361. ) ]
  1362. uint32 BuildNumber ;
  1363. [Read : ToSubClass ,
  1364. Description (
  1365. "The CSDVersion property specifies the number of the most recent "
  1366. "service pack installed on the node (if any)."
  1367. ) ]
  1368. uint32 CSDVersion ;
  1369. [Read : ToSubClass ,
  1370. Write : ToSubClass ,
  1371. Description (
  1372. "The EnableEventLogReplication property controls whether the "
  1373. "Windows NT/Windows 2000 Event Log is replicated."
  1374. ) ]
  1375. uint32 EnableEventLogReplication ;
  1376. [Read : ToSubClass ,
  1377. Description ("The current state of a node.")
  1378. ]
  1379. uint32 State ;
  1380. [Read : ToSubClass ,
  1381. Write : ToSubClass
  1382. ]
  1383. uint32 Flags ;
  1384. [Read : ToSubClass ,
  1385. Write : ToSubClass
  1386. ]
  1387. uint32 Characteristics ;
  1388. }; //*** class MSCluster_Node
  1389. // ===================================================================
  1390. // MSCluster_Service
  1391. // ===================================================================
  1392. [Dynamic ,
  1393. Locale (0x409) ,
  1394. Provider ("MS_CLUSTER_PROVIDER"),
  1395. UUID ("{8F9030D0-9149-4113-9ADD-6F2101285E5D}")
  1396. ]
  1397. class MSCluster_Service : CIM_ClusteringService
  1398. {
  1399. [Read : ToSubClass ,
  1400. Description (
  1401. "The NodeHighestVersion property specifies the highest possible "
  1402. "version of Clustering Service with which the node hosting this "
  1403. "service can join or communicate."
  1404. ) ]
  1405. uint32 NodeHighestVersion ;
  1406. [Read : ToSubClass ,
  1407. Description (
  1408. "The NodeLowestVersion property specifies the lowest possible "
  1409. "version of Clustering Service with which the node hosting this "
  1410. "service can join or communicate."
  1411. ) ]
  1412. uint32 NodeLowestVersion ;
  1413. [Read : ToSubClass ,
  1414. Write : ToSubClass ,
  1415. Description (
  1416. "The EnableEventLogReplication property controls whether the "
  1417. "Windows NT/Windows 2000 Event Log is replicated."
  1418. ) ]
  1419. uint32 EnableEventLogReplication ;
  1420. [Read : ToSubClass ,
  1421. Description ("The current state of the node hosting this service.")
  1422. ]
  1423. uint32 State ;
  1424. //***********
  1425. //* Methods *
  1426. //***********
  1427. [Implemented]
  1428. void Pause() ;
  1429. [Implemented]
  1430. void Resume() ;
  1431. }; //*** class MSCluster_Service
  1432. // ===================================================================
  1433. // MSCluster_Resource
  1434. // ===================================================================
  1435. [Dynamic ,
  1436. Locale (0x409) ,
  1437. Provider ("MS_CLUSTER_PROVIDER"),
  1438. UUID ("{C2862F9C-34DE-4b16-9EE3-099D078E9F59}")
  1439. ]
  1440. class MSCluster_Resource : MSCluster_LogicalElement
  1441. {
  1442. [Key ,
  1443. Read : ToSubClass ,
  1444. Description (
  1445. "The Name property provides the name of the Resource."
  1446. ) ]
  1447. string Name ;
  1448. [Read : ToSubClass ,
  1449. Write : ToSubClass ,
  1450. Description (
  1451. "The Description property provides comments about the Resource."
  1452. ) ]
  1453. string Description ;
  1454. [Read : ToSubClass ,
  1455. Write : ToSubClass ,
  1456. Description (
  1457. "The DebugPrefix property specifies the path to the debugger "
  1458. "used to debug the resource."
  1459. ) ]
  1460. string DebugPrefix ;
  1461. [Read : ToSubClass ,
  1462. Write : ToSubClass ,
  1463. Description (
  1464. "The IsAlivePollInterval property provides the recommended "
  1465. "interval in milliseconds at which the Cluster Service should "
  1466. "poll the resource to determine if it is operational. If it "
  1467. "sets it to 0xFFFFFFFF, the Cluster Service uses the "
  1468. "IsAlivePollInterval property for the resource type associated "
  1469. "with the resource."
  1470. ),
  1471. Units ("Milliseconds")
  1472. ]
  1473. uint32 IsAlivePollInterval ;
  1474. [Read : ToSubClass ,
  1475. Write : ToSubClass ,
  1476. Description (
  1477. "The LooksAlivePollInterval property provides the recommended "
  1478. "interval in milliseconds at which the Cluster Service should "
  1479. "poll the resource to determine if it appears operational. If it "
  1480. "sets it to 0xFFFFFFFF, the Cluster Service uses the "
  1481. "LooksAlivePollInterval property for the resource type "
  1482. "associated with the resource."
  1483. ),
  1484. Units ("Milliseconds")
  1485. ]
  1486. uint32 LooksAlivePollInterval ;
  1487. uint32 LoadBalAnalysisInterval ;
  1488. uint32 LoadBalMinMemoryUnits;
  1489. uint32 LoadBalMinProcessorUnits;
  1490. uint32 LoadBalSampleInterval ;
  1491. uint32 LoadBalStartupInterval;
  1492. [Read : ToSubClass ,
  1493. Write : ToSubClass ,
  1494. Description (
  1495. "If a resource cannot be brought online or taken offline in "
  1496. "the number of milliseconds specified by the PendingTimeout "
  1497. "property, the resource is forcibly terminated."
  1498. ) ]
  1499. uint32 PendingTimeout ;
  1500. [Read : ToSubClass ,
  1501. Write : ToSubClass ,
  1502. Description (
  1503. "The PersistentState property specifies whether the resource "
  1504. "should be brought online or left offline when the Cluster "
  1505. "Service is started."
  1506. ) ]
  1507. boolean PersistentState ;
  1508. [Read : ToSubClass ,
  1509. Write : ToSubClass ,
  1510. Description (
  1511. "The RestartAction property describes the action to be taken "
  1512. "by the Cluster Service if the resource fails."
  1513. ),
  1514. Values {
  1515. "ClusterResourceDontRestart", "ClusterResourceRestartNoNotify",
  1516. "ClusterResourceRestartNotify"
  1517. } ]
  1518. uint32 RestartAction ;
  1519. [Read : ToSubClass ,
  1520. Write : ToSubClass ,
  1521. Description (
  1522. "The RestartPeriod property defines an interval of time, in "
  1523. "milliseconds, during which a specified number of restart "
  1524. "attempts can be made on a nonresponsive resource."
  1525. ) ]
  1526. uint32 RestartPeriod ;
  1527. [Read : ToSubClass ,
  1528. Write : ToSubClass ,
  1529. Description (
  1530. "The RestartThreshold property specifies the maximum number "
  1531. "of restart attempts that can be made on a resource within an "
  1532. "interval defined by the RestartPeriod property before the "
  1533. "Cluster Service initiates the action specified by the "
  1534. "RestartAction property."
  1535. ) ]
  1536. uint32 RestartThreshold ;
  1537. [Read : ToSubClass ,
  1538. Write : ToSubClass ,
  1539. Description (
  1540. "The RetryPeriodOnFailure property specifies the interval of "
  1541. "time (in milliseconds) that a resource should remain in a "
  1542. "failed state before the Cluster service attempts to restart it."
  1543. ) ]
  1544. uint32 RetryPeriodOnFailure ;
  1545. [Read : ToSubClass ,
  1546. Write : ToSubClass ,
  1547. Description (
  1548. "The SeparateMonitor property indicates whether the resource "
  1549. "requires its own Resource Monitor."
  1550. ) ]
  1551. boolean SeparateMonitor ;
  1552. [Read : ToSubClass ,
  1553. Write : ToSubClass ,
  1554. Description (
  1555. "The Type property specifies the display name for the resource's "
  1556. "type."
  1557. ) ]
  1558. string Type ;
  1559. [Read : ToSubClass ,
  1560. Description ("The current state of the resource.")
  1561. ]
  1562. uint32 State ;
  1563. [Read : ToSubClass ,
  1564. Write : ToSubClass
  1565. ]
  1566. uint32 ResourceClass ;
  1567. [Read : ToSubClass ,
  1568. Write : ToSubClass
  1569. ]
  1570. uint32 Subclass ;
  1571. [Read : ToSubClass ,
  1572. Write : ToSubClass ,
  1573. Description (
  1574. "List of references to nodes that can be the owner of this resource."
  1575. ) ]
  1576. MSCluster_Node REF PossibleOwners[] ;
  1577. MSCluster_Property PrivateProperties;
  1578. [Read : ToSubClass ,
  1579. Description (
  1580. "List of crypto checkpoints for this resource."
  1581. ) ]
  1582. string CryptoCheckpoints[] ;
  1583. [Read : ToSubClass ,
  1584. Description (
  1585. "List of registry checkpoints for this resource."
  1586. ) ]
  1587. string RegistryCheckpoints[] ;
  1588. [Read : ToSubClass,
  1589. Description("The resource can be selected as the quorum resource for the cluster") ]
  1590. boolean QuorumCapable;
  1591. [Read : ToSubClass,
  1592. Description("The resource can be selected as the quorum resource "
  1593. "in clusters configured using the -localquorum switch.") ]
  1594. boolean LocalQuorumCapable;
  1595. [Read : ToSubClass,
  1596. Description("The resource cannot be deleted unless all nodes are active.") ]
  1597. boolean DeleteRequiresAllNodes;
  1598. [Read : ToSubClass,
  1599. Description("Indicates that the resource is essential to the cluster and cannot be deleted.") ]
  1600. boolean CoreResource;
  1601. //***********
  1602. //* Methods *
  1603. //***********
  1604. [Implemented ,
  1605. Static ,
  1606. Description (" Create a new resource ") : ToSubClass
  1607. ]
  1608. void CreateResource(
  1609. [IN, Description ("The group name to receive the resource.") ]
  1610. MSCluster_ResourceGroup REF Group ,
  1611. [IN, Description ("The name to assign to the resource.") ]
  1612. string ResourceName ,
  1613. [IN, Description ("The type of resource to create.") ]
  1614. string ResourceType ,
  1615. [IN,
  1616. Description (
  1617. "TRUE if the resource needs a separate resource monitor."
  1618. ) ]
  1619. boolean SeparateMonitor = FALSE
  1620. ) ;
  1621. [Implemented : ToSubClass ,
  1622. Description (
  1623. "Move the resource to a different group."
  1624. ) : ToSubClass ]
  1625. void MoveToNewGroup(
  1626. [IN, Description ("The group name to receive the resource.") ]
  1627. MSCluster_ResourceGroup REF Group
  1628. ) ;
  1629. [Implemented : ToSubClass ,
  1630. Description (
  1631. "Create a dependency relationship between two resources.") : ToSubClass
  1632. ]
  1633. void AddDependency(
  1634. [IN, Description ("The resource that this resource should depend on.") ]
  1635. MSCluster_Resource REF Resource
  1636. ) ;
  1637. [Implemented : ToSubClass ,
  1638. Description (
  1639. "Remove a dependency relationship between two resources."
  1640. ) ]
  1641. void RemoveDependency(
  1642. [IN,
  1643. Description (
  1644. "The resource that this resource should no longer depend on."
  1645. ) ]
  1646. MSCluster_Resource REF Resource
  1647. ) ;
  1648. [Description ("Take the resource online") : ToSubClass ,
  1649. Implemented : ToSubClass
  1650. ]
  1651. void BringOnline() ;
  1652. [Description ("Take the resource offline") : ToSubClass ,
  1653. Implemented : ToSubClass
  1654. ]
  1655. void TakeOffline() ;
  1656. [Description ("Rename the resource.") : ToSubClass ,
  1657. Implemented : ToSubClass
  1658. ]
  1659. void Rename( [IN] string newName ) ;
  1660. [Description (
  1661. "Force this resource to become unavailable to simulate failure. "
  1662. "Used by applications to test their failover configurations."
  1663. ) : ToSubClass ,
  1664. Implemented : ToSubClass
  1665. ]
  1666. void FailResource() ;
  1667. [Description ("Add a registry checkpoint to this resource."
  1668. ) : ToSubClass ,
  1669. Implemented : ToSubClass
  1670. ]
  1671. void AddRegistryCheckpoint( [IN] string CheckpointName ) ;
  1672. [Description ("Add a registry checkpoint to this resource."
  1673. ) : ToSubClass ,
  1674. Implemented : ToSubClass
  1675. ]
  1676. void RemoveRegistryCheckpoint( [IN] string CheckpointName ) ;
  1677. [Description ("Add an encrypted checkpoint to this resource."
  1678. ) : ToSubClass ,
  1679. Implemented : ToSubClass
  1680. ]
  1681. void AddCryptoCheckpoint( [IN] string CheckpointName ) ;
  1682. [Description ("Add an encrypted checkpoint to this resource."
  1683. ) : ToSubClass ,
  1684. Implemented : ToSubClass
  1685. ]
  1686. void RemoveCryptoCheckpoint( [IN] string CheckpointName ) ;
  1687. }; //*** class MSCluster_Resource
  1688. // ===================================================================
  1689. // MSCluster_ResourceType
  1690. // ===================================================================
  1691. [Dynamic ,
  1692. Locale (0x409) ,
  1693. Provider ("MS_CLUSTER_PROVIDER"),
  1694. UUID ("{2F2EF49D-37DD-47c2-8328-6586142B8C99}")
  1695. ]
  1696. class MSCluster_ResourceType : MSCluster_LogicalElement
  1697. {
  1698. [Key ,
  1699. Read : ToSubClass ,
  1700. Description (
  1701. "The Name property provides the name of the ResourceType."
  1702. ) ]
  1703. string Name ;
  1704. [Read : ToSubClass ,
  1705. Write : ToSubClass ,
  1706. Description (
  1707. "The DisplayName property is a friendly name for the ResourceType"
  1708. "presented in the UI."
  1709. ) ]
  1710. string DisplayName ;
  1711. [Read : ToSubClass ,
  1712. Write : ToSubClass ,
  1713. Description (
  1714. "The Description property provides comments about the ResourceType."
  1715. ) ]
  1716. string Description ;
  1717. [Read : ToSubClass ,
  1718. Write : ToSubClass ,
  1719. Description (
  1720. "The AdminExtensions property provides the class identifiers (CLSIDs) "
  1721. "for the Cluster Administrator extension DLLs that are associated with "
  1722. "the resource type."
  1723. ) ]
  1724. string AdminExtensions[] ;
  1725. [Read : ToSubClass ,
  1726. Description (
  1727. "The DllName property provides the name of the dynamic-link library (DLL)"
  1728. " for the resource type."
  1729. ) ]
  1730. string DllName ;
  1731. [Read : ToSubClass ,
  1732. Write : ToSubClass ,
  1733. Description (
  1734. "The IsAlivePollInterval property provides the recommended interval in "
  1735. "milliseconds at which the Cluster Service should poll the resource to "
  1736. "determine if it is operational."
  1737. ) ]
  1738. uint32 IsAlivePollInterval ;
  1739. [Read : ToSubClass ,
  1740. Write : ToSubClass ,
  1741. Description (
  1742. "The LooksAlivePollInterval property provides the recommended interval "
  1743. "in milliseconds at which the Cluster Service should poll the resource "
  1744. "to determine if it appears operational."
  1745. ) ]
  1746. uint32 LooksAlivePollInterval ;
  1747. [Read : ToSubClass,
  1748. Description("The resource can be selected as the quorum resource for the cluster") ]
  1749. boolean QuorumCapable;
  1750. [Read : ToSubClass,
  1751. Description("The resource can be selected as the quorum resource "
  1752. "in clusters configured using the -localquorum switch.") ]
  1753. boolean LocalQuorumCapable;
  1754. [Read : ToSubClass,
  1755. Description("The resource cannot be deleted unless all nodes are active.") ]
  1756. boolean DeleteRequiresAllNodes;
  1757. }; //*** class MSCluster_ResourceType
  1758. // ===================================================================
  1759. // MSCluster_NetworkInterface
  1760. // ===================================================================
  1761. [Dynamic ,
  1762. Locale (0x409) ,
  1763. Provider ("MS_CLUSTER_PROVIDER"),
  1764. UUID ("{3DE393F8-8FD5-4426-901D-8EE017003A61}")
  1765. ]
  1766. class MSCluster_NetworkInterface : CIM_LogicalDevice
  1767. {
  1768. [Read : ToSubClass ,
  1769. Description (
  1770. "The Name property provides the Clustering Service-generated "
  1771. "name for the network interface."
  1772. ) ]
  1773. string Name ;
  1774. [Read : ToSubClass , Write: ToSubClass, Description (
  1775. "The Description property provides comments about the network "
  1776. "interface."
  1777. ) ]
  1778. string Description ;
  1779. [Read : ToSubClass ,
  1780. Description (
  1781. "The Adapter property provides the name that is used to uniquely "
  1782. "identify the network interface in the cluster."
  1783. ) ]
  1784. string Adapter ;
  1785. [Read : ToSubClass ,
  1786. Description (
  1787. "The Address property provides the primary network address that "
  1788. "the node uses for the network interface."
  1789. ) ]
  1790. string Address ;
  1791. [Read : ToSubClass ,
  1792. Description (
  1793. "The Network property provides the name of the network to which "
  1794. "the networkinterface is connected."
  1795. ) ]
  1796. string Network ;
  1797. [Read : ToSubClass ,
  1798. Description ("The current state of the network interface")
  1799. ]
  1800. uint32 State ;
  1801. [Read : ToSubClass ,
  1802. Write : ToSubClass
  1803. ]
  1804. uint32 Flags ;
  1805. [Read : ToSubClass ,
  1806. Write : ToSubClass
  1807. ]
  1808. uint32 Characteristics ;
  1809. }; //*** class MSCluster_NetworkInterface
  1810. // ===================================================================
  1811. // MSCluster_ClusterToGroup
  1812. // ===================================================================
  1813. [Dynamic ,
  1814. Provider ("MS_CLUSTER_PROVIDER"),
  1815. Locale (0x409) ,
  1816. UUID ("{191A06A0-4B96-4914-ABD6-6F7E5F73A191}")
  1817. ]
  1818. class MSCluster_ClusterToGroup : CIM_Component
  1819. {
  1820. [Override ("GroupComponent") : ToSubClass ,
  1821. Read : ToSubClass ,
  1822. Min (1) : ToSubClass ,
  1823. Max (1) : ToSubClass ,
  1824. Description ("The cluster.") : ToSubClass
  1825. ]
  1826. MSCluster_Cluster REF GroupComponent ;
  1827. [Override ("PartComponent") : ToSubClass ,
  1828. Read : ToSubClass ,
  1829. Description ("The group managed by cluster.") : ToSubClass
  1830. ]
  1831. MSCluster_ResourceGroup REF PartComponent ;
  1832. }; //*** class MSCluster_ClusterToGroup
  1833. // ===================================================================
  1834. // MSCluster_ClusterToResource
  1835. // ===================================================================
  1836. [Dynamic ,
  1837. Provider ("MS_CLUSTER_PROVIDER") ,
  1838. Description ("Cluster consists of resources." ) : ToSubClass ,
  1839. Locale (0x409) ,
  1840. UUID ("{89AC25D0-9706-481e-98E0-7DCD7AD8BDD4}")
  1841. ]
  1842. class MSCluster_ClusterToResource : CIM_Component
  1843. {
  1844. [Override ("GroupComponent") : ToSubClass ,
  1845. Read : ToSubClass,
  1846. Min (1) : ToSubClass ,
  1847. Max (1) : ToSubClass ,
  1848. Description ("The cluster." ) : ToSubClass
  1849. ]
  1850. MSCluster_Cluster REF GroupComponent ;
  1851. [Override ("PartComponent") : ToSubClass ,
  1852. Read : ToSubClass ,
  1853. Description ("The resource managed by the cluster.") : ToSubClass
  1854. ]
  1855. MSCluster_Resource REF PartComponent ;
  1856. }; //*** class MSCluster_ClusterToResource
  1857. // ===================================================================
  1858. // MSCluster_ClusterToResourceType
  1859. // ===================================================================
  1860. [Dynamic ,
  1861. Provider ("MS_CLUSTER_PROVIDER") ,
  1862. Description (
  1863. "Type of resource that supported by the cluster."
  1864. ) : ToSubClass ,
  1865. Locale (0x409) ,
  1866. UUID ("{1059D8CA-76CF-46dc-A14B-B7BB546270AD}")
  1867. ]
  1868. class MSCluster_ClusterToResourceType : CIM_Component
  1869. {
  1870. [Override ("GroupComponent") : ToSubClass ,
  1871. Read : ToSubClass ,
  1872. Min (1) : ToSubClass ,
  1873. Max (1) : ToSubClass ,
  1874. Description ("The cluster." ) : ToSubClass
  1875. ]
  1876. MSCluster_Cluster REF GroupComponent ;
  1877. [Override ("PartComponent") : ToSubClass ,
  1878. Read : ToSubClass ,
  1879. Description ("The resourceType supported by cluster.") : ToSubClass
  1880. ]
  1881. MSCluster_ResourceType REF PartComponent ;
  1882. }; //*** class MSCluster_ClusterToResourceType
  1883. // ===================================================================
  1884. // MSCluster_ClusterToNetworks
  1885. // ===================================================================
  1886. [Dynamic ,
  1887. Provider ("MS_CLUSTER_PROVIDER") ,
  1888. Description ("Cluster uses networks for communication." ) : ToSubClass ,
  1889. Locale (0x409) ,
  1890. UUID ("{F3CAB1DD-2F7D-484b-AD54-54187C0A8351}")
  1891. ]
  1892. class MSCluster_ClusterToNetworks : CIM_Component
  1893. {
  1894. [Override ("GroupComponent") : ToSubClass ,
  1895. Read : ToSubClass ,
  1896. Min (1) : ToSubClass ,
  1897. Max (1) : ToSubClass ,
  1898. Description ("The cluster." ) : ToSubClass
  1899. ]
  1900. MSCluster_Cluster REF GroupComponent ;
  1901. [Override ("PartComponent"): ToSubClass ,
  1902. Read : ToSubClass ,
  1903. Description ("The networks used cluster for communication.") : ToSubClass
  1904. ]
  1905. MSCluster_Networks REF PartComponent ;
  1906. }; //*** class MSCluster_ClusterToNetworks
  1907. // ===================================================================
  1908. // MSCluster_ClusterToNetworkInterface
  1909. // ===================================================================
  1910. [Dynamic ,
  1911. Provider ("MS_CLUSTER_PROVIDER") ,
  1912. Description (
  1913. "Cluster has many network interfaces installed on nodes it manages."
  1914. ) : ToSubClass ,
  1915. Locale (0x409) ,
  1916. UUID ("{CB737284-A6D8-4d46-92F0-20992869A84E}")
  1917. ]
  1918. class MSCluster_ClusterToNetworkInterface : CIM_Component
  1919. {
  1920. [Override ("GroupComponent") : ToSubClass ,
  1921. Read : ToSubClass ,
  1922. Min (1) : ToSubClass ,
  1923. Max (1) : ToSubClass ,
  1924. Description ("The cluster.") : ToSubClass
  1925. ]
  1926. MSCluster_Cluster REF GroupComponent ;
  1927. [Override ("PartComponent") : ToSubClass ,
  1928. Read : ToSubClass ,
  1929. Description ("The networks interfaces.") : ToSubClass
  1930. ]
  1931. MSCluster_NetworkInterface REF PartComponent ;
  1932. }; //*** class MSCluster_ClusterToNetworkInterface
  1933. // ===================================================================
  1934. // MSCluster_NetworkToNetworksInterface
  1935. // ===================================================================
  1936. [Dynamic ,
  1937. Provider ("MS_CLUSTER_PROVIDER") ,
  1938. Description (
  1939. "Network interfaces connected to a network."
  1940. ) : ToSubClass ,
  1941. Locale (0x409) ,
  1942. UUID ("{099B1BE4-D4BD-4b56-9815-AA90234B03C6}")
  1943. ]
  1944. class MSCluster_NetworkToNetworksInterface : CIM_Component
  1945. {
  1946. [Override ("GroupComponent") : ToSubClass ,
  1947. Read : ToSubClass ,
  1948. Min (1) : ToSubClass ,
  1949. Max (1) : ToSubClass ,
  1950. Description ("The network.") : ToSubClass
  1951. ]
  1952. MSCluster_Networks REF GroupComponent ;
  1953. [Override ("PartComponent") : ToSubClass ,
  1954. Read : ToSubClass ,
  1955. Description ("The networks interfaces.") : ToSubClass
  1956. ]
  1957. MSCluster_NetworkInterface REF PartComponent ;
  1958. }; //*** class MSCluster_NetworkToNetworksInterface
  1959. // ===================================================================
  1960. // MSCluster_NodeActiveGroup
  1961. // ===================================================================
  1962. [Dynamic ,
  1963. Provider ("MS_CLUSTER_PROVIDER") ,
  1964. Description ("Groups active on a node.") : ToSubClass ,
  1965. Locale (0x409) ,
  1966. UUID ("{AE76778B-B9C4-4765-9E61-7A3DC17F919C}")
  1967. ]
  1968. class MSCluster_NodeActiveGroup : CIM_Component
  1969. {
  1970. [Override ("GroupComponent") : ToSubClass ,
  1971. Read : ToSubClass ,
  1972. Min (1) : ToSubClass ,
  1973. Description ("The node.") : ToSubClass
  1974. ]
  1975. MSCluster_Node REF GroupComponent ;
  1976. [Override ("PartComponent") : ToSubClass ,
  1977. Read : ToSubClass ,
  1978. Description ("The group that is active on the node.") : ToSubClass
  1979. ]
  1980. MSCluster_ResourceGroup REF PartComponent ;
  1981. }; //*** class MSCluster_NodeActiveGroup
  1982. // ===================================================================
  1983. // MSCluster_NodeActiveResource
  1984. // ===================================================================
  1985. [Dynamic ,
  1986. Provider ("MS_CLUSTER_PROVIDER") ,
  1987. Description ("Resources active on a node.") : ToSubClass ,
  1988. Locale (0x409) ,
  1989. UUID ("{4D440386-1CC3-4dca-AFB2-DB74A60A3891}")
  1990. ]
  1991. class MSCluster_NodeActiveResource : CIM_Component
  1992. {
  1993. [Override ("GroupComponent") : ToSubClass ,
  1994. Read : ToSubClass ,
  1995. Min (1) : ToSubClass ,
  1996. Max (1) : ToSubClass ,
  1997. Description ("The node.") : ToSubClass
  1998. ]
  1999. MSCluster_Node REF GroupComponent ;
  2000. [Override ("PartComponent") : ToSubClass ,
  2001. Read : ToSubClass ,
  2002. Description ("The resource that is active on the node.") : ToSubClass
  2003. ]
  2004. MSCluster_Resource REF PartComponent ;
  2005. }; //*** class MSCluster_NodeActiveResource
  2006. // ===================================================================
  2007. // MSCluster_NodeToNetworkInterface
  2008. // ===================================================================
  2009. [Dynamic ,
  2010. Provider ("MS_CLUSTER_PROVIDER") ,
  2011. Description ("Network interfaces connected to a node.") : ToSubClass ,
  2012. Locale (0x409) ,
  2013. UUID ("{82459303-B1E9-4ddf-970F-25B17AD2A01B}")
  2014. ]
  2015. class MSCluster_NodeToNetworkInterface : CIM_SystemDevice
  2016. {
  2017. [Override ("GroupComponent") : ToSubClass ,
  2018. Read : ToSubClass ,
  2019. Min (1) : ToSubClass ,
  2020. Max (1) : ToSubClass ,
  2021. Description ("The node.") : ToSubClass
  2022. ]
  2023. MSCluster_Node REF GroupComponent ;
  2024. [Override ("PartComponent") : ToSubClass ,
  2025. Read : ToSubClass ,
  2026. Description ("The group that is active on the node.") : ToSubClass
  2027. ]
  2028. MSCluster_NetworkInterface REF PartComponent ;
  2029. }; //*** class MSCluster_NodeToNetworkInterface
  2030. // ===================================================================
  2031. // MSCluster_ResourceGroupToResource
  2032. // ===================================================================
  2033. [Dynamic ,
  2034. Provider ("MS_CLUSTER_PROVIDER") ,
  2035. Description ("Resources in a group.") : ToSubClass ,
  2036. Locale (0x409) ,
  2037. UUID ("{38DD5882-2610-4ba1-B24E-1CD955B7A6BF}")
  2038. ]
  2039. class MSCluster_ResourceGroupToResource : CIM_Component
  2040. {
  2041. [Override ("GroupComponent") : ToSubClass ,
  2042. Read : ToSubClass ,
  2043. Min (1) : ToSubClass ,
  2044. Max (1) : ToSubClass ,
  2045. Description ("The group.") : ToSubClass
  2046. ]
  2047. MSCluster_ResourceGroup REF GroupComponent ;
  2048. [Override ("PartComponent") : ToSubClass ,
  2049. Read : ToSubClass ,
  2050. Description ("The resources within the group.") : ToSubClass
  2051. ]
  2052. MSCluster_Resource REF PartComponent ;
  2053. }; //*** class MSCluster_ResourceGroupToResource
  2054. // ===================================================================
  2055. // MSCluster_ResourceResourceType
  2056. // ===================================================================
  2057. [Dynamic ,
  2058. Provider ("MS_CLUSTER_PROVIDER") ,
  2059. Description ("Resources of a particular type.") : ToSubClass ,
  2060. Locale (0x409) ,
  2061. UUID ("{94F4F3DB-C193-42f1-B6AE-1C74817CD894}")
  2062. ]
  2063. class MSCluster_ResourceResourceType : CIM_Component
  2064. {
  2065. [Override ("GroupComponent") : ToSubClass ,
  2066. Read : ToSubClass ,
  2067. Min (1) : ToSubClass ,
  2068. Max (1) : ToSubClass ,
  2069. Description ("The resource.") : ToSubClass
  2070. ]
  2071. MSCluster_Resource REF GroupComponent ;
  2072. [Override ("PartComponent") : ToSubClass ,
  2073. Read : ToSubClass ,
  2074. Description ("The resource type.") : ToSubClass
  2075. ]
  2076. MSCluster_ResourceType REF PartComponent ;
  2077. }; //*** class MSCluster_ResourceResourceType
  2078. // ===================================================================
  2079. // MSCluster_ClusterToQuorumResource
  2080. // ===================================================================
  2081. [Dynamic ,
  2082. Provider ("MS_CLUSTER_PROVIDER") ,
  2083. Description ("A cluster has a quorum resource.") : ToSubClass ,
  2084. Locale (0x409) ,
  2085. UUID ("{FF92D220-3079-44d9-A32B-BEB000E05F77}")
  2086. ]
  2087. class MSCluster_ClusterToQuorumResource : CIM_Component
  2088. {
  2089. [Override ("GroupComponent") : ToSubClass ,
  2090. Read : ToSubClass ,
  2091. Min (1) : ToSubClass ,
  2092. Max (1) : ToSubClass ,
  2093. Description ("The cluster.") : ToSubClass
  2094. ]
  2095. MSCluster_Cluster REF GroupComponent ;
  2096. [Override ("PartComponent") : ToSubClass,
  2097. Read : ToSubClass ,
  2098. Min (1) : ToSubClass ,
  2099. Max (1) : ToSubClass ,
  2100. Description ("The quorum resource.") : ToSubClass
  2101. ]
  2102. MSCluster_Resource REF PartComponent ;
  2103. }; //*** class MSCluster_ClusterToQuorumResource
  2104. // ===================================================================
  2105. // MSCluster_ResourceDepResource
  2106. // ===================================================================
  2107. [Dynamic , Provider ("MS_CLUSTER_PROVIDER") ,
  2108. Description ("Dependencies of a resource.") : ToSubClass ,
  2109. Locale (0x409) ,
  2110. UUID ("{C09C3AB9-E97C-46d8-921F-4B3EA2A7C457}")
  2111. ]
  2112. class MSCluster_ResourceDepResource : CIM_Dependency
  2113. {
  2114. [Override ("Antecedent") : ToSubClass ,
  2115. Read : ToSubClass ,
  2116. Description ("The Resouce.") : ToSubClass
  2117. ]
  2118. MSCluster_Resource REF Antecedent ;
  2119. [Override ("Dependent") : ToSubClass ,
  2120. Read : ToSubClass ,
  2121. Description ("The resource to be depended on.") : ToSubClass
  2122. ]
  2123. MSCluster_Resource REF Dependent ;
  2124. }; //*** class MSCluster_ResourceDepResource
  2125. // ===================================================================
  2126. // MSCluster_ClusterToNode
  2127. // ===================================================================
  2128. [Dynamic ,
  2129. Provider ("MS_CLUSTER_PROVIDER"),
  2130. Locale (0x409) ,
  2131. UUID ("{1DA51F43-8562-4093-9C3A-D9CBB35CF6D2}")
  2132. ]
  2133. class MSCluster_ClusterToNode : CIM_ParticipatingCS
  2134. {
  2135. [Override ("Antecedent") : ToSubClass ,
  2136. Read : ToSubClass ,
  2137. Min (1) : ToSubClass ,
  2138. Max (1) : ToSubClass ,
  2139. Description ("The cluster." ) : ToSubClass
  2140. ]
  2141. MSCluster_Cluster REF Antecedent ;
  2142. [Override ("Dependent"): ToSubClass ,
  2143. Read : ToSubClass ,
  2144. Description ("Node managed by cluster.") : ToSubClass
  2145. ]
  2146. MSCluster_Node REF Dependent ;
  2147. }; //*** class MSCluster_ClusterToNode
  2148. // ===================================================================
  2149. // MSCluster_HostedService
  2150. // ===================================================================
  2151. [Dynamic ,
  2152. Provider ("MS_CLUSTER_PROVIDER"),
  2153. Locale (0x409) ,
  2154. UUID ("{B3C77CEF-67E7-4112-A757-CB072D44EBA3}")
  2155. ]
  2156. class MSCluster_HostedService : CIM_HostedService
  2157. {
  2158. [Override ("Antecedent") : ToSubClass ,
  2159. Read : ToSubClass ,
  2160. Description ("The node hosting the service.") : ToSubClass
  2161. ]
  2162. MSCluster_Node REF Antecedent ;
  2163. [Override ("Dependent") : ToSubClass ,
  2164. Read : ToSubClass ,
  2165. Description ("The hosted service.") : ToSubClass
  2166. ]
  2167. MSCluster_Service REF Dependent ;
  2168. }; //*** class MSCluster_HostedService
  2169. // ===================================================================
  2170. // MSCluster_Event
  2171. // ===================================================================
  2172. [Dynamic ,
  2173. Provider ("MS_CLUSTER_PROVIDER"),
  2174. Locale (0x409) ,
  2175. UUID ("{01D7A9DE-B876-4bb6-ABDB-26B67C52D221}")
  2176. ]
  2177. class MSCluster_Event : __ExtrinsicEvent
  2178. {
  2179. [Description (
  2180. "Major event category. Reserved for future use."
  2181. ) : ToInstance ToSubClass
  2182. ]
  2183. uint32 EventTypeMajor ;
  2184. [Description ("Subtype within major category. For EventTypeMajor=0, "
  2185. "This contains the Cluster Event mask value as returned by "
  2186. "GetClusterNotify."
  2187. ) : ToInstance ToSubClass
  2188. ]
  2189. uint32 EventTypeMinor ;
  2190. [Description (
  2191. "Name of object to which this event applies."
  2192. ) : ToInstance ToSubClass
  2193. ]
  2194. string EventObjectName ;
  2195. [Description (
  2196. "Type of object to which this event applies."
  2197. ) : ToInstance ToSubClass
  2198. ]
  2199. uint32 EventObjectType ;
  2200. [Description(
  2201. "WMI Path of object to which this event applies."
  2202. ) : ToInstance ToSubClass
  2203. ]
  2204. string EventObjectPath ;
  2205. }; //*** class MSCluster_Event
  2206. // ===================================================================
  2207. // MSCluster_EventObjectAdd
  2208. // ===================================================================
  2209. [Dynamic ,
  2210. Provider ("MS_CLUSTER_PROVIDER"),
  2211. Locale (0x409) ,
  2212. UUID ("{EDECEF0B-A3C7-4edd-BD75-1CF37F5547B8}")
  2213. ]
  2214. class MSCluster_EventObjectAdd : MSCluster_Event
  2215. {
  2216. [Description (
  2217. "RESERVED FOR FUTURE USE: XML-encoded property names and values "
  2218. "for added or changed properties"
  2219. ) : ToInstance ToSubClass
  2220. ]
  2221. string EventProperty ;
  2222. }; //*** class MSCluster_EventObjectAdd
  2223. // ===================================================================
  2224. // MSCluster_EventObjectRemove
  2225. // ===================================================================
  2226. [Dynamic ,
  2227. Provider ("MS_CLUSTER_PROVIDER"),
  2228. Locale (0x409) ,
  2229. UUID ("{F12EA54A-75FE-43c9-ACE4-5745D1CA0552}")
  2230. ]
  2231. class MSCluster_EventObjectRemove : MSCluster_Event
  2232. {
  2233. }; //*** class MSCluster_EventObjectRemove
  2234. // ===================================================================
  2235. // MSCluster_EventPropertyChange
  2236. // ===================================================================
  2237. [Dynamic ,
  2238. Provider ("MS_CLUSTER_PROVIDER"),
  2239. Locale (0x409) ,
  2240. UUID ("{4CB6135C-E55D-46fe-8AE4-51E24AF901BD}")
  2241. ]
  2242. class MSCluster_EventPropertyChange : MSCluster_Event
  2243. {
  2244. [Description (
  2245. "RESERVED FOR FUTURE USE: XML-encoded property names and values "
  2246. "for added or changed properties"
  2247. ) : ToInstance ToSubClass
  2248. ]
  2249. string EventProperty ;
  2250. }; //*** class MSCluster_EventPropertyChange
  2251. // ===================================================================
  2252. // MSCluster_EventStateChange
  2253. // ===================================================================
  2254. [Dynamic ,
  2255. Provider ("MS_CLUSTER_PROVIDER"),
  2256. Locale (0x409) ,
  2257. UUID ("{F68489E2-0301-4594-B25D-613637ECBA1A}")
  2258. ]
  2259. class MSCluster_EventStateChange : MSCluster_Event
  2260. {
  2261. [Description (
  2262. "Current state of object reporting this state change. "
  2263. "The value returned is one of the state constants for the "
  2264. "cluster object identified by EventObjectType, found in "
  2265. "clusapi.h as returned by the relevant GetClusterXXXState "
  2266. "APIs."
  2267. ) ]
  2268. uint32 EventNewState ;
  2269. }; //*** class MSCluster_EventStateChange
  2270. // ===================================================================
  2271. // MSCluster_EventGroupStateChange
  2272. // ===================================================================
  2273. [Dynamic ,
  2274. Provider ("MS_CLUSTER_PROVIDER"),
  2275. Locale (0x409) ,
  2276. UUID ("{D264369A-3133-45eb-AE1D-65B1B641AEAF}")
  2277. ]
  2278. class MSCluster_EventGroupStateChange : MSCluster_EventStateChange
  2279. {
  2280. [Description ("Current node hosting this group") ]
  2281. string EventNode ;
  2282. }; //*** class MSCluster_EventGroupStateChange
  2283. // ===================================================================
  2284. // MSCluster_EventResourceStateChange
  2285. // ===================================================================
  2286. [Dynamic ,
  2287. Provider ("MS_CLUSTER_PROVIDER"),
  2288. Locale (0x409) ,
  2289. UUID ("{F1163D38-0E12-49ed-B0AF-09C683F89243}")
  2290. ]
  2291. class MSCluster_EventResourceStateChange : MSCluster_EventStateChange
  2292. {
  2293. [Description ("Current node hosting this resource") ]
  2294. string EventNode ;
  2295. [Description ("Current group containing this resource") ]
  2296. string EventGroup ;
  2297. }; //*** class MSCluster_EventResourceStateChange
  2298. instance of __InstanceProviderRegistration
  2299. {
  2300. Provider = $InstanceProv ;
  2301. SupportsGet = "TRUE" ;
  2302. SupportsPut = "TRUE" ;
  2303. SupportsDelete = "TRUE" ;
  2304. SupportsEnumeration = "TRUE" ;
  2305. QuerySupportLevels = NULL ;
  2306. };
  2307. instance of __MethodProviderRegistration
  2308. {
  2309. Provider = $InstanceProv ;
  2310. };
  2311. instance of __EventProviderRegistration
  2312. {
  2313. Provider = $EventProv ;
  2314. EventQueryList = { "select * from MSCluster_Event" } ;
  2315. };
  2316. instance of __ClassProviderRegistration
  2317. {
  2318. Provider = $ClassProv ;
  2319. InteractionType = 1 ; // Provider is a push provider
  2320. SupportsGet = "TRUE" ;
  2321. SupportsEnumeration = "TRUE" ;
  2322. ResultSetQueries = { "select * from MSCluster_Resource" } ;
  2323. };