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.
2119 lines
85 KiB
2119 lines
85 KiB
/*
|
|
Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved
|
|
|
|
Schema Name:
|
|
|
|
MicrosoftNLB
|
|
|
|
Abstract:
|
|
|
|
Network Load Balancing MOF Specification.
|
|
|
|
Created by drbeck.
|
|
*/
|
|
|
|
|
|
#pragma autorecover
|
|
#pragma classflags ("forceupdate")
|
|
#pragma namespace ("\\\\.\\Root")
|
|
|
|
instance of __NameSpace
|
|
{
|
|
Name = "MicrosoftNLB" ;
|
|
} ;
|
|
|
|
#pragma namespace ( "\\\\.\\Root\\MicrosoftNLB" )
|
|
|
|
instance of __Win32Provider as $P
|
|
{
|
|
Name = "Microsoft|NLB_Provider|V1.0";
|
|
ClsId = "{FB223274-D72E-11d2-A420-00C04F68FE28}";
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = "FALSE";
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
SupportsGet = "TRUE";
|
|
SupportsPut = "TRUE";
|
|
SupportsDelete = "TRUE";
|
|
SupportsEnumeration = "TRUE";
|
|
};
|
|
|
|
instance of __MethodProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
};
|
|
|
|
/*
|
|
This following subset of definitions from wmi.mof(path in build : %windir%\system32\wbem,
|
|
path in source code control : nt\admin\wmi\wbem\Providers\MOFs\wmi.mof) are necessary to publish
|
|
NLB events under the root\microsoftnlb namespace. They were originally in nlbwmi.mof. They had to
|
|
be removed from nlbwmi.mof due to the following reason:
|
|
nlbwmi.mof is compiled into a binary mof file (nlbwmi.bmf) and included as a resource into
|
|
the driver wlbs.sys. Having these definitions in the binary mof file caused failures
|
|
due to Windows.NET server WMI bug:
|
|
"707426: WDM Provider removes the classes in wrong namespace when 2 drivers have same classes in diff. namespace"
|
|
The above bug was not fixed. So, we had to work around it removing these definitions
|
|
from nlbwmi.mof. Marius Sutara (WMI Dev) advised us of this work around and filed bug
|
|
"713031: BINARY MOF: unneccessary registrations present in mof file may cause unspecified failures"
|
|
so that we may check-in this work around.
|
|
|
|
*/
|
|
/******** BEGINNING OF KERNEL MODE NLB WMI EVENT SPECIFIC DEFINITIONS ************/
|
|
|
|
Instance of __Win32Provider as $P1
|
|
{
|
|
Name = "WMIProv";
|
|
ClsId = "{D2D588B5-D081-11d0-99E0-00C04FC2F8EC}";
|
|
ClientLoadableCLSID = "{35B78F79-B973-48c8-A045-CAEC732A35D5}";
|
|
PerUserInitialization = "TRUE";
|
|
UnloadTimeOut = "00000000000500.000000:000";
|
|
HostingModel = "LocalSystemHost";
|
|
};
|
|
|
|
Instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $P1;
|
|
SupportsGet = "TRUE";
|
|
SupportsPut = "TRUE";
|
|
SupportsEnumeration = "TRUE";
|
|
SupportsDelete = "FALSE";
|
|
};
|
|
|
|
Instance of __MethodProviderRegistration
|
|
{
|
|
Provider = $P1;
|
|
};
|
|
|
|
Instance of __Win32Provider as $P2
|
|
{
|
|
Name = "WMIEventProv";
|
|
ClsId = "{0725C3CB-FEFB-11d0-99F9-00C04FC2F8EC}";
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = "TRUE";
|
|
HostingModel = "LocalSystemHost";
|
|
};
|
|
|
|
[Locale(1033)]
|
|
class WMIEvent : __ExtrinsicEvent
|
|
{
|
|
};
|
|
|
|
Instance of __EventProviderRegistration
|
|
{
|
|
Provider = $P2;
|
|
EventQueryList = {"select * from WMIEvent"};
|
|
};
|
|
|
|
/******** END OF KERNEL MODE NLB WMI EVENT SPECIFIC DEFINITIONS ************/
|
|
|
|
// =============================================================================
|
|
// CIM_ManagedSystemElement
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "The CIM_ManagedSystemElement class is the base class for the "
|
|
"system element hierarchy. Membership criteria: Any "
|
|
"distinguishable component of a system is a candidate for "
|
|
"inclusion in this class. \nExamples: software components, such "
|
|
"as files; and devices, such as disk drives and controllers, "
|
|
"and physical components such as chips and cards." ) : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class CIM_ManagedSystemElement
|
|
{
|
|
[ MaxLen (64),
|
|
Description ( "The Caption property is a short textual description "
|
|
"(one-line string) of the object." ) : Amended
|
|
]
|
|
string Caption;
|
|
|
|
[ Description ( "The Description property provides a textual description of "
|
|
"the object. ") : Amended
|
|
]
|
|
string Description;
|
|
|
|
[ Description ( "The InstallDate property is a datetime value indicating when "
|
|
"the object was installed. A lack of a value does not indicate "
|
|
"that the object is not installed." ) : Amended,
|
|
MappingStrings {"MIF.DMTF|ComponentID|001.5"}
|
|
]
|
|
datetime InstallDate;
|
|
|
|
[ MaxLen (256),
|
|
Description ( "The Name property defines the label by which the object is "
|
|
"known. When subclassed, the Name property can be overridden "
|
|
"to be a Key property." ) : Amended
|
|
]
|
|
string Name;
|
|
|
|
[ MaxLen (10),
|
|
Description ( "The Status property is a string indicating the current status "
|
|
"of the object. Various operational and non-operational "
|
|
"statuses can be defined. Operational statuses are \"OK\", "
|
|
"\"Degraded\" and \"Pred Fail\". \"Pred Fail\" indicates that "
|
|
"an element may be functioning properly but predicting a "
|
|
"failure in the near future. An example is a SMART-enabled "
|
|
"hard drive. Non-operational statuses can also be specified. "
|
|
"These are \"Error\", \"Starting\", \"Stopping\" and "
|
|
"\"Service\". The latter, \"Service\", could apply during "
|
|
"mirror-resilvering of a disk, reload of a user permissions "
|
|
"list, or other administrative work. Not all such work is "
|
|
"on-line, yet the managed element is neither \"OK\" nor in "
|
|
"one of the other states.") : Amended ToSubclass,
|
|
ValueMap { "OK", "Error", "Degraded", "Unknown", "Pred Fail",
|
|
"Starting", "Stopping", "Service" } : Amended
|
|
]
|
|
string Status;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_LogicalElement
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "The CIM_LogicalElement class is the base class for all the "
|
|
"components of the system that represent abstract system "
|
|
"components.\nExample: profiles, processes, or system "
|
|
"capabilities in the form of logical devices.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class CIM_LogicalElement : CIM_ManagedSystemElement
|
|
{
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Configuration
|
|
// =============================================================================
|
|
[ Description ( "The Configuration object allows the grouping of sets of "
|
|
"parameters (defined in CIM_Setting objects) and dependencies "
|
|
"for one or more managed system elements. The Configuration "
|
|
"object represents a certain behavior, or a desired functional "
|
|
"state for the managed system elements. The desired functional "
|
|
"state is typically driven by external requirements such as "
|
|
"time or location. For example, to connect to a mail system from "
|
|
"'home', a dependency on a modem exists, but a dependency on a "
|
|
"network adapter exists at 'work'. Settings for the pertinent "
|
|
"logical devices (in this example, POTS modem and network "
|
|
"adapter) can be defined and aggregated by CIM_Configuration. "
|
|
"Therefore, two 'Connect to Mail' configurations may be defined "
|
|
"grouping the relevant dependencies and CIM_Setting objects." )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Configuration
|
|
{
|
|
[ Key,
|
|
MaxLen (256),
|
|
Description ( "The label by which the CIM_Configuration object is known.")
|
|
: Amended
|
|
]
|
|
string Name;
|
|
|
|
[ MaxLen (64),
|
|
Description ( "A short textual description (one-line string) of the "
|
|
"CIM_Configuration object") : Amended
|
|
]
|
|
string Caption;
|
|
|
|
[ Description ("A textual description of the CIM_Configuration object.") : Amended
|
|
]
|
|
string Description;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ElementConfiguration
|
|
// =============================================================================
|
|
[ Association,
|
|
Description ( "This association relates a CIM_Configuration object to one "
|
|
"or more managed system elements. The CIM_Configuration object "
|
|
"represents a certain behavior, or a desired functional state "
|
|
"for the associated managed system elements.")
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ElementConfiguration
|
|
{
|
|
[ Description ("The managed system element") : Amended
|
|
]
|
|
CIM_ManagedSystemElement REF Element;
|
|
|
|
[Description ( "The CIM_Configuration object that groups the settings and "
|
|
"dependencies associated with the managed system element")
|
|
: Amended
|
|
]
|
|
CIM_Configuration REF Configuration;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Setting
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "The CIM_Setting class represents configuration-related and "
|
|
"operational parameters for one or more managed system"
|
|
"element(s). A managed system element may have multiple setting "
|
|
"objects associated with it. The current operational values "
|
|
"for an element's parameters are reflected by properties in "
|
|
"the element itself or by properties in its associations. "
|
|
"These properties do not have to be the same values present "
|
|
"in the CIM_Setting object. For example, a modem may have a "
|
|
"setting baud rate of 56Kb/sec but be operating "
|
|
"at 19.2Kb/sec." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Setting
|
|
{
|
|
[ MaxLen (256),
|
|
Description ( "The identifier by which the CIM_Setting object is known.")
|
|
: Amended
|
|
]
|
|
string SettingID;
|
|
|
|
[ MaxLen (64),
|
|
Description ( "A short textual description (one-line string) of the "
|
|
"CIM_Setting object." ) : Amended
|
|
]
|
|
string Caption;
|
|
|
|
[ Description ( "A textual description of the CIM_Setting object.") : Amended
|
|
]
|
|
string Description;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ElementSetting
|
|
// =============================================================================
|
|
[ Association,
|
|
Description ( "CIM_ElementSetting represents the association between managed"
|
|
"system elements and the setting class(es) defined for them." )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ElementSetting
|
|
{
|
|
[ Description ("The CIM_ManagedSystemElement reference represents the role "
|
|
"of the CIM_ManagedSystemElement object of the "
|
|
"CIM_ElementSetting association. Role: The associated managed "
|
|
"system element provides the element that implements the "
|
|
"element setting.") : Amended,
|
|
Min (1)
|
|
]
|
|
CIM_ManagedSystemElement REF Element;
|
|
|
|
[ Description ( "The CIM_Setting reference represents the role of the "
|
|
"CIM_Setting object of the CIM_ElementSetting association. "
|
|
"Role: The associated setting provides the setting that "
|
|
"implements the element setting.") : Amended
|
|
]
|
|
CIM_Setting REF Setting;
|
|
};
|
|
|
|
// ===================================================================
|
|
// CIM_SettingContext
|
|
// ===================================================================
|
|
[ Association,
|
|
Aggregation,
|
|
Description ( "This relationship associates a setting with one or "
|
|
"more configuration objects. For example, a network "
|
|
"adapter's settings could change based on the site/network "
|
|
"to which its hosting computer system is attached.")
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_SettingContext
|
|
{
|
|
[ Aggregate,
|
|
Description ( "The configuration object that aggregates the setting")
|
|
: Amended
|
|
]
|
|
CIM_Configuration REF Context;
|
|
|
|
[ Description ("An aggregated setting.") : Amended
|
|
]
|
|
CIM_Setting REF Setting;
|
|
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_System
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "A logical element that aggregates an enumerable set of "
|
|
"managed system elements. The aggregation operates as an "
|
|
"functional whole. Within any particular subclass of CIM_System, "
|
|
"there is a well-defined list of CIM_ManagedSystemElement "
|
|
"classes whose instances must be aggregated." )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_System : CIM_LogicalElement
|
|
{
|
|
[ CIM_Key,
|
|
MaxLen (256),
|
|
Description ( "The CreationClassName property indicates the name of the "
|
|
"class or the subclass used in the creation of an instance. "
|
|
"When used with the other key properties of this class, this "
|
|
"property allows all instances of this class and its "
|
|
"subclasses to be uniquely identified.") : Amended
|
|
]
|
|
string CreationClassName;
|
|
|
|
[ Override ("Name"),
|
|
Key,
|
|
MaxLen (256),
|
|
Description ( "The inherited Name property serves as key of a CIM_System "
|
|
"instance in an enterprise environment.") : Amended
|
|
]
|
|
string Name;
|
|
|
|
[ MaxLen (64),
|
|
Description ( "The CIM_System object and its derivatives are top level "
|
|
"objects of CIM. They provide the scope for numerous "
|
|
"components. Having unique system keys is required. A "
|
|
"heuristic can be defined in individual system subclasses "
|
|
"to attempt to always generate the same system name key. "
|
|
"The NameFormat property identifies how the system name "
|
|
"was generated, using the subclass' heuristic.") : Amended
|
|
]
|
|
string NameFormat;
|
|
|
|
[ MaxLen (256),
|
|
Description ( "A string that provides information on how the primary "
|
|
"system owner can be reached (e.g. phone number, email "
|
|
"address, ...)." ) : Amended,
|
|
MappingStrings {"MIF.DMTF|General Information|001.3"}
|
|
]
|
|
string PrimaryOwnerContact;
|
|
|
|
[ MaxLen (64),
|
|
Description ( "The name of the primary system owner.") : Amended,
|
|
MappingStrings { "MIF.DMTF|General Information|001.4" }
|
|
]
|
|
string PrimaryOwnerName;
|
|
|
|
[ Description ( "A collection of strings that specify the roles this "
|
|
"system plays in the IT-environment.") : Amended
|
|
]
|
|
string Roles[];
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ComputerSystem
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "A class derived from CIM_System that is a special collection "
|
|
"of CIM_ManagedSystemElement instances. This collection "
|
|
"provides compute capabilities and serves as aggregation point "
|
|
"to associate one or more of the following elements: file "
|
|
"system, operating system, processor and memory (volatile "
|
|
"and/or non-volatile storage).") : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ComputerSystem : CIM_System
|
|
{
|
|
[ Override ("NameFormat"),
|
|
Description ( "The CIM_ComputerSystem object and its derivatives are Top "
|
|
"Level Objects of CIM. They provide the scope for numerous "
|
|
"components. Having unique CIM_System keys is required. A "
|
|
"heuristic is defined to create the CIM_ComputerSystem name "
|
|
"to attempt to always generate the same name, independent "
|
|
"of discovery protocol. This prevents inventory and management "
|
|
"problems where the same asset or entity is discovered multiple "
|
|
"times, but can not be resolved to a single object. Use of "
|
|
"the heuristic is optional, but recommended. \n\n The "
|
|
"NameFormat property identifies how the computer system name "
|
|
"is generated, using a heuristic. The heuristic is outlined, "
|
|
"in detail, in the CIM V2 Common Model specification. It "
|
|
"assumes that the documented rules are traversed in order, "
|
|
"to determine and assign a name. The NameFormat values list "
|
|
"defines the precedence order for assigning the computer system "
|
|
"name. Several rules do map to the same Value. \n\n Note that "
|
|
"the CIM_ComputerSystem Name calculated using the heuristic "
|
|
"is the system's key value. Other names can be assigned and "
|
|
"used for the CIM_ComputerSystem, that better suit the "
|
|
"business, using Aliases." ) : Amended,
|
|
ValueMap { "Other", "IP", "Dial", "HID", "NWA", "HWA", "X25",
|
|
"ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI"}
|
|
]
|
|
string NameFormat;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Service
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "A logical element that contains the information necessary to "
|
|
"represent and manage the functionality provided by a device "
|
|
"and/or software feature. A service is a general-purpose object "
|
|
"to configure and manage the implementation of functionality. It "
|
|
"is not the functionality itself." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Service : CIM_LogicalElement
|
|
{
|
|
[ CIM_Key,
|
|
MaxLen (256),
|
|
Description ( "CreationClassName indicates the name of the class or the "
|
|
"subclass used in the creation of an instance. When used "
|
|
"with the other key properties of this class, this property "
|
|
"allows all instances of this class and its subclasses to be "
|
|
"uniquely identified.") : Amended
|
|
]
|
|
string CreationClassName;
|
|
|
|
[ Override ("Name"),
|
|
Key,
|
|
MaxLen (256),
|
|
Description ( "The Name property uniquely identifies the service and "
|
|
"provides an indication of the functionality that is managed. "
|
|
"This functionality is described in more detail in the "
|
|
"object's Description property.") : Amended
|
|
]
|
|
string Name;
|
|
|
|
[ MaxLen (10),
|
|
Description ( "StartMode is a string value indicating whether the service "
|
|
"is automatically started by a operating system, or only "
|
|
"started upon request." ) : Amended,
|
|
ValueMap {"Automatic", "Manual"} : Amended
|
|
]
|
|
string StartMode;
|
|
|
|
[ Description ( "Started is a boolean indicating whether the service has "
|
|
"been started (TRUE), or stopped (FALSE)." ) : Amended
|
|
]
|
|
boolean Started;
|
|
|
|
[ Propagated ("CIM_System.CreationClassName"),
|
|
CIM_Key,
|
|
MaxLen (256),
|
|
Description ( "The scoping System's CreationClassName. ") : Amended
|
|
]
|
|
string SystemCreationClassName;
|
|
|
|
[ Propagated ("CIM_System.Name"),
|
|
Key,
|
|
MaxLen (256),
|
|
Description ("The name of the system that hosts this service") : Amended
|
|
]
|
|
string SystemName;
|
|
|
|
[ Description ( "The StartService method places the service in the started "
|
|
"state. It returns an integer value of 0 if the service was "
|
|
"successfully started, 1 if the request is not supported and "
|
|
"any other number to indicate an error." ) : Amended
|
|
]
|
|
uint32 StartService();
|
|
|
|
[ Description ( "The StopService method places the service in the stopped "
|
|
"state. It returns an integer value of 0 if the service was "
|
|
"successfully stopped, 1 if the request is not supported and "
|
|
"any other number to indicate an error.") : Amended
|
|
]
|
|
uint32 StopService();
|
|
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Dependency
|
|
// =============================================================================
|
|
[ Association,
|
|
Abstract,
|
|
Description ( "A generic association to establish dependency relationships "
|
|
"between objects") : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Dependency
|
|
{
|
|
[ Description ( "Antecedent represents the independent object in this "
|
|
"association.") : Amended
|
|
]
|
|
CIM_ManagedSystemElement REF Antecedent;
|
|
|
|
[ Description ( "Dependent represents the object dependent on the Antecedent.")
|
|
: Amended
|
|
]
|
|
CIM_ManagedSystemElement REF Dependent;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_HostedService
|
|
// =============================================================================
|
|
[ Association,
|
|
Description ( "CIM_HostedService is an association between a service and the "
|
|
"system on which the functionality resides. The cardinality of "
|
|
"this association is 1-to-many. A system may host many "
|
|
"services. services are weak with respect to their hosting "
|
|
"system. Heuristic: A service is hosted on the system where "
|
|
"the logical devices or software features that implement the "
|
|
"service are located. The model does not represent services "
|
|
"hosted across multiple systems. This is modeled as an "
|
|
"application system that acts as an aggregation point for "
|
|
"services, that are each located on a single host." )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_HostedService:CIM_Dependency
|
|
{
|
|
[ Override ("Antecedent"),
|
|
Max (1),
|
|
Min (1),
|
|
Description ( "The hosting system" ) : Amended
|
|
]
|
|
CIM_System REF Antecedent;
|
|
|
|
[ Override ("Dependent"),
|
|
Weak,
|
|
Description ("The service hosted on the system") : Amended
|
|
]
|
|
CIM_Service REF Dependent;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ServiceServiceDependency
|
|
// =============================================================================
|
|
[ Association,
|
|
Description ( "CIM_ServiceServiceDependency is an association between a "
|
|
"service and another service, indicating that the latter is "
|
|
"required to be present, required to have completed, or must "
|
|
"be absent for the former service to provide its functionality. "
|
|
"For example, boot services may be dependent upon underlying "
|
|
"BIOS Disk and initialization services. In the case of the "
|
|
"initialization services, the boot service is simply dependent "
|
|
"on the init services completing. For the disk services, boot "
|
|
"services may actually utilize the SAPs of this service. "
|
|
"This usage dependency is modeled via the "
|
|
"CIM_ServiceSAPDependency association." )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ServiceServiceDependency:CIM_Dependency
|
|
{
|
|
[ Override ("Antecedent"),
|
|
Description ("The required service.") : Amended
|
|
]
|
|
CIM_Service REF Antecedent;
|
|
|
|
[ Override ("Dependent"),
|
|
Description ( "The service that is dependent on an underlying service.") : Amended
|
|
]
|
|
CIM_Service REF Dependent;
|
|
|
|
[ Description ( "The nature of the service to service dependency. This "
|
|
"property describes that the associated service must have "
|
|
"completed (value=2), must be started (3) or must not be "
|
|
"started (4) in order for the service to function.")
|
|
: Amended ToSubclass,
|
|
Values { "Unknown", "Other", "Service Must Have Completed",
|
|
"Service Must Be Started", "Service Must Not Be Started" } : Amended
|
|
]
|
|
uint16 TypeOfDependency;
|
|
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Component
|
|
// =============================================================================
|
|
[ Association,
|
|
Abstract,
|
|
Aggregation: ToSubClass,
|
|
Description ( "A generic association to establish 'part of' relationships "
|
|
"between managed system elements." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Component
|
|
{
|
|
[ Aggregate: ToSubClass,
|
|
Description ( "The parent element in the association.") : Amended
|
|
]
|
|
CIM_ManagedSystemElement REF GroupComponent;
|
|
|
|
[ Description ("The child element in the association.") : Amended
|
|
]
|
|
CIM_ManagedSystemElement REF PartComponent;
|
|
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_UnitaryComputerSystem
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "A class derived from CIM_ComputerSystem that represents a "
|
|
"desktop, mobile, network PC, server or other type of a "
|
|
"single node computer system." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_UnitaryComputerSystem : CIM_ComputerSystem
|
|
{
|
|
[ Description ( "This object contains the data needed to find either the "
|
|
"initial load device (its key) or the boot service to "
|
|
"request the operating system to start up." ) : Amended
|
|
]
|
|
string InitialLoadInfo[];
|
|
|
|
[ Description ( "The array entry of the InitialLoadInfo property, that "
|
|
"holds the data corresponding to booting the currently "
|
|
"loaded operating system." ) : Amended,
|
|
MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice",
|
|
"MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters" }
|
|
]
|
|
string LastLoadInfo;
|
|
|
|
[ Description ( "If enabled (value = 4), the unitary computer system can "
|
|
"be reset via hardware (e.g. the power and reset buttons). "
|
|
"If disabled (value = 3), hardware reset is not allowed. In "
|
|
"addition to Enabled and Disabled, other values for the "
|
|
"property are also defined - \"Not Implemented\" (5), "
|
|
"\"Other\" (1) and \"Unknown\" (2)." ) : Amended,
|
|
ValueMap { "1", "2", "3", "4", "5" },
|
|
Values { "Other", "Unknown", "Disabled", "Enabled", "Not Implemented" }
|
|
: Amended ToSubclass,
|
|
MappingStrings { "MIF.DMTF|System Hardware Security|001.4" }
|
|
]
|
|
uint16 ResetCapability;
|
|
|
|
[ Description ( "Boolean indicating that the computer system, with "
|
|
"its running operating system, support power management. "
|
|
"This boolean does not indicate that power management "
|
|
"features are currently enabled, only that the system is "
|
|
"capable of power management." ) : Amended
|
|
]
|
|
boolean PowerManagementSupported;
|
|
|
|
[ Description( "Indicates the specific power-related capabilities of a "
|
|
"computer system and its associated running operating "
|
|
"system. The values, 0=\"Unknown\", 1=\"Not Supported\", "
|
|
"and 2=\"Disabled\" are self-explanatory. The value, "
|
|
"3=\"Enabled\" indicates that the power management "
|
|
"features are currently enabled but the exact feature "
|
|
"set is unknown or the information is unavailable. "
|
|
"\"Power Saving Modes Entered Automatically\" (4) "
|
|
"describes that a system can change its power state "
|
|
"based on usage or other criteria. \"Power State "
|
|
"Settable\" (5) indicates that the SetPowerState method "
|
|
"is supported. \"Power Cycling Supported\" (6) indicates "
|
|
"that the SetPowerState method can be invoked with the "
|
|
"PowerState parameter set to 5 (\"Power Cycle\"). "
|
|
"\"Timed Power On Supported\" (7) indicates that the "
|
|
"SetPowerState method can be invoked with the "
|
|
"PowerState parameter set to 5 (\"Power Cycle\") and "
|
|
"the Time parameter set to a specific date and time, "
|
|
"or interval, for power-on." ) : Amended,
|
|
Values { "Unknown", "Not Supported", "Disabled", "Enabled",
|
|
"Power Saving Modes Entered Automatically",
|
|
"Power State Settable", "Power Cycling Supported",
|
|
"Timed Power On Supported" } : Amended,
|
|
MappingStrings {"MIF.DMTF|System Power Controls|001.2"}
|
|
]
|
|
uint16 PowerManagementCapabilities[];
|
|
|
|
[ Description( "Indicates the current power state of the computer "
|
|
"system and its associated operating system. Regarding "
|
|
"the power saving states, these are defined as follows: "
|
|
"Value 4 (Unknown) indicates that the system is known "
|
|
"to be in a power save mode, but its exact status in "
|
|
"this mode is unknown; 2 (Low Power Mode) indicates "
|
|
"that the system is in a power save state but still "
|
|
"functioning, and may exhibit degraded performance; "
|
|
"3 (Standby) describes that the system is not functioning "
|
|
"but could be brought to full power 'quickly'; and value "
|
|
"7 (Warning) indicates that the computerSystem is in a "
|
|
"warning state, though also in a power save mode." ) : Amended,
|
|
Values { "Unknown", "Full Power", "Power Save - Low Power Mode",
|
|
"Power Save - Standby", "Power Save - Unknown", "Power Cycle",
|
|
"Power Off", "Power Save - Warning" } : Amended
|
|
]
|
|
uint16 PowerState;
|
|
|
|
[ Description( "SetPowerState method defines the desired power state of "
|
|
"a computer system and its running operating system, and "
|
|
"when the system should be put into that state. The "
|
|
"PowerState parameter is specified as one of the valid "
|
|
"integer values defined for the property, PowerState. "
|
|
"The Time parameter (for all state changes but 5, "
|
|
"\"Power Cycle\") indicates when the power state should "
|
|
"be set, either as a regular date-time value or as an "
|
|
"interval value (where the interval begins when the "
|
|
"method invocation is received). When the PowerState "
|
|
"parameter is equal to 5, \"Power Cycle\", the Time "
|
|
"parameter indicates when the system should power on "
|
|
"again. power off is immediate. SetPowerState should "
|
|
"return 0 if successful, 1 if the specified power state "
|
|
"and time requests are not supported, and some other "
|
|
"value if any other error occurred." ) : Amended
|
|
]
|
|
uint32 SetPowerState([IN] uint16 PowerState, [IN] datetime Time);
|
|
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_Cluster
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "A class derived from CIM_ComputerSystem that 'is made up of' two "
|
|
"or more computer systems which operate together as an atomic, "
|
|
"functional whole to increase the performance, resources and/or "
|
|
"RAS (Reliability, Availability and Serviceability) of the "
|
|
"component computer systems, related to some aspects of these "
|
|
"computer systems." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_Cluster : CIM_ComputerSystem
|
|
{
|
|
[ Description ( "Interconnect is a free form string that describes the "
|
|
"interconnection mechanism for the cluster." ) : Amended
|
|
]
|
|
string Interconnect;
|
|
|
|
[ Description ( "InterconnectAddress indicates the address of the cluster "
|
|
"system, which is dependent on the interconnection scheme. "
|
|
"If no address is available or applicable, a null string "
|
|
"should be used." ) : Amended
|
|
]
|
|
string InterconnectAddress;
|
|
|
|
[ Description ( "This displays the cluster types. This specifies whether "
|
|
"the cluster is for failover (value=2), performance (3), "
|
|
"etc. The values which can be specified are not mutually "
|
|
"exclusive. Thus, Types isan array." ) : Amended,
|
|
Values { "Unknown", "Other", "Failover", "Performance",
|
|
"Distributed OS", "Node Grouping" } : Amended
|
|
]
|
|
uint16 Types[];
|
|
|
|
[Description ( "Indicates the maximum number of nodes that may participate in "
|
|
"the cluster. If unlimited, enter 0." ) : Amended
|
|
]
|
|
uint32 MaxNumberOfNodes;
|
|
|
|
[ Description ( "Indicates the state of the cluster. The cluster can be "
|
|
"defined to be on-line (value=2), off-line (3), in a degraded "
|
|
"mode of operation (4) or unavailable (5)." ) : Amended,
|
|
Values { "Unknown", "Other", "On-line", "Off-line",
|
|
"Degraded", "Unavailable" } : Amended
|
|
]
|
|
uint16 ClusterState;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ParticipatingCS
|
|
// =============================================================================
|
|
[ Association,
|
|
Abstract,
|
|
Description ( "A CIM_Cluster is composed of two or more computer system's, "
|
|
"operating together. A computer system may participate in "
|
|
"multiple clusters. \n\n"
|
|
"When first establishing or bringing up a cluster, only one "
|
|
"computer system may be defined as participating in it. "
|
|
"Therefore, the cardinality of the association for "
|
|
"the CIM_ComputerSystem reference is Min(1). " )
|
|
: Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ParticipatingCS : CIM_Dependency
|
|
{
|
|
[ Override ("Antecedent"),
|
|
Description ( "The ComputerSystem which participates in the Cluster. ") : Amended,
|
|
Min (1)
|
|
]
|
|
CIM_ComputerSystem REF Antecedent;
|
|
|
|
[ Override ("Dependent"),
|
|
Description ("The cluster") : Amended
|
|
]
|
|
CIM_Cluster REF Dependent;
|
|
|
|
[ Description ( "StateOfNode indicates the condition of the participating "
|
|
"computer system in the cluster. For example, one value is "
|
|
"\"Joining\" (2)." ) : Amended,
|
|
Values { "Unknown", "Other", "Joining", "Paused", "Available",
|
|
"Unavailable", "Degraded" } : Amended
|
|
]
|
|
uint16 StateOfNode;
|
|
|
|
[ Description ( "RoleOfNode indicates whether the cluster nodes are "
|
|
"peers (value = 3), connected in a master-slave/primary-"
|
|
"secondary relationship (values = 4 for primary, 5 for "
|
|
"secondary), available in a standby configuration (6) or "
|
|
"of some other (1) or unknown (2) relationship." ) : Amended,
|
|
Values { "Unknown", "Other", "Peer", "Primary", "Secondary", "Standby" } : Amended
|
|
]
|
|
uint16 RoleOfNode;
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_ClusteringService
|
|
// =============================================================================
|
|
[ Abstract,
|
|
Description ( "CIM_ClusteringService represents the functionality provided by a "
|
|
"cluster. For example, failover functionality may be modeled as "
|
|
"a service of a failover cluster." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_ClusteringService : CIM_Service
|
|
{
|
|
[ Description ( "AddNode brings a new computer system into a cluster. "
|
|
"The node to be added is specified as a parameter to the "
|
|
"method. The return value should be 0 if the computer "
|
|
"system is successfully added, 1 if the method is not "
|
|
"supported and any other number if an error occurred." )
|
|
: Amended
|
|
]
|
|
uint32 AddNode ( [IN] CIM_ComputerSystem ref CS );
|
|
|
|
[ Description ( "EvictNode removes a computer system from a cluster. "
|
|
"The node to be evicted is specified as a parameter to the "
|
|
"method. The return value should be 0 if the computer system "
|
|
"is successfully evicted, 1 if the method is not supported "
|
|
"and any other number if an error occurred." ) : Amended
|
|
]
|
|
uint32 EvictNode ( [IN] CIM_ComputerSystem ref CS );
|
|
};
|
|
|
|
// =============================================================================
|
|
// CIM_HostedClusterService
|
|
// =============================================================================
|
|
[ Association,
|
|
Description ( "CIM_HostedClusterService defines the hosting cluster for a "
|
|
"clustering service. Since this relationship is subclassed "
|
|
"from CIM_HostedService, it inherits the scoping/naming scheme "
|
|
"defined for CIM_Service - where a service is weak to its "
|
|
"hosting system. In this case, a clustering service must be "
|
|
"weak to its hosting cluster system." ) : Amended, LOCALE(0x409)
|
|
]
|
|
class CIM_HostedClusterService : CIM_HostedService
|
|
{
|
|
[ Override ("Antecedent"),
|
|
Description ("The cluster") : Amended
|
|
]
|
|
CIM_Cluster REF Antecedent;
|
|
|
|
[ Override ("Dependent"),
|
|
Description ( "The CIM_ClusteringService that is hosted on the cluster." ) : Amended
|
|
]
|
|
CIM_ClusteringService REF Dependent;
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_Cluster
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description( "This represents an instance of the NLB cluster. Only nodes that "
|
|
"have remote control enabled contribute to the ClusterState as "
|
|
"reported in this class and respond to the methods invoked from "
|
|
"this class.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_Cluster : CIM_Cluster
|
|
{
|
|
[ Read,
|
|
Override ("Name"),
|
|
MaxLen (256),
|
|
Description ( "The cluster IP address is used in this property to uniquely "
|
|
"identify the cluster.") : Amended
|
|
]
|
|
string Name;
|
|
|
|
[ Override("InterconnectAddress"),
|
|
Read,
|
|
Description ( "InterconnectAddress displays the IP address of the cluster." )
|
|
: Amended
|
|
]
|
|
string InterconnectAddress;
|
|
|
|
[ Override ("ClusterState"),
|
|
Read,
|
|
Description ( "Indicates the current state of the entire cluster. Only "
|
|
"nodes that have remote control enabled report their status. "
|
|
"The value represents the summary of the state from all "
|
|
"cluster nodes. In addition to the values indicated in the "
|
|
"Values qualifier, this property may take on a value from 1 to 32 "
|
|
"that signifies the number of converged remote-control-enabled "
|
|
"nodes within the cluster." ) : Amended,
|
|
Values { "WLBS_SUSPENDED", "WLBS_STOPPED", "WLBS_DRAINING", "WLBS_CONVERGING"}
|
|
: ToInstance,
|
|
ValueMap { "1013", "1005", "1009", "1006"}
|
|
: ToInstance
|
|
]
|
|
uint16 ClusterState;
|
|
|
|
//Methods
|
|
|
|
[
|
|
Implemented,
|
|
Description( "Disable all traffic handling on all remoted-control-enabled "
|
|
"nodes, for the rule containing the specified port. Port "
|
|
"may take any value from 0 to 65,535 or 0xFFFFFFFF to specify "
|
|
"all ports. NumNodes returns the number of nodes that "
|
|
"have responded to the request.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_NOT_FOUND", "WLBS_SUSPENDED" } : ToInstance,
|
|
ValueMap { "1000", "1004", "1013" } : ToInstance
|
|
]
|
|
uint32 Disable( [IN] uint32 Port, [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Enable traffic handling on all remoted-control-enabled nodes, "
|
|
"for the rule containing the specified port on specified nodes. "
|
|
"Port may take any value from 0 to 65,535 or 0xFFFFFFFF to "
|
|
"specify all ports. NumNodes returns the number of nodes that "
|
|
"have responded to the request.")
|
|
: Amended,
|
|
Values { "WLBS_OK", "WLBS_NOT_FOUND", "WLBS_SUSPENDED" } : ToInstance,
|
|
ValueMap { "1000", "1004", "1013" } : ToInstance
|
|
]
|
|
uint32 Enable( [IN] uint32 Port, [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Disable new traffic handling on all remoted-control-enabled "
|
|
"nodes, for the rule containing the specified port on "
|
|
"specified nodes. Port may take any value from 0 to 65,535 "
|
|
"or 0xFFFFFFFF to specify all ports. NumNodes returns the "
|
|
"number of nodes that have responded to the request.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_NOT_FOUND", "WLBS_SUSPENDED" } : ToInstance,
|
|
ValueMap { "1000", "1004", "1013" } : ToInstance
|
|
]
|
|
uint32 Drain( [IN] uint32 Port, [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Enter draining mode on all remoted-control-enabled nodes. "
|
|
"WlbsDrainStop affects all ports. NumNodes returns the "
|
|
"number of nodes that have responded to the request.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_STOPPED", "WLBS_SUSPENDED" } : ToInstance,
|
|
ValueMap { "1000", "1005", "1013" } : ToInstance
|
|
]
|
|
uint32 DrainStop( [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Resume cluster operation control on all remoted-control-enabled "
|
|
"nodes. NumNodes returns the number of nodes respond to the "
|
|
"request.") : Amended,
|
|
Values { "WLBS_OK" } : ToInstance,
|
|
ValueMap { "1000" } : ToInstance
|
|
]
|
|
uint32 Resume( [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Start cluster operations on all remoted-control-enabled "
|
|
"nodes. NumNodes returns the number of nodes that respond "
|
|
"to the request.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_SUSPENDED", "WLBS_BAD_PARAMS" } : ToInstance,
|
|
ValueMap { "1000", "1013", "1003" } : ToInstance
|
|
]
|
|
uint32 Start( [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Stop cluster operations on all remoted-control-enabled nodes.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_SUSPENDED" } : ToInstance,
|
|
ValueMap { "1000", "1013" } : ToInstance
|
|
]
|
|
uint32 Stop( [OUT] uint32 NumNodes );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Suspend cluster operation control on all remoted-control-enabled nodes.") : Amended,
|
|
Values { "WLBS_OK" } : ToInstance,
|
|
ValueMap { "1000" } : ToInstance
|
|
]
|
|
uint32 Suspend( [OUT] uint32 NumNodes );
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_Node
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description( "This represents an instance of a node within a cluster." ) : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_Node : CIM_UnitaryComputerSystem
|
|
{
|
|
|
|
[ Read,
|
|
Override ("Name"),
|
|
Description ( "The ID of the host participating in the cluster. The ID is in "
|
|
"format ClusterIP:HostPriority, i.e. 172.150.35.12:1") : Amended
|
|
]
|
|
string Name;
|
|
|
|
[ Read,
|
|
Description("This property specifies a host's unique priority for handling "
|
|
"default network traffic for TCP and UDP ports that are not "
|
|
"otherwise handled by port rules. It is used in case a host "
|
|
"within the cluster goes offline, and determines which host "
|
|
"within the cluster will take over handling this traffic if "
|
|
"required. The allowed values for host priority range from 1 "
|
|
"to the maximum number of hosts. Lower values indicate higher "
|
|
"priorities (where 1 is the highest priority). Each host "
|
|
"within the cluster must specify a unique host priority.") : Amended
|
|
]
|
|
uint32 HostPriority;
|
|
|
|
[ Read,
|
|
Description("This property specifies this host's unique IP address used "
|
|
"for network traffic not associated with the cluster (for "
|
|
"example, Telnet access to a specific host within the cluster).")
|
|
: Amended
|
|
]
|
|
string DedicatedIPAddress;
|
|
|
|
[ Read,
|
|
Description("The current status of the host.") : Amended,
|
|
Values {
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING",
|
|
"WLBS_CONVERGING",
|
|
"WLBS_CONVERGED",
|
|
"WLBS_DEFAULT"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1013",
|
|
"1005",
|
|
"1009",
|
|
"1006",
|
|
"1007",
|
|
"1008"
|
|
} : ToInstance
|
|
]
|
|
uint32 StatusCode;
|
|
|
|
[ Read,
|
|
Description ( "The full computer name (consisting of the host name and domain name) "
|
|
"of the host participating in the cluster. However, if the full name "
|
|
"exceeds 100 characters, then, only the host name is present. An empty"
|
|
"string will be returned in the case of a failure.") : Amended
|
|
]
|
|
string ComputerName;
|
|
|
|
//Methods
|
|
|
|
[
|
|
Implemented,
|
|
Description( "Disable all traffic handling for the rule containing the "
|
|
"specified port. Port may take any value from 0 to 65,535 or"
|
|
"0xFFFFFFFF to specify all ports.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 Disable( [IN] uint32 Port );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Enable traffic handling for the rule containing "
|
|
"the specified port. Port may take any value from "
|
|
"0 to 65,535 or 0xFFFFFFFF to specify all ports.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 Enable( [IN] uint32 Port );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Disable new traffic handling for rule containing the specified port."
|
|
"Port may take any value from 0 to 65,535 or "
|
|
"0xFFFFFFFF to specify all ports.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 Drain( [IN] uint32 Port );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Disable all traffic handling for rule containing the "
|
|
"specified virtual IP address and port. The values of virtual Ip "
|
|
"address to specify 'All Vip' (aka 'Rest of the VIPs') and "
|
|
"'Every Vip' are '255.255.255.255' and '0.0.0.0' respectively. Port may "
|
|
"take any value from 0 to 65,535 or 0xFFFFFFFF to specify all ports."
|
|
"This method will fail when called on instances of objects that "
|
|
"represent remote nodes.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 DisableEx( [IN] string VirtualIpAddress, [IN] uint32 Port );
|
|
|
|
|
|
[
|
|
Implemented,
|
|
Description("Enable all traffic handling for rule containing the "
|
|
"specified virtual IP address and port. The values of virtual Ip "
|
|
"address to specify 'All Vip' (aka 'Rest of the VIPs') and "
|
|
"'Every Vip' are '255.255.255.255' and '0.0.0.0' respectively. Port may "
|
|
"take any value from 0 to 65,535 or 0xFFFFFFFF to specify all ports."
|
|
"This method will fail when called on instances of objects that "
|
|
"represent remote nodes.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 EnableEx( [IN] string VirtualIpAddress, [IN] uint32 Port );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Disable new traffic handling for rule containing the "
|
|
"specified virtual IP address and port. The values of virtual Ip "
|
|
"address to specify 'All Vip' (aka 'Rest of the VIPs') and "
|
|
"'Every Vip' are '255.255.255.255' and '0.0.0.0' respectively. Port may "
|
|
"take any value from 0 to 65,535 or 0xFFFFFFFF to specify all ports."
|
|
"This method will fail when called on instances of objects that "
|
|
"represent remote nodes.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_NOT_FOUND",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED",
|
|
"WLBS_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1004",
|
|
"1013",
|
|
"1001",
|
|
"1005",
|
|
"1009"
|
|
} : ToInstance
|
|
]
|
|
uint32 DrainEx( [IN] string VirtualIpAddress, [IN] uint32 Port );
|
|
|
|
[
|
|
Implemented,
|
|
Description("Enter draining mode on specified nodes. WlbsDrainStop affects all ports.")
|
|
: Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_STOPPED"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1013",
|
|
"1001",
|
|
"1005"
|
|
} : ToInstance
|
|
]
|
|
uint32 DrainStop();
|
|
|
|
[
|
|
Implemented,
|
|
Description("Resume cluster operation control.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_ALREADY" } : ToInstance,
|
|
ValueMap { "1000", "1001" } : ToInstance
|
|
]
|
|
uint32 Resume();
|
|
|
|
[
|
|
Implemented,
|
|
Description("Start cluster operations.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_DRAIN_STOP",
|
|
"WLBS_BAD_PARAMS"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1013",
|
|
"1001",
|
|
"1002",
|
|
"1003"
|
|
} : ToInstance
|
|
]
|
|
uint32 Start();
|
|
|
|
[
|
|
Implemented,
|
|
Description("Stop cluster operations.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_SUSPENDED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_DRAIN_STOP"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1013",
|
|
"1001",
|
|
"1002"
|
|
} : ToInstance
|
|
]
|
|
uint32 Stop();
|
|
|
|
[
|
|
Implemented,
|
|
Description("Suspend cluster operation control.") : Amended,
|
|
Values {
|
|
"WLBS_OK",
|
|
"WLBS_STOPPED",
|
|
"WLBS_ALREADY",
|
|
"WLBS_DRAIN_STOP"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1000",
|
|
"1005",
|
|
"1001",
|
|
"1002"
|
|
} : ToInstance
|
|
]
|
|
uint32 Suspend();
|
|
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_ClusterSetting
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description("This holds and modifies cluster specific configuration information."
|
|
"The provider will only return the instance for "
|
|
"this class that corresponds to the node upon which it resides."
|
|
"Consequently, to configure a node, the client must explicitly "
|
|
"connect to that node. Modified values do not take affect until "
|
|
"LoadAllSettings is invoked from this class or the "
|
|
"MicrosoftNLB_NodeSetting class.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_ClusterSetting : CIM_Setting
|
|
{
|
|
//Properties
|
|
[
|
|
Key,
|
|
Read,
|
|
|
|
Description("The name of the host to which this setting applies"): ToInstance
|
|
Amended
|
|
]
|
|
string Name;
|
|
|
|
[
|
|
Description("This property specifies a full Internet name for the Network "
|
|
"Load Balancing cluster (for example, cluster.domain.com). This "
|
|
"name is used for the cluster as a whole, and should be the "
|
|
"same for all hosts in the cluster. ") : Amended
|
|
]
|
|
string ClusterName;
|
|
|
|
[
|
|
ModelCorrespondence {"CIM_Cluster.InterconnectAddress"},
|
|
Description("This property specifies the cluster's primary IP address "
|
|
"in standard Internet dotted notation (for example, w.x.y.z).") : Amended
|
|
]
|
|
string ClusterIPAddress;
|
|
|
|
[
|
|
Description("This property denotes the subnet mask.") : Amended
|
|
]
|
|
string ClusterNetworkMask;
|
|
|
|
[
|
|
Read,
|
|
Description("This property denotes the cluster MAC address.") : Amended
|
|
]
|
|
string ClusterMACAddress;
|
|
|
|
[
|
|
Description("This property specifies whether or not a multicast MAC "
|
|
"address should be used for cluster operations. If this "
|
|
"option is enabled, Network Load Balancing converts the "
|
|
"cluster MAC address belonging to the cluster adapter into "
|
|
"a multicast address. It also ensures that the cluster's "
|
|
"primary IP address resolves to this multicast address as "
|
|
"part of the ARP protocol. At the same time, the adapter "
|
|
"can now use its original, built-in MAC address, which, "
|
|
"in unicast mode, was disabled. ") : Amended
|
|
]
|
|
Boolean MulticastSupportEnabled;
|
|
|
|
[
|
|
Description("This property specifies whether remote-control operations "
|
|
"are enabled. When disabled, the Service methods will not function"
|
|
"for remote HostIDs. Remote control is disabled by default.") : Amended
|
|
]
|
|
Boolean RemoteControlEnabled;
|
|
|
|
[
|
|
Description("If set to TRUE, send IGMP join periodically.") : Amended
|
|
]
|
|
Boolean IgmpSupport;
|
|
|
|
[
|
|
Description("If set to TRUE, generate IGMP multicast IP from cluster IP.") : Amended
|
|
]
|
|
Boolean ClusterIPToMulticastIP;
|
|
|
|
[
|
|
Description("The cluster's multicast IP address for IGMP.") : Amended
|
|
]
|
|
string MulticastIPAddress;
|
|
|
|
[ Read,
|
|
Description("This is the GUID of the adapter NLB is bound to.") : Amended
|
|
]
|
|
string AdapterGuid;
|
|
|
|
[
|
|
Description("This property specifies if the cluster that this "
|
|
"network adapter is a part of, is operating in the"
|
|
"Bi-Directional Affinity mode.") : Amended
|
|
]
|
|
Boolean BDATeamActive;
|
|
|
|
[
|
|
Description("This property specifies the Bi-Directional Affinity "
|
|
"team identifier of the cluster that this network "
|
|
"adapter is a part of. The value of this property "
|
|
"must be a GUID") : Amended
|
|
]
|
|
string BDATeamId;
|
|
|
|
[
|
|
Description("This property specifies if the cluster that this "
|
|
"network adapter is a part of, is the Master cluster.") : Amended
|
|
]
|
|
Boolean BDATeamMaster;
|
|
|
|
[
|
|
Description("This property specifies whether to reverse hash "
|
|
"on the cluster that this network adapter is a part of.") : Amended
|
|
]
|
|
Boolean BDAReverseHash;
|
|
|
|
[
|
|
Description("This property specifies whether identity heartbeats are "
|
|
"transmitted. It is on by default.") : Amended
|
|
]
|
|
Boolean IdentityHeartbeatEnabled;
|
|
|
|
//Methods
|
|
[
|
|
Implemented,
|
|
Description("Sets the remote control password. Before calling "
|
|
"this method, it is highly recommended that the "
|
|
"authentication level be set to RPC_C_AUTHN_LEVEL_PKT_PRIVACY "
|
|
"in the call to CoSetProxyBlanket() or CoInitializeSecurity(). "
|
|
"This is so that the password string is encrypted during "
|
|
"its transfer from the client machine to the server machine, thus "
|
|
"mitigating the threat of disclosure.") : Amended
|
|
]
|
|
void SetPassword( [IN] string Password );
|
|
|
|
//Methods
|
|
[
|
|
Implemented,
|
|
Description("This method causes the NLB driver to load with all the values "
|
|
"that are set in ALL of the the setting classes, including the "
|
|
"MicrosoftNLB_NodeSetting and the port rule classes. If the system "
|
|
"is Windows NT4, then the method will return a reboot value.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_REBOOT" } : ToInstance,
|
|
ValueMap { "1000", "1050" } : ToInstance
|
|
]
|
|
uint32 LoadAllSettings();
|
|
|
|
[
|
|
Implemented,
|
|
Description("This method resets all of the properties for this class to "
|
|
"their default values. The values are not commited to the NLB "
|
|
"driver.") : Amended
|
|
]
|
|
void SetDefaults();
|
|
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_NodeSetting
|
|
// *****************************************************************************
|
|
[ Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description("This holds and modifies node specific configuration information."
|
|
"The provider will only return the instance for "
|
|
"this class that corresponds to the node upon which it resides."
|
|
"Consequently, to configure a node, the client must explicitly "
|
|
"connect to that node. Modified values do not take affect until "
|
|
"LoadAllSettings is invoked from this class or the "
|
|
"MicrosoftNLB_ClusterSetting class.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_NodeSetting : CIM_Setting
|
|
{
|
|
//Properties
|
|
[ Key,
|
|
Read,
|
|
Description("The name of the host to which this setting applies"): ToInstance
|
|
Amended
|
|
]
|
|
string Name;
|
|
|
|
[ ModelCorrespondence {"MicrosoftNLB_Node.DedicatedIPAddress"},
|
|
Description("This property specifies this host's unique IP address used "
|
|
"for network traffic not associated with the cluster (for "
|
|
"example, Telnet access to a specific host within the cluster).") : Amended
|
|
]
|
|
string DedicatedIPAddress;
|
|
|
|
[ Description("This property denotes the subnet mask.") : Amended
|
|
]
|
|
string DedicatedNetworkMask;
|
|
|
|
[ Read,
|
|
Description("This is the number of defined port rules.") : Amended
|
|
]
|
|
uint32 NumberOfRules;
|
|
|
|
[ ModelCorrespondence {"MicrosoftNLB_Node.HostPriority"},
|
|
Description("This property specifies a host's unique priority for handling "
|
|
"default network traffic for TCP and UDP ports that are not "
|
|
"included in the Port rule configuration. It is used "
|
|
"in case a host within the cluster goes offline, and determines "
|
|
"which host within the cluster will take over handling this "
|
|
"traffic if required. The allowed values for host priority "
|
|
"range from 1 to the maximum number of hosts. Lower values "
|
|
"indicate higher priorities (where 1 is the highest priority)."
|
|
"Each host within the cluster must specify a unique host priority. "
|
|
"NOTE: This has no affect on traffic that is load balanced. "
|
|
"It only applies to traffic that is not handled by a "
|
|
"port rule." ) : Amended
|
|
]
|
|
uint32 HostPriority;
|
|
|
|
[
|
|
Description("The AliveMsgPeriod value holds the message exchange period in "
|
|
"milliseconds.You should pick this number "
|
|
"based on your failover requirements. A longer message "
|
|
"exchange period will reduce the networking overhead needed "
|
|
"to maintain fault tolerance, but it will increase the "
|
|
"failover delay.") : Amended
|
|
]
|
|
uint32 AliveMessagePeriod;
|
|
|
|
[
|
|
Description("The AliveMsgTolerance value specifies how "
|
|
"many exchanged messages from a host can be missed before the "
|
|
"cluster initiates convergence. You should pick this number "
|
|
"based on your failover requirements. Increasing the number of "
|
|
"message exchanges prior to convergence will reduce the number "
|
|
"of unnecessary convergence initiations due to transient "
|
|
"network congestion, but it will also increase the "
|
|
"failover delay. ") : Amended
|
|
]
|
|
uint32 AliveMessageTolerance;
|
|
|
|
[
|
|
Description("If set to TRUE, join cluster on boot.") : Amended
|
|
]
|
|
Boolean ClusterModeOnStart;
|
|
|
|
[
|
|
Description("If set to TRUE, do NOT join cluster and suspend all ways to "
|
|
"control the operation of the cluster until a \"resume\" "
|
|
"operation is performed. The value of this property is"
|
|
"ignored if the \"ClusterModeOnStart\" property is set"
|
|
"to \"TRUE\"") : Amended
|
|
]
|
|
Boolean ClusterModeSuspendOnStart;
|
|
|
|
[
|
|
Description("If set to TRUE, If all ways to control the operation of the "
|
|
"cluster is suspended, then, upon a reboot of the system, the "
|
|
"suspension will persist") : Amended
|
|
]
|
|
Boolean PersistSuspendOnReboot;
|
|
|
|
[
|
|
Description("This property specifies the UDP port that is used to "
|
|
"receive remote control commands. By default, these are "
|
|
"ports 1717 and 2504 at the cluster IP address") : Amended
|
|
]
|
|
uint32 RemoteControlUDPPort;
|
|
|
|
[
|
|
Description("If true, mangle source MAC address to prevent switch "
|
|
"learning. Use a value of false if the cluster is on a hub: "
|
|
"optimizes switch performance by re-enabling learning.") : Amended
|
|
]
|
|
Boolean MaskSourceMAC;
|
|
|
|
[
|
|
Description("The number of connection tracking descriptors per allocation.") : Amended
|
|
]
|
|
uint32 DescriptorsPerAlloc;
|
|
|
|
[
|
|
Description("The maximum number of connection tracking descriptors "
|
|
"per allocation.") : Amended
|
|
]
|
|
uint32 MaxDescriptorsPerAlloc;
|
|
|
|
[
|
|
Description("If set to TRUE, all ICMP traffic will be filtered by the cluster "
|
|
"and accepted by only a single host. If FALSE, all hosts in the "
|
|
"cluster will accept all ICMP traffic (this is the default behavior)") : Amended
|
|
]
|
|
uint32 FilterIcmp;
|
|
|
|
[
|
|
Description("The timeout value, in seconds, of a TCP connection descriptor") : Amended
|
|
]
|
|
uint32 TcpDescriptorTimeout;
|
|
|
|
[
|
|
Description("The timeout value, in seconds, of a IpSec connection descriptor") : Amended
|
|
]
|
|
uint32 IpSecDescriptorTimeout;
|
|
|
|
[
|
|
Description("The number of actions per allocation.") : Amended
|
|
]
|
|
uint32 NumActions;
|
|
|
|
[
|
|
Description("The number of packets per allocation.") : Amended
|
|
]
|
|
uint32 NumPackets;
|
|
|
|
[
|
|
Description("The number of heartbeats per allocation.") : Amended
|
|
]
|
|
uint32 NumAliveMessages;
|
|
|
|
|
|
[ Read,
|
|
Description("This is the GUID of the adapter NLB is bound to.") : Amended
|
|
]
|
|
string AdapterGuid;
|
|
|
|
|
|
//Methods
|
|
[
|
|
Implemented,
|
|
Description("This method provides an optimized means for obtaining "
|
|
"the port rule which encapsulates the input Port number.") : Amended
|
|
]
|
|
void GetPortRule([IN] UINT32 Port, [OUT] MicrosoftNLB_PortRule PortRule);
|
|
|
|
[
|
|
Implemented,
|
|
Description("This method provides an optimized means for obtaining "
|
|
"the port rule which encapsulates the input Virtual IP address and "
|
|
"Port number. The value of virtual Ip address to specify 'All Vip'"
|
|
"(aka 'Rest of the VIPs') is '255.255.255.255'") : Amended
|
|
]
|
|
void GetPortRuleEx([IN] string VirtualIpAddress, [IN] UINT32 Port, [OUT] MicrosoftNLB_PortRuleEx PortRule);
|
|
|
|
[
|
|
Implemented,
|
|
Description("This method causes the NLB driver to load with all the values "
|
|
"that are set in ALL of the the setting classes, including the "
|
|
"MicrosoftNLB_ClusterSetting and the port rule classes. If the system "
|
|
"is Windows NT4, then the method will return a reboot value.") : Amended,
|
|
Values { "WLBS_OK", "WLBS_REBOOT" } : ToInstance,
|
|
ValueMap { "1000", "1050" } : ToInstance
|
|
]
|
|
uint32 LoadAllSettings();
|
|
|
|
[
|
|
Implemented,
|
|
Description("This method resets all of the properties for this class to "
|
|
"their default values. The values are not committed to the NLB "
|
|
"driver.") : Amended
|
|
]
|
|
void SetDefaults();
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_PortRule
|
|
// *****************************************************************************
|
|
[ Abstract,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description("This class represents a rule for how TCP/IP traffic "
|
|
"is handled. The provider will only return the instances for "
|
|
"this class that correspond to the node upon which it resides."
|
|
"Consequently, to configure a node, the client must explicitly "
|
|
"connect to that node.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_PortRule : CIM_Setting
|
|
{
|
|
[ Key,
|
|
Override("Name"),
|
|
Description("The name of the host to which this port rule applies"): ToInstance
|
|
Amended
|
|
]
|
|
string Name;
|
|
|
|
[ Key,
|
|
Description("The starting port number to which this rule applies.") : Amended
|
|
]
|
|
uint32 StartPort = 0;
|
|
|
|
[ Description("The ending port number to which this rule applies.") : Amended
|
|
]
|
|
uint32 EndPort = 65535;
|
|
|
|
[ Values {"TCP", "UDP", "Both"},
|
|
ValueMap {"1", "2", "3"} ,
|
|
Description("This specifies the protocol for which this rule applies. "
|
|
"The possible values include TCP, UDP or Both ") : Amended
|
|
]
|
|
uint32 Protocol = 3;
|
|
|
|
[ Read,
|
|
Description("This is the GUID of the adapter NLB is bound to.") : Amended
|
|
]
|
|
string AdapterGuid;
|
|
|
|
[
|
|
Static,
|
|
Implemented,
|
|
Description("This method resets the node's port rule configuration "
|
|
"to the default. The new configuration is not committed "
|
|
"to the driver.") : Amended,
|
|
Values { "WLBS_OK" } : ToInstance,
|
|
ValueMap { "1000" } : ToInstance
|
|
]
|
|
|
|
|
|
void SetDefaults([IN] MicrosoftNLB_Node ref Node);
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_PortRuleFailover
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_PortRuleFailover : MicrosoftNLB_PortRule
|
|
{
|
|
[ Description("This property specifies the local host's priority for "
|
|
"handling the networking traffic for this port "
|
|
"rule. The host with the highest handling priority (lowest "
|
|
"numerical value) for this rule among the current members of "
|
|
"the cluster will handle all of the traffic for this rule. "
|
|
"The allowed values range from 1, the highest priority, to "
|
|
"the maximum number of hosts allowed. This value must be "
|
|
"unique for all hosts in the cluster.") : Amended, LOCALE(0x409)
|
|
]
|
|
uint32 Priority = 1;
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_PortRuleLoadbalanced
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_PortRuleLoadbalanced : MicrosoftNLB_PortRule
|
|
{
|
|
[ Description("This property specifies that the host accepts an equal "
|
|
"portion of the load-balanced traffic in multiple-host "
|
|
"filtering mode for this port rule. If this value is true, "
|
|
"then the value for LoadWeight is ignored.") : Amended
|
|
]
|
|
Boolean EqualLoad = True;
|
|
|
|
[ Description("This property specifies the relative weight of load-balanced "
|
|
"network traffic that this host should handle for the "
|
|
"associated port rule. Allowed values range from 0 "
|
|
"(zero) to 100. To prevent a host from handling any "
|
|
"network traffic, set the load weight to 0 (zero). ") : Amended
|
|
]
|
|
uint32 LoadWeight = 50;
|
|
|
|
[ Values {"None", "Single", "ClassC"} : Amended,
|
|
ValueMap{"0", "1", "2"},
|
|
Description("This option specifies the client affinity. The possible "
|
|
"values are None, Single and Class C. Single and Class C "
|
|
"are used to ensure that all network traffic from a "
|
|
"particular client be directed to the same cluster host.") : Amended
|
|
]
|
|
uint32 Affinity = 1;
|
|
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_PortRuleDisabled
|
|
// *****************************************************************************
|
|
[
|
|
Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description("This class represents a disabled port rule."): Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_PortRuleDisabled : MicrosoftNLB_PortRule
|
|
{
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_PortRuleEx
|
|
// *****************************************************************************
|
|
[ Dynamic,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description("This class represents a rule for how TCP/IP traffic "
|
|
"is handled. The provider will only return the instances for "
|
|
"this class that correspond to the node upon which it resides."
|
|
"Consequently, to configure a node, the client must explicitly "
|
|
"connect to that node. Enhancements in this class over the "
|
|
"MicrosoftNLB_PortRule class include : Addition of VirtualIpAddress "
|
|
"property (also a key), Aggregation of MicrosoftNLB_PortRuleFailover, "
|
|
"MicrosoftNLB_PortRuleLoadbalanced and MicrosoftNLB_PortRuleDisabled "
|
|
"classes, Addition of FilteringMode property.") : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_PortRuleEx
|
|
{
|
|
[ Key,
|
|
Override("Name"),
|
|
Description("The name of the host to which this port rule applies"): ToInstance
|
|
Amended
|
|
]
|
|
string Name;
|
|
|
|
[ Key,
|
|
Description("The virtual IP address to which this rule applies. "
|
|
"The value of virtual Ip address to specify 'All Vip'"
|
|
"(aka 'Rest of the VIPs') is '255.255.255.255'") : Amended
|
|
]
|
|
string VirtualIpAddress = "255.255.255.255";
|
|
|
|
[ Key,
|
|
Description("The starting port number to which this rule applies.") : Amended
|
|
]
|
|
uint32 StartPort = 0;
|
|
|
|
[ Description("The ending port number to which this rule applies.") : Amended
|
|
]
|
|
uint32 EndPort = 65535;
|
|
|
|
[ Values {"TCP", "UDP", "Both"},
|
|
ValueMap {"1", "2", "3"} ,
|
|
Description("This specifies the protocol for which this rule applies. "
|
|
"The possible values include TCP, UDP or Both ") : Amended
|
|
]
|
|
uint32 Protocol = 3;
|
|
|
|
[ Read,
|
|
Description("This is the GUID of the adapter NLB is bound to.") : Amended
|
|
]
|
|
string AdapterGuid;
|
|
|
|
[ Values {"Single Host", "Multiple Host", "Disabled"},
|
|
ValueMap {"1", "2", "3"} ,
|
|
Description("This specifies the filtering mode for this rule. "
|
|
"The possible values are 'Multiple Host', 'Single Host' and 'Disabled'. "
|
|
"If the value is 'Multiple Host', the value for Priority is ignored. "
|
|
"If the value is 'Single Host', the values for EqualLoad, LoadWeight "
|
|
"and Affinity are ignored. If the value is 'Disabled', the values for"
|
|
"EqualLoad, LoadWeight, Affinity and Priority are ignored.") : Amended
|
|
]
|
|
uint32 FilteringMode = 2;
|
|
|
|
[ Description("This property specifies that the host accepts an equal "
|
|
"portion of the load-balanced traffic in multiple-host "
|
|
"filtering mode for this port rule. If this value is true, "
|
|
"then the value for LoadWeight is ignored.") : Amended
|
|
]
|
|
Boolean EqualLoad = True;
|
|
|
|
[ Description("This property specifies the relative weight of load-balanced "
|
|
"network traffic that this host should handle for the "
|
|
"associated port rule. Allowed values range from 0 "
|
|
"(zero) to 100. To prevent a host from handling any "
|
|
"network traffic, set the load weight to 0 (zero). ") : Amended
|
|
]
|
|
uint32 LoadWeight = 50;
|
|
|
|
[ Values {"None", "Single", "ClassC"} : Amended,
|
|
ValueMap{"0", "1", "2"},
|
|
Description("This option specifies the client affinity. The possible "
|
|
"values are None, Single and Class C. Single and Class C "
|
|
"are used to ensure that all network traffic from a "
|
|
"particular client be directed to the same cluster host.") : Amended
|
|
]
|
|
uint32 Affinity = 1;
|
|
|
|
[ Description("This property specifies the local host's priority for "
|
|
"handling the networking traffic for this port "
|
|
"rule. The host with the highest handling priority (lowest "
|
|
"numerical value) for this rule among the current members of "
|
|
"the cluster will handle all of the traffic for this rule. "
|
|
"The allowed values range from 1, the highest priority, to "
|
|
"the maximum number of hosts allowed. This value must be "
|
|
"unique for all hosts in the cluster.") : Amended, LOCALE(0x409)
|
|
]
|
|
uint32 Priority = 1;
|
|
|
|
|
|
[ Read,
|
|
Description("The current status of the port rule. If this port rule was "
|
|
"created using the WMI provider and the LoadAllSettings() "
|
|
"method of the MicrosoftNLB_NodeSetting class was NOT called,"
|
|
"then, this property will return NLB_PORT_RULE_NOT_FOUND.") : Amended,
|
|
Values {
|
|
"NLB_PORT_RULE_NOT_FOUND",
|
|
"NLB_PORT_RULE_ENABLED",
|
|
"NLB_PORT_RULE_DISABLED",
|
|
"NLB_PORT_RULE_DRAINING"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"0",
|
|
"1",
|
|
"2",
|
|
"3"
|
|
} : ToInstance
|
|
]
|
|
uint32 PortState;
|
|
|
|
[
|
|
Static,
|
|
Implemented,
|
|
Description("This method resets the node's port rule configuration "
|
|
"to the default. The new configuration is not committed "
|
|
"to the driver.") : Amended,
|
|
Values { "WLBS_OK" } : ToInstance,
|
|
ValueMap { "1000" } : ToInstance
|
|
]
|
|
void SetDefaults([IN] MicrosoftNLB_Node ref Node);
|
|
};
|
|
|
|
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
// SCHEMA SPECIFIC ASSOCIATIONS
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_NodeSettingPortRule
|
|
// *****************************************************************************
|
|
[ Association,
|
|
Dynamic: ToInstance, provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description( "This associates rules to a NodeSetting." ) : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_NodeSettingPortRule : CIM_Component
|
|
{
|
|
[ Key,
|
|
Override("GroupComponent"),
|
|
Description ("The MicrosoftNLB_NodeSetting class.") : Amended,
|
|
Min (1)
|
|
]
|
|
MicrosoftNLB_NodeSetting REF GroupComponent;
|
|
|
|
[ Key,
|
|
Override("PartComponent"),
|
|
Description ( "The MicrosoftNLB_PortRule") : Amended
|
|
]
|
|
MicrosoftNLB_PortRule REF PartComponent;
|
|
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_ClusterClusterSetting
|
|
// *****************************************************************************
|
|
[ Association,
|
|
Dynamic: ToInstance,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description ( "This associates a MicrosoftNLB_ClusterSetting to a MicrosoftNLB_Cluster." ) : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_ClusterClusterSetting : CIM_ElementSetting
|
|
{
|
|
[ Key,
|
|
Override("Element"),
|
|
Description ("A cluster") : Amended,
|
|
Min (1)
|
|
]
|
|
MicrosoftNLB_Cluster REF Element;
|
|
|
|
[ Key,
|
|
Override("Setting"),
|
|
Description ( "The cluster-related settings for a node in a cluster.") : Amended
|
|
]
|
|
MicrosoftNLB_ClusterSetting REF Setting;
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_NodeNodeSetting
|
|
// *****************************************************************************
|
|
[ Association,
|
|
Dynamic: ToInstance,
|
|
Provider("Microsoft|NLB_Provider|V1.0"),
|
|
Description ( "This associates a MicrosoftNLB_NodeSetting to a MicrosoftNLB_Node." ) : Amended,
|
|
LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_NodeNodeSetting : CIM_ElementSetting
|
|
{
|
|
[ Key,
|
|
Override("Element"),
|
|
Description ("A node") : Amended,
|
|
Min (1)
|
|
]
|
|
MicrosoftNLB_Node REF Element;
|
|
|
|
[ Key,
|
|
Override("Setting"),
|
|
Description ( "The settings for a node") : Amended
|
|
]
|
|
MicrosoftNLB_NodeSetting REF Setting;
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_ParticipatingNode
|
|
// *****************************************************************************
|
|
[ Association,
|
|
Dynamic: ToInstance,
|
|
Provider("Microsoft|NLB_Provider|V1.0"), LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_ParticipatingNode : CIM_ParticipatingCS
|
|
{
|
|
[ Key,
|
|
Override ("Antecedent"),
|
|
Description ( "The computer system which participates in the cluster." ) : Amended,
|
|
Min (1)
|
|
]
|
|
MicrosoftNLB_Node REF Antecedent;
|
|
|
|
[ Key,
|
|
Override ("Dependent"),
|
|
Description ("The Cluster.") : Amended
|
|
]
|
|
MicrosoftNLB_Cluster REF Dependent;
|
|
};
|
|
|
|
// *****************************************************************************
|
|
// MicrosoftNLB_ExtendedStatus
|
|
// *****************************************************************************
|
|
[ Dynamic : ToInstance,
|
|
Description("The provider utilizes this class to report NLB "
|
|
"specific error codes.") : Amended,
|
|
Provider("Microsoft|NLB_Provider|V1.0"), LOCALE(0x409)
|
|
]
|
|
class MicrosoftNLB_ExtendedStatus : __ExtendedStatus
|
|
{
|
|
[ Override("StatusCode"),
|
|
Description("NLB and Winsock error codes are returned in this property."
|
|
"The Values and ValueMap qualifiers map the NLB defined "
|
|
"constants, but do not include Winsock error codes.")
|
|
: Amended,
|
|
Values {
|
|
"WLBS_BAD_PARAMS" ,
|
|
"WLBS_NOT_FOUND" ,
|
|
"WLBS_BAD_PASSW" ,
|
|
"WLBS_IO_ERROR" ,
|
|
"WLBS_TIMEOUT" ,
|
|
"WLBS_PORT_OVERLAP" ,
|
|
"WLBS_BAD_PORT_PARAMS",
|
|
"WLBS_MAX_PORT_RULES" ,
|
|
"WLBS_REG_ERROR"
|
|
} : ToInstance,
|
|
ValueMap {
|
|
"1003",
|
|
"1004",
|
|
"1101",
|
|
"1102",
|
|
"1103",
|
|
"1150",
|
|
"1151",
|
|
"1152",
|
|
"1154"
|
|
} : ToInstance
|
|
]
|
|
uint32 StatusCode;
|
|
};
|
|
|
|
/*
|
|
Include mof file containing NLB driver wmi event class definitions.
|
|
This is so that the compiled wlbsprov.mof has the event class defintions
|
|
and hence will be mofcomp-ed and added to the WMI repository. This is
|
|
needed to publish the events under the root\microsoftnlb namespace.
|
|
*/
|
|
#include ("..\driver\nlbwmi.mof")
|
|
|
|
/*
|
|
This following definition from wmi.mof is necessary to publish NLB events under the root\microsoftnlb namespace.
|
|
It is placed here instead of at the top of this file (where other such definitions are placed), because
|
|
Ivan Brugiolo (WMI Dev) advised that "__ClassProviderRegistration" must be at the bottom of the mof file.
|
|
Hence it is placed here.
|
|
*/
|
|
|
|
Instance of __ClassProviderRegistration
|
|
{
|
|
Provider = $P1;
|
|
InteractionType = 1;
|
|
ResultSetQueries = {"select * from meta_class"};
|
|
ReferencedSetQueries = {"select * from meta_class"};
|
|
UnsupportedQueries;
|
|
SupportsGet = "TRUE";
|
|
SupportsPut = "FALSE";
|
|
SupportsEnumeration = "TRUE";
|
|
SupportsDelete = "FALSE";
|
|
};
|
|
|