Leaked source code of windows server 2003
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.

2741 lines
99 KiB

  1. //**************************************************************************
  2. //*
  3. //* Copyright (c) 2000 - 2002 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. "Indicates the maximum number of nodes that may participate in the "
  928. "Cluster. If unlimited, enter 0."
  929. ) ]
  930. uint32 MaxNumberOfNodes ;
  931. }; //*** class CIM_Cluster
  932. // ===================================================================
  933. // CIM_ParticipatingCS
  934. // ===================================================================
  935. [Abstract ,
  936. Association ,
  937. Locale (0x409) : ToInstance ,
  938. Description (
  939. "A Cluster is composed of two or more ComputerSystems, operating "
  940. "together. A ComputerSystem may participate in multiple Clusters. "
  941. "\n\nWhen first establishing or bringing up a Cluster, only one "
  942. "ComputerSystem may be defined as participating in it. Therfore, the "
  943. "cardinality of the association for the ComputerSystem reference is "
  944. "Min(1)."
  945. ),
  946. UUID ("{8A5CD126-FD8B-4eb2-AEDF-5DC22B6DE989}")
  947. ]
  948. class CIM_ParticipatingCS : CIM_Dependency
  949. {
  950. [Override ("Antecedent") ,
  951. Description (
  952. "The ComputerSystem which participates in the Cluster."
  953. ) ,
  954. Min (1)
  955. ]
  956. CIM_ComputerSystem REF Antecedent ;
  957. [Override ("Dependent") ,
  958. Description ("The Cluster.")
  959. ]
  960. CIM_Cluster REF Dependent ;
  961. [Description (
  962. "StateOfNode indicates the condition of the participating ComputerSystem "
  963. "in the Cluster. For example, one value is \"Joining\" (2)."
  964. ) ,
  965. Values {
  966. "Unknown", "Other", "Joining", "Paused", "Available",
  967. "Unavailable", "Degraded"
  968. } ]
  969. uint16 StateOfNode ;
  970. [Description (
  971. "RoleOfNode indicates whether the Cluster nodes are peers (value = 2), "
  972. "connected in a master-slave/primary-secondary relationship (values = 3 "
  973. "for primary, 4 for secondary), available in a standby configuration (5) "
  974. "or of some other (1) or unknown (0) relationship. In a System/390 "
  975. "environment, the nodes are identified as \"Base Plex\" (value=6) or "
  976. "\"Enhanced Plex\" (value=7)."
  977. ) ,
  978. Values {
  979. "Unknown", "Other", "Peer", "Primary", "Secondary", "Standby",
  980. "Base Plex", "Enhanced Plex"
  981. } ]
  982. uint16 RoleOfNode ;
  983. }; //*** class CIM_ParticipatingCS
  984. //************************************************************************
  985. //* Microsoft Cluster Service Schema
  986. //************************************************************************
  987. // ===================================================================
  988. // MSCluster_Property
  989. // ===================================================================
  990. [Abstract : ToSubClass,
  991. Locale (0x409) : ToInstance ,
  992. Description(
  993. "Superclass for properties of cluster objects."
  994. ),
  995. UUID ("{4D5365E3-A8F2-4167-8565-7A588D1F4FA5}")
  996. ]
  997. class MSCluster_Property
  998. {
  999. }; //*** class MSCluster_Property
  1000. // ===================================================================
  1001. // MSCluster_LogicalElement
  1002. // ===================================================================
  1003. [Abstract ,
  1004. Locale (0x409) : ToInstance ,
  1005. Description (
  1006. "Superclass for cluster objects that provide "
  1007. "the FLAGS and CHARACTERISTICS attributes"
  1008. ),
  1009. UUID ("{9EB9A2F9-0751-4dcf-AB59-F8341D0F60B2}")
  1010. ]
  1011. class MSCluster_LogicalElement : CIM_LogicalElement
  1012. {
  1013. [Read : ToSubClass ,
  1014. Write : ToSubClass
  1015. ]
  1016. uint32 Flags ;
  1017. [Read : ToSubClass ,
  1018. Write : ToSubClass
  1019. ]
  1020. uint32 Characteristics ;
  1021. }; //*** class MSCluster_LogicalElement
  1022. // ===================================================================
  1023. // MSCluster_Cluster
  1024. // ===================================================================
  1025. [Dynamic ,
  1026. Locale (0x409) ,
  1027. Provider ("MS_CLUSTER_PROVIDER"),
  1028. UUID ("{9EB9A2F9-0751-4dcf-AB59-F8341D0F60B2}")
  1029. ]
  1030. class MSCluster_Cluster : CIM_Cluster
  1031. {
  1032. [Read : ToSubClass ,
  1033. Description (
  1034. "The Name property specifies the name of the cluster."
  1035. ) ]
  1036. string Name ;
  1037. [Read : ToSubClass ,
  1038. Write : ToSubClass ,
  1039. Description (
  1040. "The Description property stores administrative comments "
  1041. "about the cluster."
  1042. ) ]
  1043. string Description ;
  1044. [Read : ToSubClass ,
  1045. Write : ToSubClass ,
  1046. Description ("The location of maintenance file.")
  1047. ]
  1048. string MaintenanceFile ;
  1049. [Read : ToSubClass ,
  1050. Write : ToSubClass ,
  1051. Description (
  1052. "The AdminExtensions property provides the class identifiers "
  1053. "(CLSIDs) for the Cluster Administrator extension DLLs that are "
  1054. "associated with the cluster."
  1055. ) ]
  1056. string AdminExtensions[] ;
  1057. [Read : ToSubClass ,
  1058. Write : ToSubClass
  1059. ]
  1060. string GroupAdminExtensions[] ;
  1061. [Read : ToSubClass ,
  1062. Write : ToSubClass
  1063. ]
  1064. string NodeAdminExtensions[] ;
  1065. [Read : ToSubClass ,
  1066. Write : ToSubClass
  1067. ]
  1068. string ResourceAdminExtensions[] ;
  1069. [Read : ToSubClass ,
  1070. Write : ToSubClass
  1071. ]
  1072. string ResourceTypeAdminExtensions[] ;
  1073. [Read : ToSubClass ,
  1074. Write : ToSubClass
  1075. ]
  1076. string NetworkAdminExtensions[] ;
  1077. [Read : ToSubClass ,
  1078. Write : ToSubClass
  1079. ]
  1080. string NetworkInterfaceAdminExtensions[] ;
  1081. [Read : ToSubClass ,
  1082. Write : ToSubClass ,
  1083. Description (
  1084. "The SecurityDescriptor property stores Windows 2000-compatible "
  1085. "security descriptor information."
  1086. ) ]
  1087. uint8 Security[] ;
  1088. [Read : ToSubClass ,
  1089. Write : ToSubClass ,
  1090. Description ("The size of quorum log file.")
  1091. ]
  1092. uint32 QuorumLogFileSize ;
  1093. [Read : ToSubClass ,
  1094. Write:ToSubClass ,
  1095. Arraytype ("Ordered") ,
  1096. Description (
  1097. "Prioritized array of networks. "
  1098. "The first in the array has the highest priority"
  1099. ) ]
  1100. string NetworkPriorities[] ;
  1101. [Read : ToSubClass ,
  1102. Write : ToSubClass ,
  1103. Description ("Specifies the role that the cluster automatically assigns to any newly discovered or created network.")
  1104. ]
  1105. uint32 DefaultNetworkRole ;
  1106. [Read : ToSubClass ,
  1107. Write : ToSubClass ,
  1108. Description ("Controls whether a node's system, application, and security event log entries are replicated in the event logs of all other cluster nodes.")
  1109. ]
  1110. uint32 EnableEventLogReplication ;
  1111. [Read : ToSubClass ,
  1112. Write : ToSubClass ,
  1113. Description ("Stores the Windows 2000 security descriptor of a cluster.")
  1114. ]
  1115. uint8 Security_Descriptor[] ;
  1116. //***********
  1117. //* Methods *
  1118. //***********
  1119. [Implemented]
  1120. void Rename(
  1121. [IN, Description ("New name of the cluster.") ]
  1122. string NewName
  1123. ) ;
  1124. [Implemented]
  1125. void SetQuorumResource(
  1126. [IN, Description ("Name of the quorum resource.") ]
  1127. string Resource
  1128. ) ;
  1129. [Implemented ,
  1130. Static ,
  1131. Description ("Determines if the Cluster service is installed and running on a node.") : ToSubClass
  1132. ]
  1133. void GetNodeClusterState(
  1134. [OUT, Description ("State of the Cluster service on the node.") ]
  1135. uint32 ClusterState
  1136. ) ;
  1137. }; //*** class MSCluster_Cluster
  1138. // ===================================================================
  1139. // MSCluster_ResourceGroup
  1140. // ===================================================================
  1141. [Dynamic ,
  1142. Locale (0x409) ,
  1143. Provider ("MS_CLUSTER_PROVIDER"),
  1144. UUID ("{DDE3A30E-55F7-4c31-B6CF-E360D12C5253}")
  1145. ]
  1146. class MSCluster_ResourceGroup : MSCluster_LogicalElement
  1147. {
  1148. [Read : ToSubClass ,
  1149. Write : ToSubClass ,
  1150. Description (
  1151. "The Description property provides comments about the group."
  1152. ) ]
  1153. string Description;
  1154. [Key ,
  1155. Read : ToSubClass ,
  1156. Description ("The Name property specifies the name of the group.")
  1157. ]
  1158. string Name = NULL ;
  1159. [Read : ToSubClass ,
  1160. Description ("The current state of the resource group.")
  1161. ]
  1162. uint32 State ;
  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. Write : ToSubClass ,
  1221. Description (
  1222. "The PersistentState property specifies whether a group should "
  1223. "be left offline or brought online when the Cluster Service "
  1224. "starts."
  1225. ) ]
  1226. boolean PersistentState ;
  1227. [Read : ToSubClass ,
  1228. Write : ToSubClass ,
  1229. Description (
  1230. "The LoadBalState property is reserved for future use "
  1231. "and is not used by Windows Clustering at this time."
  1232. ) ]
  1233. uint32 LoadBalState;
  1234. //***********
  1235. //* Methods *
  1236. //***********
  1237. [Implemented]
  1238. void BringOnline(
  1239. [IN, Description ("How long (in seconds) the method should wait for the resource group to come online.") ]
  1240. uint32 TimeOut
  1241. ) ;
  1242. [Implemented]
  1243. void TakeOffline(
  1244. [IN, Description ("How long (in seconds) the method should wait for the resource group to come offline.") ]
  1245. uint32 TimeOut
  1246. );
  1247. [Implemented ,
  1248. Description ("To move the group to different node.")
  1249. ]
  1250. void MoveToNewNode(
  1251. [IN, Description ("Name of the node to move to. ") ]
  1252. string NodeName ,
  1253. [IN, Description ("How long (in seconds) the method should wait for the resource group to move to another node.") ]
  1254. uint32 TimeOut
  1255. ) ;
  1256. [Implemented ,
  1257. Description ("Rename the resource group.")
  1258. ]
  1259. void Rename(
  1260. [IN, Description ("New name of the resource group. ") ]
  1261. string NewName
  1262. ) ;
  1263. [Implemented ,
  1264. Static ,
  1265. Description ("Create a new resource group.")
  1266. ]
  1267. void CreateGroup(
  1268. [IN, Description ("Name of the resource group.") ]
  1269. string GroupName
  1270. ) ;
  1271. [Implemented ,
  1272. Static ,
  1273. Description ("Delete the resource group.")
  1274. ]
  1275. void DeleteGroup(
  1276. ) ;
  1277. }; //*** class MSCluster_ResourceGroup
  1278. // ===================================================================
  1279. // MSCluster_Network
  1280. // ===================================================================
  1281. [Dynamic ,
  1282. Locale (0x409) ,
  1283. Provider ("MS_CLUSTER_PROVIDER"),
  1284. UUID ("{F541DA2A-174C-4000-9066-B755095C7E7A}")
  1285. ]
  1286. class MSCluster_Network : MSCluster_LogicalElement
  1287. {
  1288. [Key ,
  1289. Read : ToSubClass ,
  1290. Description ("The Name property provides the name of the network.")
  1291. ]
  1292. string Name ;
  1293. [Read : ToSubClass ,
  1294. Write : ToSubClass ,
  1295. Description (
  1296. "The Description property provides comments about the network."
  1297. ) ]
  1298. string Description ;
  1299. [Read : ToSubClass ,
  1300. Description (
  1301. "The Address property provides the address for the entire network "
  1302. "or subnet."
  1303. ) ]
  1304. string Address ;
  1305. [Read : ToSubClass ,
  1306. Description (
  1307. "The AddressMask property provides the mask that distinguishes the "
  1308. "network and host portions of an address."
  1309. ) ]
  1310. string AddressMask ;
  1311. [Read : ToSubClass ,
  1312. Write : ToSubClass ,
  1313. Description (
  1314. "The Role property provides the role of the network in the cluster."
  1315. ),
  1316. Values {
  1317. "ClusterNetworkRoleNone", "ClusterNetworkRoleClientAccess",
  1318. "ClusterNetworkRoleInternalUse", "ClusterNetworkRoleInternalAndClient"
  1319. } ]
  1320. uint32 Role ;
  1321. [Read : ToSubClass ,
  1322. Description (
  1323. "Current state of a network."
  1324. ) ]
  1325. uint32 State ;
  1326. //***********
  1327. //* Methods *
  1328. //***********
  1329. [Description ("To rename the network."),
  1330. Implemented
  1331. ]
  1332. void Rename( [IN] string newName );
  1333. }; //*** class MSCluster_Network
  1334. // ===================================================================
  1335. // MSCluster_Node
  1336. // ===================================================================
  1337. [Dynamic ,
  1338. Locale (0x409) ,
  1339. Provider ("MS_CLUSTER_PROVIDER"),
  1340. UUID ("{C306EBED-0654-4360-AA70-DE912C5FC364}")
  1341. ]
  1342. class MSCluster_Node : CIM_UnitaryComputerSystem
  1343. {
  1344. [Read : ToSubClass ,
  1345. Write : ToSubClass ,
  1346. Description (
  1347. "The Description property provides comments about the node."
  1348. ) ]
  1349. string Description ;
  1350. [Read : ToSubClass ,
  1351. Description (
  1352. "The NodeHighestVersion property specifies the highest possible "
  1353. "version of Clustering Service with which the node can join or "
  1354. "communicate."
  1355. ) ]
  1356. uint32 NodeHighestVersion ;
  1357. [Read : ToSubClass ,
  1358. Description (
  1359. "The NodeLowestVersion property specifies the lowest possible "
  1360. "version of Clustering Service with which the node can join or "
  1361. "communicate."
  1362. ) ]
  1363. uint32 NodeLowestVersion ;
  1364. [Read : ToSubClass ,
  1365. Description (
  1366. "The MajorVersion property specifies the integer component of "
  1367. "the Windows NT/Window 2000 version installed on the node."
  1368. ) ]
  1369. uint32 MajorVersion ;
  1370. [Read : ToSubClass,
  1371. Description (
  1372. "The MinorVersion property specifies the decimal component of "
  1373. "the Windows NT/Window 2000 version installed on the node."
  1374. ) ]
  1375. uint32 MinorVersion ;
  1376. [Read : ToSubClass ,
  1377. Description (
  1378. "The BuildNumber property specifies the build number of "
  1379. "Microsoft� Windows NT�/Windows� 2000 installed on a node."
  1380. ) ]
  1381. uint32 BuildNumber ;
  1382. [Read : ToSubClass ,
  1383. Description (
  1384. "The CSDVersion property specifies the number of the most recent "
  1385. "service pack installed on the node (if any)."
  1386. ) ]
  1387. uint32 CSDVersion ;
  1388. [Read : ToSubClass ,
  1389. Write : ToSubClass ,
  1390. Description (
  1391. "The EnableEventLogReplication property controls whether the "
  1392. "Windows NT/Windows 2000 Event Log is replicated."
  1393. ) ]
  1394. uint32 EnableEventLogReplication ;
  1395. [Read : ToSubClass ,
  1396. Description ("The current state of a node.")
  1397. ]
  1398. uint32 State ;
  1399. [Read : ToSubClass ,
  1400. Write : ToSubClass
  1401. ]
  1402. uint32 Flags ;
  1403. [Read : ToSubClass ,
  1404. Write : ToSubClass
  1405. ]
  1406. uint32 Characteristics ;
  1407. }; //*** class MSCluster_Node
  1408. // ===================================================================
  1409. // MSCluster_Service
  1410. // ===================================================================
  1411. [Dynamic ,
  1412. Locale (0x409) ,
  1413. Provider ("MS_CLUSTER_PROVIDER"),
  1414. UUID ("{8F9030D0-9149-4113-9ADD-6F2101285E5D}")
  1415. ]
  1416. class MSCluster_Service : CIM_ClusteringService
  1417. {
  1418. [Read : ToSubClass ,
  1419. Description (
  1420. "The NodeHighestVersion property specifies the highest possible "
  1421. "version of Clustering Service with which the node hosting this "
  1422. "service can join or communicate."
  1423. ) ]
  1424. uint32 NodeHighestVersion ;
  1425. [Read : ToSubClass ,
  1426. Description (
  1427. "The NodeLowestVersion property specifies the lowest possible "
  1428. "version of Clustering Service with which the node hosting this "
  1429. "service can join or communicate."
  1430. ) ]
  1431. uint32 NodeLowestVersion ;
  1432. [Read : ToSubClass ,
  1433. Write : ToSubClass ,
  1434. Description (
  1435. "The EnableEventLogReplication property controls whether the "
  1436. "Windows NT/Windows 2000 Event Log is replicated."
  1437. ) ]
  1438. uint32 EnableEventLogReplication ;
  1439. [Read : ToSubClass ,
  1440. Description ("The current state of the node hosting this service.")
  1441. ]
  1442. uint32 State ;
  1443. //***********
  1444. //* Methods *
  1445. //***********
  1446. [Implemented]
  1447. void Pause() ;
  1448. [Implemented]
  1449. void Resume() ;
  1450. }; //*** class MSCluster_Service
  1451. // ===================================================================
  1452. // MSCluster_Resource
  1453. // ===================================================================
  1454. [Dynamic ,
  1455. Locale (0x409) ,
  1456. Provider ("MS_CLUSTER_PROVIDER"),
  1457. UUID ("{C2862F9C-34DE-4b16-9EE3-099D078E9F59}")
  1458. ]
  1459. class MSCluster_Resource : MSCluster_LogicalElement
  1460. {
  1461. [Key ,
  1462. Read : ToSubClass ,
  1463. Description (
  1464. "The Name property provides the name of the Resource."
  1465. ) ]
  1466. string Name ;
  1467. [Read : ToSubClass ,
  1468. Write : ToSubClass ,
  1469. Description (
  1470. "The Description property provides comments about the Resource."
  1471. ) ]
  1472. string Description ;
  1473. [Read : ToSubClass ,
  1474. Write : ToSubClass ,
  1475. Description (
  1476. "The DebugPrefix property specifies the path to the debugger "
  1477. "used to debug the resource."
  1478. ) ]
  1479. string DebugPrefix ;
  1480. [Read : ToSubClass ,
  1481. Write : ToSubClass ,
  1482. Description (
  1483. "The IsAlivePollInterval property provides the recommended "
  1484. "interval in milliseconds at which the Cluster Service should "
  1485. "poll the resource to determine if it is operational. If it "
  1486. "sets it to 0xFFFFFFFF, the Cluster Service uses the "
  1487. "IsAlivePollInterval property for the resource type associated "
  1488. "with the resource."
  1489. ),
  1490. Units ("Milliseconds")
  1491. ]
  1492. uint32 IsAlivePollInterval ;
  1493. [Read : ToSubClass ,
  1494. Write : ToSubClass ,
  1495. Description (
  1496. "The LooksAlivePollInterval property provides the recommended "
  1497. "interval in milliseconds at which the Cluster Service should "
  1498. "poll the resource to determine if it appears operational. If it "
  1499. "sets it to 0xFFFFFFFF, the Cluster Service uses the "
  1500. "LooksAlivePollInterval property for the resource type "
  1501. "associated with the resource."
  1502. ),
  1503. Units ("Milliseconds")
  1504. ]
  1505. uint32 LooksAlivePollInterval ;
  1506. [Description ("Reserved for future use.") ]
  1507. uint32 LoadBalAnalysisInterval ;
  1508. [Description ("Reserved for future use.") ]
  1509. uint32 LoadBalMinMemoryUnits;
  1510. [Description ("Reserved for future use.") ]
  1511. uint32 LoadBalMinProcessorUnits;
  1512. [Description ("Reserved for future use.") ]
  1513. uint32 LoadBalSampleInterval ;
  1514. [Description ("Reserved for future use.") ]
  1515. uint32 LoadBalStartupInterval;
  1516. [Read : ToSubClass ,
  1517. Write : ToSubClass ,
  1518. Description (
  1519. "If a resource cannot be brought online or taken offline in "
  1520. "the number of milliseconds specified by the PendingTimeout "
  1521. "property, the resource is forcibly terminated."
  1522. ) ]
  1523. uint32 PendingTimeout ;
  1524. [Read : ToSubClass ,
  1525. Write : ToSubClass ,
  1526. Description (
  1527. "The PersistentState property specifies whether the resource "
  1528. "should be brought online or left offline when the Cluster "
  1529. "Service is started."
  1530. ) ]
  1531. boolean PersistentState ;
  1532. [Read : ToSubClass ,
  1533. Write : ToSubClass ,
  1534. Description (
  1535. "The RestartAction property describes the action to be taken "
  1536. "by the Cluster Service if the resource fails."
  1537. ),
  1538. Values {
  1539. "ClusterResourceDontRestart", "ClusterResourceRestartNoNotify",
  1540. "ClusterResourceRestartNotify"
  1541. } ]
  1542. uint32 RestartAction ;
  1543. [Read : ToSubClass ,
  1544. Write : ToSubClass ,
  1545. Description (
  1546. "The RestartPeriod property defines an interval of time, in "
  1547. "milliseconds, during which a specified number of restart "
  1548. "attempts can be made on a nonresponsive resource."
  1549. ) ]
  1550. uint32 RestartPeriod ;
  1551. [Read : ToSubClass ,
  1552. Write : ToSubClass ,
  1553. Description (
  1554. "The RestartThreshold property specifies the maximum number "
  1555. "of restart attempts that can be made on a resource within an "
  1556. "interval defined by the RestartPeriod property before the "
  1557. "Cluster Service initiates the action specified by the "
  1558. "RestartAction property."
  1559. ) ]
  1560. uint32 RestartThreshold ;
  1561. [Read : ToSubClass ,
  1562. Write : ToSubClass ,
  1563. Description (
  1564. "The RetryPeriodOnFailure property specifies the interval of "
  1565. "time (in milliseconds) that a resource should remain in a "
  1566. "failed state before the Cluster service attempts to restart it."
  1567. ) ]
  1568. uint32 RetryPeriodOnFailure ;
  1569. [Read : ToSubClass ,
  1570. Write : ToSubClass ,
  1571. Description (
  1572. "The SeparateMonitor property indicates whether the resource "
  1573. "requires its own Resource Monitor."
  1574. ) ]
  1575. boolean SeparateMonitor ;
  1576. [Read : ToSubClass ,
  1577. Write : ToSubClass ,
  1578. Description (
  1579. "The Type property specifies the display name for the resource's "
  1580. "type."
  1581. ) ]
  1582. string Type ;
  1583. [Read : ToSubClass ,
  1584. Description ("The current state of the resource.")
  1585. ]
  1586. uint32 State ;
  1587. [Read : ToSubClass ,
  1588. Write : ToSubClass ,
  1589. Description ("The resource class.")
  1590. ]
  1591. uint32 ResourceClass ;
  1592. [Read : ToSubClass ,
  1593. Write : ToSubClass ,
  1594. Description ("The resource sub class.")
  1595. ]
  1596. uint32 Subclass ;
  1597. [Read : ToSubClass ,
  1598. Write : ToSubClass ,
  1599. Description ("Private properties of the resource.")
  1600. ]
  1601. MSCluster_Property PrivateProperties;
  1602. [Read : ToSubClass ,
  1603. Description (
  1604. "List of crypto checkpoints for this resource."
  1605. ) ]
  1606. string CryptoCheckpoints[] ;
  1607. [Read : ToSubClass ,
  1608. Description (
  1609. "List of registry checkpoints for this resource."
  1610. ) ]
  1611. string RegistryCheckpoints[] ;
  1612. [Read : ToSubClass,
  1613. Description("The resource can be selected as the quorum resource for the cluster") ]
  1614. boolean QuorumCapable;
  1615. [Read : ToSubClass,
  1616. Description("The resource can be selected as the quorum resource "
  1617. "in clusters configured using the -localquorum switch.") ]
  1618. boolean LocalQuorumCapable;
  1619. [Read : ToSubClass,
  1620. Description("The resource cannot be deleted unless all nodes are active.") ]
  1621. boolean DeleteRequiresAllNodes;
  1622. [Read : ToSubClass,
  1623. Description("Indicates that the resource is essential to the cluster and cannot be deleted.") ]
  1624. boolean CoreResource;
  1625. //***********
  1626. //* Methods *
  1627. //***********
  1628. [Implemented ,
  1629. Static ,
  1630. Description ("Create a new resource.") : ToSubClass
  1631. ]
  1632. void CreateResource(
  1633. [IN, Description ("The group name to receive the resource.") ]
  1634. string Group ,
  1635. [IN, Description ("The name to assign to the resource.") ]
  1636. string ResourceName ,
  1637. [IN, Description ("The type of resource to create.") ]
  1638. string ResourceType ,
  1639. [IN,
  1640. Description (
  1641. "TRUE if the resource needs a separate resource monitor."
  1642. ) ]
  1643. boolean SeparateMonitor = FALSE
  1644. ) ;
  1645. [Implemented ,
  1646. Static ,
  1647. Description ("Delete the resource.") : ToSubClass
  1648. ]
  1649. void DeleteResource(
  1650. ) ;
  1651. [Implemented : ToSubClass ,
  1652. Description (
  1653. "Move the resource to a different group."
  1654. ) : ToSubClass ]
  1655. void MoveToNewGroup(
  1656. [IN, Description ("The group name to receive the resource.") ]
  1657. string Group
  1658. ) ;
  1659. [Implemented : ToSubClass ,
  1660. Description (
  1661. "Create a dependency relationship between two resources.") : ToSubClass
  1662. ]
  1663. void AddDependency(
  1664. [IN, Description ("The resource that this resource should depend on.") ]
  1665. string Resource
  1666. ) ;
  1667. [Implemented : ToSubClass ,
  1668. Description (
  1669. "Remove a dependency relationship between two resources."
  1670. ) ]
  1671. void RemoveDependency(
  1672. [IN,
  1673. Description (
  1674. "The resource that this resource should no longer depend on."
  1675. ) ]
  1676. string Resource
  1677. ) ;
  1678. [Description ("Take the resource online") : ToSubClass ,
  1679. Implemented : ToSubClass
  1680. ]
  1681. void BringOnline(
  1682. [IN, Description ("How long (in seconds) the method should wait for the resource to come online.") ]
  1683. uint32 TimeOut
  1684. ) ;
  1685. [Description ("Take the resource offline") : ToSubClass ,
  1686. Implemented : ToSubClass
  1687. ]
  1688. void TakeOffline(
  1689. [IN, Description ("How long (in seconds) the method should wait for the resource to come offline.") ]
  1690. uint32 TimeOut
  1691. ) ;
  1692. [Description ("Rename the resource.") : ToSubClass ,
  1693. Implemented : ToSubClass
  1694. ]
  1695. void Rename( [IN] string newName ) ;
  1696. [Description (
  1697. "Force this resource to become unavailable to simulate failure. "
  1698. "Used by applications to test their failover configurations."
  1699. ) : ToSubClass ,
  1700. Implemented : ToSubClass
  1701. ]
  1702. void FailResource() ;
  1703. [Description ("Add a registry checkpoint to this resource."
  1704. ) : ToSubClass ,
  1705. Implemented : ToSubClass
  1706. ]
  1707. void AddRegistryCheckpoint( [IN] string CheckpointName ) ;
  1708. [Description ("Add a registry checkpoint to this resource."
  1709. ) : ToSubClass ,
  1710. Implemented : ToSubClass
  1711. ]
  1712. void RemoveRegistryCheckpoint( [IN] string CheckpointName ) ;
  1713. [Description ("Add an encrypted checkpoint to this resource."
  1714. ) : ToSubClass ,
  1715. Implemented : ToSubClass
  1716. ]
  1717. void AddCryptoCheckpoint( [IN] string CheckpointName ) ;
  1718. [Description ("Add an encrypted checkpoint to this resource."
  1719. ) : ToSubClass ,
  1720. Implemented : ToSubClass
  1721. ]
  1722. void RemoveCryptoCheckpoint( [IN] string CheckpointName ) ;
  1723. }; //*** class MSCluster_Resource
  1724. // ===================================================================
  1725. // MSCluster_ResourceType
  1726. // ===================================================================
  1727. [Dynamic ,
  1728. Locale (0x409) ,
  1729. Provider ("MS_CLUSTER_PROVIDER"),
  1730. UUID ("{2F2EF49D-37DD-47c2-8328-6586142B8C99}")
  1731. ]
  1732. class MSCluster_ResourceType : MSCluster_LogicalElement
  1733. {
  1734. [Key ,
  1735. Read : ToSubClass ,
  1736. Description (
  1737. "The Name property provides the name of the ResourceType."
  1738. ) ]
  1739. string Name ;
  1740. [Read : ToSubClass ,
  1741. Write : ToSubClass ,
  1742. Description (
  1743. "The DisplayName property is a friendly name for the ResourceType"
  1744. "presented in the UI."
  1745. ) ]
  1746. string DisplayName ;
  1747. [Read : ToSubClass ,
  1748. Write : ToSubClass ,
  1749. Description (
  1750. "The Description property provides comments about the ResourceType."
  1751. ) ]
  1752. string Description ;
  1753. [Read : ToSubClass ,
  1754. Write : ToSubClass ,
  1755. Description (
  1756. "The AdminExtensions property provides the class identifiers (CLSIDs) "
  1757. "for the Cluster Administrator extension DLLs that are associated with "
  1758. "the resource type."
  1759. ) ]
  1760. string AdminExtensions[] ;
  1761. [Read : ToSubClass ,
  1762. Description (
  1763. "The DllName property provides the name of the dynamic-link library (DLL)"
  1764. " for the resource type."
  1765. ) ]
  1766. string DllName ;
  1767. [Read : ToSubClass ,
  1768. Write : ToSubClass ,
  1769. Description (
  1770. "The IsAlivePollInterval property provides the recommended interval in "
  1771. "milliseconds at which the Cluster Service should poll the resource to "
  1772. "determine if it is operational."
  1773. ) ]
  1774. uint32 IsAlivePollInterval ;
  1775. [Read : ToSubClass ,
  1776. Write : ToSubClass ,
  1777. Description (
  1778. "The LooksAlivePollInterval property provides the recommended interval "
  1779. "in milliseconds at which the Cluster Service should poll the resource "
  1780. "to determine if it appears operational."
  1781. ) ]
  1782. uint32 LooksAlivePollInterval ;
  1783. [Read : ToSubClass,
  1784. Description("The resource can be selected as the quorum resource for the cluster") ]
  1785. boolean QuorumCapable;
  1786. [Read : ToSubClass,
  1787. Description("The resource can be selected as the quorum resource "
  1788. "in clusters configured using the -localquorum switch.") ]
  1789. boolean LocalQuorumCapable;
  1790. [Read : ToSubClass,
  1791. Description("The resource cannot be deleted unless all nodes are active.") ]
  1792. boolean DeleteRequiresAllNodes;
  1793. //***********
  1794. //* Methods *
  1795. //***********
  1796. [Implemented ,
  1797. Static ,
  1798. Description ("Create a new resource type.")
  1799. ]
  1800. void CreateResourceType(
  1801. [IN, Description ("Name of the resource type.") ]
  1802. string Name ,
  1803. [IN, Description ("Display name of the resource type.") ]
  1804. string DisplayName ,
  1805. [IN, Description ("Fully qualified name of the resource DLL for the resource type.") ]
  1806. string DLLName ,
  1807. [IN, Description ("Default millisecond value to be used as the poll interval needed by the new resource type's LooksAlive function.") ]
  1808. uint32 LooksAlivePollInterval ,
  1809. [IN, Description ("Default millisecond value to be used as the poll interval needed by the new resource type's IsAlive function.") ]
  1810. uint32 IsAlivePollInterval
  1811. ) ;
  1812. [Implemented ,
  1813. Static ,
  1814. Description ("Delete a resource type.")
  1815. ]
  1816. void DeleteResourceType(
  1817. ) ;
  1818. }; //*** class MSCluster_ResourceType
  1819. // ===================================================================
  1820. // MSCluster_NetworkInterface
  1821. // ===================================================================
  1822. [Dynamic ,
  1823. Locale (0x409) ,
  1824. Provider ("MS_CLUSTER_PROVIDER"),
  1825. UUID ("{3DE393F8-8FD5-4426-901D-8EE017003A61}")
  1826. ]
  1827. class MSCluster_NetworkInterface : CIM_LogicalDevice
  1828. {
  1829. [Read : ToSubClass ,
  1830. Description (
  1831. "The Name property provides the Clustering Service-generated "
  1832. "name for the network interface."
  1833. ) ]
  1834. string Name ;
  1835. [Read : ToSubClass , Write: ToSubClass, Description (
  1836. "The Description property provides comments about the network "
  1837. "interface."
  1838. ) ]
  1839. string Description ;
  1840. [Read : ToSubClass ,
  1841. Description (
  1842. "The Adapter property provides the name that is used to uniquely "
  1843. "identify the network interface in the cluster."
  1844. ) ]
  1845. string Adapter ;
  1846. [Read : ToSubClass ,
  1847. Description (
  1848. "The Address property provides the primary network address that "
  1849. "the node uses for the network interface."
  1850. ) ]
  1851. string Address ;
  1852. [Read : ToSubClass ,
  1853. Description (
  1854. "The Network property provides the name of the network to which "
  1855. "the networkinterface is connected."
  1856. ) ]
  1857. string Network ;
  1858. [Read : ToSubClass ,
  1859. Description ("The current state of the network interface")
  1860. ]
  1861. uint32 State ;
  1862. [Read : ToSubClass ,
  1863. Write : ToSubClass
  1864. ]
  1865. uint32 Flags ;
  1866. [Read : ToSubClass ,
  1867. Write : ToSubClass
  1868. ]
  1869. uint32 Characteristics ;
  1870. }; //*** class MSCluster_NetworkInterface
  1871. // ===================================================================
  1872. // MSCluster_ClusterToResourceGroup
  1873. // ===================================================================
  1874. [Dynamic ,
  1875. Provider ("MS_CLUSTER_PROVIDER"),
  1876. Locale (0x409) ,
  1877. UUID ("{191A06A0-4B96-4914-ABD6-6F7E5F73A191}")
  1878. ]
  1879. class MSCluster_ClusterToResourceGroup : CIM_Component
  1880. {
  1881. [Override ("GroupComponent") : ToSubClass ,
  1882. Read : ToSubClass ,
  1883. Min (1) : ToSubClass ,
  1884. Max (1) : ToSubClass ,
  1885. Description ("The cluster.") : ToSubClass
  1886. ]
  1887. MSCluster_Cluster REF GroupComponent ;
  1888. [Override ("PartComponent") : ToSubClass ,
  1889. Read : ToSubClass ,
  1890. Description ("The group managed by cluster.") : ToSubClass
  1891. ]
  1892. MSCluster_ResourceGroup REF PartComponent ;
  1893. }; //*** class MSCluster_ClusterToResourceGroup
  1894. // ===================================================================
  1895. // MSCluster_ClusterToResource
  1896. // ===================================================================
  1897. [Dynamic ,
  1898. Provider ("MS_CLUSTER_PROVIDER") ,
  1899. Description ("Cluster consists of resources." ) : ToSubClass ,
  1900. Locale (0x409) ,
  1901. UUID ("{89AC25D0-9706-481e-98E0-7DCD7AD8BDD4}")
  1902. ]
  1903. class MSCluster_ClusterToResource : CIM_Component
  1904. {
  1905. [Override ("GroupComponent") : ToSubClass ,
  1906. Read : ToSubClass,
  1907. Min (1) : ToSubClass ,
  1908. Max (1) : ToSubClass ,
  1909. Description ("The cluster." ) : ToSubClass
  1910. ]
  1911. MSCluster_Cluster REF GroupComponent ;
  1912. [Override ("PartComponent") : ToSubClass ,
  1913. Read : ToSubClass ,
  1914. Description ("The resource managed by the cluster.") : ToSubClass
  1915. ]
  1916. MSCluster_Resource REF PartComponent ;
  1917. }; //*** class MSCluster_ClusterToResource
  1918. // ===================================================================
  1919. // MSCluster_ClusterToResourceType
  1920. // ===================================================================
  1921. [Dynamic ,
  1922. Provider ("MS_CLUSTER_PROVIDER") ,
  1923. Description (
  1924. "Type of resource that supported by the cluster."
  1925. ) : ToSubClass ,
  1926. Locale (0x409) ,
  1927. UUID ("{1059D8CA-76CF-46dc-A14B-B7BB546270AD}")
  1928. ]
  1929. class MSCluster_ClusterToResourceType : CIM_Component
  1930. {
  1931. [Override ("GroupComponent") : ToSubClass ,
  1932. Read : ToSubClass ,
  1933. Min (1) : ToSubClass ,
  1934. Max (1) : ToSubClass ,
  1935. Description ("The cluster." ) : ToSubClass
  1936. ]
  1937. MSCluster_Cluster REF GroupComponent ;
  1938. [Override ("PartComponent") : ToSubClass ,
  1939. Read : ToSubClass ,
  1940. Description ("The resourceType supported by cluster.") : ToSubClass
  1941. ]
  1942. MSCluster_ResourceType REF PartComponent ;
  1943. }; //*** class MSCluster_ClusterToResourceType
  1944. // ===================================================================
  1945. // MSCluster_ResourceToPossibleOwner
  1946. // ===================================================================
  1947. [Dynamic ,
  1948. Provider ("MS_CLUSTER_PROVIDER") ,
  1949. Description ("A resource can have possible owner nodes. "
  1950. "List of the resources and their possible owner nodes."
  1951. ) : ToSubClass ,
  1952. Locale (0x409) ,
  1953. UUID ("{f57d5a56-c22a-45c5-a335-c790ee0b7122}")
  1954. ]
  1955. class MSCluster_ResourceToPossibleOwner : CIM_Component
  1956. {
  1957. [Override ("GroupComponent") : ToSubClass ,
  1958. Read : ToSubClass ,
  1959. Min (1) : ToSubClass ,
  1960. Max (1) : ToSubClass ,
  1961. Description ("The resource." ) : ToSubClass
  1962. ]
  1963. MSCluster_Resource REF GroupComponent ;
  1964. [Override ("PartComponent") : ToSubClass ,
  1965. Read : ToSubClass ,
  1966. Description ("The possible owner of this resource.") : ToSubClass
  1967. ]
  1968. MSCluster_Node REF PartComponent ;
  1969. }; //*** class MSCluster_ResourceToPossibleOwner
  1970. // ===================================================================
  1971. // MSCluster_ResourceGroupToPreferredNode
  1972. // ===================================================================
  1973. [Dynamic ,
  1974. Provider ("MS_CLUSTER_PROVIDER") ,
  1975. Description ("A resource group can have a preferred nodes list. "
  1976. "List of the resource groups and their preferred nodes list."
  1977. ) : ToSubClass ,
  1978. Locale (0x409) ,
  1979. UUID ("{3e1e37d2-ad0d-47b8-a802-b94b7e25aa21}")
  1980. ]
  1981. class MSCluster_ResourceGroupToPreferredNode : CIM_Component
  1982. {
  1983. [Override ("GroupComponent") : ToSubClass ,
  1984. Read : ToSubClass ,
  1985. Min (1) : ToSubClass ,
  1986. Max (1) : ToSubClass ,
  1987. Description ("The resource group." ) : ToSubClass
  1988. ]
  1989. MSCluster_ResourceGroup REF GroupComponent ;
  1990. [Override ("PartComponent") : ToSubClass ,
  1991. Read : ToSubClass ,
  1992. Description ("The preferred node for the resource group.") : ToSubClass
  1993. ]
  1994. MSCluster_Node REF PartComponent ;
  1995. }; //*** class MSCluster_ResourceGroupToPreferredNode
  1996. // ===================================================================
  1997. // MSCluster_ClusterToNetwork
  1998. // ===================================================================
  1999. [Dynamic ,
  2000. Provider ("MS_CLUSTER_PROVIDER") ,
  2001. Description ("Cluster uses network for communication." ) : ToSubClass ,
  2002. Locale (0x409) ,
  2003. UUID ("{F3CAB1DD-2F7D-484b-AD54-54187C0A8351}")
  2004. ]
  2005. class MSCluster_ClusterToNetwork : CIM_Component
  2006. {
  2007. [Override ("GroupComponent") : ToSubClass ,
  2008. Read : ToSubClass ,
  2009. Min (1) : ToSubClass ,
  2010. Max (1) : ToSubClass ,
  2011. Description ("The cluster." ) : ToSubClass
  2012. ]
  2013. MSCluster_Cluster REF GroupComponent ;
  2014. [Override ("PartComponent"): ToSubClass ,
  2015. Read : ToSubClass ,
  2016. Description ("The network used cluster for communication.") : ToSubClass
  2017. ]
  2018. MSCluster_Network REF PartComponent ;
  2019. }; //*** class MSCluster_ClusterToNetwork
  2020. // ===================================================================
  2021. // MSCluster_ClusterToNetworkInterface
  2022. // ===================================================================
  2023. [Dynamic ,
  2024. Provider ("MS_CLUSTER_PROVIDER") ,
  2025. Description (
  2026. "Cluster has many network interfaces installed on nodes it manages."
  2027. ) : ToSubClass ,
  2028. Locale (0x409) ,
  2029. UUID ("{CB737284-A6D8-4d46-92F0-20992869A84E}")
  2030. ]
  2031. class MSCluster_ClusterToNetworkInterface : CIM_Component
  2032. {
  2033. [Override ("GroupComponent") : ToSubClass ,
  2034. Read : ToSubClass ,
  2035. Min (1) : ToSubClass ,
  2036. Max (1) : ToSubClass ,
  2037. Description ("The cluster.") : ToSubClass
  2038. ]
  2039. MSCluster_Cluster REF GroupComponent ;
  2040. [Override ("PartComponent") : ToSubClass ,
  2041. Read : ToSubClass ,
  2042. Description ("The network interfaces.") : ToSubClass
  2043. ]
  2044. MSCluster_NetworkInterface REF PartComponent ;
  2045. }; //*** class MSCluster_ClusterToNetworkInterface
  2046. // ===================================================================
  2047. // MSCluster_NetworkToNetworkInterface
  2048. // ===================================================================
  2049. [Dynamic ,
  2050. Provider ("MS_CLUSTER_PROVIDER") ,
  2051. Description (
  2052. "Network interfaces connected to a network."
  2053. ) : ToSubClass ,
  2054. Locale (0x409) ,
  2055. UUID ("{099B1BE4-D4BD-4b56-9815-AA90234B03C6}")
  2056. ]
  2057. class MSCluster_NetworkToNetworkInterface : CIM_Component
  2058. {
  2059. [Override ("GroupComponent") : ToSubClass ,
  2060. Read : ToSubClass ,
  2061. Min (1) : ToSubClass ,
  2062. Max (1) : ToSubClass ,
  2063. Description ("The network.") : ToSubClass
  2064. ]
  2065. MSCluster_Network REF GroupComponent ;
  2066. [Override ("PartComponent") : ToSubClass ,
  2067. Read : ToSubClass ,
  2068. Description ("The network interfaces.") : ToSubClass
  2069. ]
  2070. MSCluster_NetworkInterface REF PartComponent ;
  2071. }; //*** class MSCluster_NetworkToNetworkInterface
  2072. // ===================================================================
  2073. // MSCluster_NodeToActiveGroup
  2074. // ===================================================================
  2075. [Dynamic ,
  2076. Provider ("MS_CLUSTER_PROVIDER") ,
  2077. Description ("Groups active on a node.") : ToSubClass ,
  2078. Locale (0x409) ,
  2079. UUID ("{AE76778B-B9C4-4765-9E61-7A3DC17F919C}")
  2080. ]
  2081. class MSCluster_NodeToActiveGroup : CIM_Component
  2082. {
  2083. [Override ("GroupComponent") : ToSubClass ,
  2084. Read : ToSubClass ,
  2085. Min (1) : ToSubClass ,
  2086. Description ("The node.") : ToSubClass
  2087. ]
  2088. MSCluster_Node REF GroupComponent ;
  2089. [Override ("PartComponent") : ToSubClass ,
  2090. Read : ToSubClass ,
  2091. Description ("The group that is active on the node.") : ToSubClass
  2092. ]
  2093. MSCluster_ResourceGroup REF PartComponent ;
  2094. }; //*** class MSCluster_NodeToActiveGroup
  2095. // ===================================================================
  2096. // MSCluster_NodeToActiveResource
  2097. // ===================================================================
  2098. [Dynamic ,
  2099. Provider ("MS_CLUSTER_PROVIDER") ,
  2100. Description ("Resources active on a node.") : ToSubClass ,
  2101. Locale (0x409) ,
  2102. UUID ("{4D440386-1CC3-4dca-AFB2-DB74A60A3891}")
  2103. ]
  2104. class MSCluster_NodeToActiveResource : CIM_Component
  2105. {
  2106. [Override ("GroupComponent") : ToSubClass ,
  2107. Read : ToSubClass ,
  2108. Min (1) : ToSubClass ,
  2109. Max (1) : ToSubClass ,
  2110. Description ("The node.") : ToSubClass
  2111. ]
  2112. MSCluster_Node REF GroupComponent ;
  2113. [Override ("PartComponent") : ToSubClass ,
  2114. Read : ToSubClass ,
  2115. Description ("The resource that is active on the node.") : ToSubClass
  2116. ]
  2117. MSCluster_Resource REF PartComponent ;
  2118. }; //*** class MSCluster_NodeToActiveResource
  2119. // ===================================================================
  2120. // MSCluster_NodeToNetworkInterface
  2121. // ===================================================================
  2122. [Dynamic ,
  2123. Provider ("MS_CLUSTER_PROVIDER") ,
  2124. Description ("Network interfaces connected to a node.") : ToSubClass ,
  2125. Locale (0x409) ,
  2126. UUID ("{82459303-B1E9-4ddf-970F-25B17AD2A01B}")
  2127. ]
  2128. class MSCluster_NodeToNetworkInterface : CIM_SystemDevice
  2129. {
  2130. [Override ("GroupComponent") : ToSubClass ,
  2131. Read : ToSubClass ,
  2132. Min (1) : ToSubClass ,
  2133. Max (1) : ToSubClass ,
  2134. Description ("The node.") : ToSubClass
  2135. ]
  2136. MSCluster_Node REF GroupComponent ;
  2137. [Override ("PartComponent") : ToSubClass ,
  2138. Read : ToSubClass ,
  2139. Description ("The group that is active on the node.") : ToSubClass
  2140. ]
  2141. MSCluster_NetworkInterface REF PartComponent ;
  2142. }; //*** class MSCluster_NodeToNetworkInterface
  2143. // ===================================================================
  2144. // MSCluster_ResourceGroupToResource
  2145. // ===================================================================
  2146. [Dynamic ,
  2147. Provider ("MS_CLUSTER_PROVIDER") ,
  2148. Description ("Resources in a group.") : ToSubClass ,
  2149. Locale (0x409) ,
  2150. UUID ("{38DD5882-2610-4ba1-B24E-1CD955B7A6BF}")
  2151. ]
  2152. class MSCluster_ResourceGroupToResource : CIM_Component
  2153. {
  2154. [Override ("GroupComponent") : ToSubClass ,
  2155. Read : ToSubClass ,
  2156. Min (1) : ToSubClass ,
  2157. Max (1) : ToSubClass ,
  2158. Description ("The group.") : ToSubClass
  2159. ]
  2160. MSCluster_ResourceGroup REF GroupComponent ;
  2161. [Override ("PartComponent") : ToSubClass ,
  2162. Read : ToSubClass ,
  2163. Description ("The resources within the group.") : ToSubClass
  2164. ]
  2165. MSCluster_Resource REF PartComponent ;
  2166. }; //*** class MSCluster_ResourceGroupToResource
  2167. // ===================================================================
  2168. // MSCluster_ResourceTypeToResource
  2169. // ===================================================================
  2170. [Dynamic ,
  2171. Provider ("MS_CLUSTER_PROVIDER") ,
  2172. Description ("Resources of a particular type.") : ToSubClass ,
  2173. Locale (0x409) ,
  2174. UUID ("{94F4F3DB-C193-42f1-B6AE-1C74817CD894}")
  2175. ]
  2176. class MSCluster_ResourceTypeToResource : CIM_Component
  2177. {
  2178. [Override ("GroupComponent") : ToSubClass ,
  2179. Read : ToSubClass ,
  2180. Description ("The resource type.") : ToSubClass
  2181. ]
  2182. MSCluster_ResourceType REF GroupComponent ;
  2183. [Override ("PartComponent") : ToSubClass ,
  2184. Read : ToSubClass ,
  2185. Min (1) : ToSubClass ,
  2186. Max (1) : ToSubClass ,
  2187. Description ("The resource.") : ToSubClass
  2188. ]
  2189. MSCluster_Resource REF PartComponent ;
  2190. }; //*** class MSCluster_ResourceTypeToResource
  2191. // ===================================================================
  2192. // MSCluster_ClusterToQuorumResource
  2193. // ===================================================================
  2194. [Dynamic ,
  2195. Provider ("MS_CLUSTER_PROVIDER") ,
  2196. Description ("A cluster has a quorum resource.") : ToSubClass ,
  2197. Locale (0x409) ,
  2198. UUID ("{FF92D220-3079-44d9-A32B-BEB000E05F77}")
  2199. ]
  2200. class MSCluster_ClusterToQuorumResource : CIM_Component
  2201. {
  2202. [Override ("GroupComponent") : ToSubClass ,
  2203. Read : ToSubClass ,
  2204. Min (1) : ToSubClass ,
  2205. Max (1) : ToSubClass ,
  2206. Description ("The cluster.") : ToSubClass
  2207. ]
  2208. MSCluster_Cluster REF GroupComponent ;
  2209. [Override ("PartComponent") : ToSubClass,
  2210. Read : ToSubClass ,
  2211. Min (1) : ToSubClass ,
  2212. Max (1) : ToSubClass ,
  2213. Description ("The quorum resource.") : ToSubClass
  2214. ]
  2215. MSCluster_Resource REF PartComponent ;
  2216. }; //*** class MSCluster_ClusterToQuorumResource
  2217. // ===================================================================
  2218. // MSCluster_ResourceToDependentResource
  2219. // ===================================================================
  2220. [Dynamic , Provider ("MS_CLUSTER_PROVIDER") ,
  2221. Description ("Dependencies of a resource.") : ToSubClass ,
  2222. Locale (0x409) ,
  2223. UUID ("{C09C3AB9-E97C-46d8-921F-4B3EA2A7C457}")
  2224. ]
  2225. class MSCluster_ResourceToDependentResource : CIM_Dependency
  2226. {
  2227. [Override ("Antecedent") : ToSubClass ,
  2228. Read : ToSubClass ,
  2229. Description ("The Resouce.") : ToSubClass
  2230. ]
  2231. MSCluster_Resource REF Antecedent ;
  2232. [Override ("Dependent") : ToSubClass ,
  2233. Read : ToSubClass ,
  2234. Description ("The resource to be depended on.") : ToSubClass
  2235. ]
  2236. MSCluster_Resource REF Dependent ;
  2237. }; //*** class MSCluster_ResourceToDependentResource
  2238. // ===================================================================
  2239. // MSCluster_ClusterToNode
  2240. // ===================================================================
  2241. [Dynamic ,
  2242. Provider ("MS_CLUSTER_PROVIDER"),
  2243. Locale (0x409) ,
  2244. UUID ("{1DA51F43-8562-4093-9C3A-D9CBB35CF6D2}")
  2245. ]
  2246. class MSCluster_ClusterToNode : CIM_ParticipatingCS
  2247. {
  2248. [Override ("Antecedent") : ToSubClass ,
  2249. Read : ToSubClass ,
  2250. Min (1) : ToSubClass ,
  2251. Max (1) : ToSubClass ,
  2252. Description ("The cluster." ) : ToSubClass
  2253. ]
  2254. MSCluster_Cluster REF Antecedent ;
  2255. [Override ("Dependent"): ToSubClass ,
  2256. Read : ToSubClass ,
  2257. Description ("Node managed by cluster.") : ToSubClass
  2258. ]
  2259. MSCluster_Node REF Dependent ;
  2260. }; //*** class MSCluster_ClusterToNode
  2261. // ===================================================================
  2262. // MSCluster_NodeToHostedService
  2263. // ===================================================================
  2264. [Dynamic ,
  2265. Provider ("MS_CLUSTER_PROVIDER"),
  2266. Locale (0x409) ,
  2267. UUID ("{B3C77CEF-67E7-4112-A757-CB072D44EBA3}")
  2268. ]
  2269. class MSCluster_NodeToHostedService : CIM_HostedService
  2270. {
  2271. [Override ("Antecedent") : ToSubClass ,
  2272. Read : ToSubClass ,
  2273. Description ("The node hosting the service.") : ToSubClass
  2274. ]
  2275. MSCluster_Node REF Antecedent ;
  2276. [Override ("Dependent") : ToSubClass ,
  2277. Read : ToSubClass ,
  2278. Description ("The hosted service.") : ToSubClass
  2279. ]
  2280. MSCluster_Service REF Dependent ;
  2281. }; //*** class MSCluster_NodeToHostedService
  2282. // ===================================================================
  2283. // MSCluster_Event
  2284. // ===================================================================
  2285. [Dynamic ,
  2286. Provider ("MS_CLUSTER_PROVIDER"),
  2287. Locale (0x409) ,
  2288. UUID ("{01D7A9DE-B876-4bb6-ABDB-26B67C52D221}")
  2289. ]
  2290. class MSCluster_Event : __ExtrinsicEvent
  2291. {
  2292. [Description (
  2293. "Major event category. Reserved for future use."
  2294. ) : ToInstance ToSubClass
  2295. ]
  2296. uint32 EventTypeMajor ;
  2297. [Description ("Subtype within major category. For EventTypeMajor=0, "
  2298. "This contains the Cluster Event mask value as returned by "
  2299. "GetClusterNotify."
  2300. ) : ToInstance ToSubClass
  2301. ]
  2302. uint32 EventTypeMinor ;
  2303. [Description (
  2304. "Name of object to which this event applies."
  2305. ) : ToInstance ToSubClass
  2306. ]
  2307. string EventObjectName ;
  2308. [Description (
  2309. "Type of object to which this event applies."
  2310. ) : ToInstance ToSubClass
  2311. ]
  2312. uint32 EventObjectType ;
  2313. [Description(
  2314. "WMI Path of object to which this event applies."
  2315. ) : ToInstance ToSubClass
  2316. ]
  2317. string EventObjectPath ;
  2318. }; //*** class MSCluster_Event
  2319. // ===================================================================
  2320. // MSCluster_EventObjectAdd
  2321. // ===================================================================
  2322. [Dynamic ,
  2323. Provider ("MS_CLUSTER_PROVIDER"),
  2324. Locale (0x409) ,
  2325. UUID ("{EDECEF0B-A3C7-4edd-BD75-1CF37F5547B8}")
  2326. ]
  2327. class MSCluster_EventObjectAdd : MSCluster_Event
  2328. {
  2329. [Description (
  2330. "RESERVED FOR FUTURE USE: XML-encoded property names and values "
  2331. "for added or changed properties"
  2332. ) : ToInstance ToSubClass
  2333. ]
  2334. string EventProperty ;
  2335. }; //*** class MSCluster_EventObjectAdd
  2336. // ===================================================================
  2337. // MSCluster_EventObjectRemove
  2338. // ===================================================================
  2339. [Dynamic ,
  2340. Provider ("MS_CLUSTER_PROVIDER"),
  2341. Locale (0x409) ,
  2342. UUID ("{F12EA54A-75FE-43c9-ACE4-5745D1CA0552}")
  2343. ]
  2344. class MSCluster_EventObjectRemove : MSCluster_Event
  2345. {
  2346. }; //*** class MSCluster_EventObjectRemove
  2347. // ===================================================================
  2348. // MSCluster_EventPropertyChange
  2349. // ===================================================================
  2350. [Dynamic ,
  2351. Provider ("MS_CLUSTER_PROVIDER"),
  2352. Locale (0x409) ,
  2353. UUID ("{4CB6135C-E55D-46fe-8AE4-51E24AF901BD}")
  2354. ]
  2355. class MSCluster_EventPropertyChange : MSCluster_Event
  2356. {
  2357. [Description (
  2358. "RESERVED FOR FUTURE USE: XML-encoded property names and values "
  2359. "for added or changed properties"
  2360. ) : ToInstance ToSubClass
  2361. ]
  2362. string EventProperty ;
  2363. }; //*** class MSCluster_EventPropertyChange
  2364. // ===================================================================
  2365. // MSCluster_EventStateChange
  2366. // ===================================================================
  2367. [Dynamic ,
  2368. Provider ("MS_CLUSTER_PROVIDER"),
  2369. Locale (0x409) ,
  2370. UUID ("{F68489E2-0301-4594-B25D-613637ECBA1A}")
  2371. ]
  2372. class MSCluster_EventStateChange : MSCluster_Event
  2373. {
  2374. [Description (
  2375. "Current state of object reporting this state change. "
  2376. "The value returned is one of the state constants for the "
  2377. "cluster object identified by EventObjectType, found in "
  2378. "clusapi.h as returned by the relevant GetClusterXXXState "
  2379. "APIs."
  2380. ) ]
  2381. uint32 EventNewState ;
  2382. }; //*** class MSCluster_EventStateChange
  2383. // ===================================================================
  2384. // MSCluster_EventGroupStateChange
  2385. // ===================================================================
  2386. [Dynamic ,
  2387. Provider ("MS_CLUSTER_PROVIDER"),
  2388. Locale (0x409) ,
  2389. UUID ("{D264369A-3133-45eb-AE1D-65B1B641AEAF}")
  2390. ]
  2391. class MSCluster_EventGroupStateChange : MSCluster_EventStateChange
  2392. {
  2393. [Description ("Current node hosting this group") ]
  2394. string EventNode ;
  2395. }; //*** class MSCluster_EventGroupStateChange
  2396. // ===================================================================
  2397. // MSCluster_EventResourceStateChange
  2398. // ===================================================================
  2399. [Dynamic ,
  2400. Provider ("MS_CLUSTER_PROVIDER"),
  2401. Locale (0x409) ,
  2402. UUID ("{F1163D38-0E12-49ed-B0AF-09C683F89243}")
  2403. ]
  2404. class MSCluster_EventResourceStateChange : MSCluster_EventStateChange
  2405. {
  2406. [Description ("Current node hosting this resource") ]
  2407. string EventNode ;
  2408. [Description ("Current group containing this resource") ]
  2409. string EventGroup ;
  2410. }; //*** class MSCluster_EventResourceStateChange
  2411. instance of __InstanceProviderRegistration
  2412. {
  2413. Provider = $InstanceProv ;
  2414. SupportsGet = "TRUE" ;
  2415. SupportsPut = "TRUE" ;
  2416. SupportsDelete = "TRUE" ;
  2417. SupportsEnumeration = "TRUE" ;
  2418. QuerySupportLevels = NULL ;
  2419. };
  2420. instance of __MethodProviderRegistration
  2421. {
  2422. Provider = $InstanceProv ;
  2423. };
  2424. instance of __EventProviderRegistration
  2425. {
  2426. Provider = $EventProv ;
  2427. EventQueryList = { "select * from MSCluster_Event" } ;
  2428. };
  2429. instance of __ClassProviderRegistration
  2430. {
  2431. Provider = $ClassProv ;
  2432. InteractionType = 1 ; // Provider is a push provider
  2433. SupportsGet = "TRUE" ;
  2434. SupportsEnumeration = "TRUE" ;
  2435. ResultSetQueries = { "select * from MSCluster_Resource" } ;
  2436. };