ClassType
Applies To: System Center 2012 - Operations Manager, System Center 2012 R2 Operations Manager, System Center 2012 SP1 - Operations Manager
Represents a class type definition in the management pack.
Schema Hierarchy
ManagementPack
TypeDefinitions
EntityTypes
ClassTypes
ClassType
Syntax
<ClassType ID=”Company.Product.ClassID” Comment=”Comment” Accessibility=”Internal/Public” Abstract=” True/False” Base=”BaseClassID” Hosted=” True/False” Singleton=”True/False”> <Property>…</Property>
</ClassType>
Attributes and Elements
The following sections describe attributes, child elements, and the parent element for the ClassType element.
Attributes
Attribute | Description |
---|---|
ID |
Required attribute. Represents the identity of the element. To learn how to identify your element in a management pack, see Element Identity and Namespace Conventions. |
Comment |
Optional attribute. Represents commentary by the management pack author. |
Accessibility |
Required attribute. Defines the visibility of the class type. |
Abstract |
Required attribute. Defines whether or not the class type is abstract or concrete. |
Base |
Required attribute. Contains the ID of the class type from which the class type inherits. |
Hosted |
Optional attribute. Defines whether or not this class is hosted. Default value is False. |
Singleton |
Optional attribute. Defines whether or not this class is a singleton. Default value is False. |
Accessibility Attribute Values
Value | Description |
---|---|
Public |
Indicates that this class type is visible to external management packs for targeting or inheritance. |
Internal |
Indicates that external management packs cannot reference this class type. |
Abstract Attribute Values
Value | Description |
---|---|
True |
Indicates that this class type cannot be instantiated. Set to True if the intention is to use this class type as a base class only. When used as a base class, all of its properties and relationships are inherited by the derived classes. In addition, any monitors that target the abstract base class are inherited by the derived classes. |
False |
Indicates that this class type can be instantiated. |
Base Attribute Values
Value | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
The ID of a predefined class type. |
All defined class types must specify the ID of the class type from which they inherit. Choosing the right base class is critical when authoring a management pack. The following classes are the most commonly used base classes in a management pack and should be considered before choosing anything else.
|
Hosted Attribute Values
Value | Description |
---|---|
True |
Indicates that this class type is hosted by another class type. Instances of the hosting class must be discovered before instances of this class type can be discovered. For more information about hosting relationships, see Management Pack Classes. If an instance of the hosting class is to contain more than one instance of this class type, a key property must be defined. If only one instance will be discovered, no key property is required. For more information about key properties, see Property (ClassType). Note If the class type does not already inherit a hosting relationship, a RelationshipType element of base class System.Hosting must be defined that describes the hosting class type of the hosted class type. |
False |
Default value. Indicates that this class type is not hosted by another class type. To ensure uniqueness within the management group, a key property must be defined for this class type unless its base class type already defines one. For more information about key properties, see Property (ClassType). |
Singleton Attribute Values
Value | Description |
---|---|
True |
Indicates that this class type is to be created when the management pack is installed and that only one instantiation will ever exist in the system. A singleton class type never requires a discovery. |
False |
Indicates that the class requires a discovery for instantiation. Always set to False if there is a possibility that there will be multiple instances of the ClassType element. |
Child Elements
Element | Description |
---|---|
Optional element if the class type’s Hosted attribute is set to True or if Hosted attribute is set to False and the class type is a singleton. If Hosted is set to False, a key property must be set. For more information about the Key property, see Property (ClassType). |
Parent Elements
Element | Description |
---|---|
Contains definitions of class types to be discovered and/or monitored. |
Remarks
A class type represents an entity in a service model. Any number of class types can be defined in a management pack. The class types you choose do not represent the object model of your application but rather the objects that are to be targeted for health monitoring. In the Operations Console, class types are referred to as “targets.” All workflows target a specific class type, which means they work within the context of that class type when an instance of that class type exists in the system. For example, when the Microsoft.Windows.OperatingSystem
class type is targeted by a rule, that rule will run only when that class type has been discovered in the system.
Class types can have properties that are populated as soon as they are discovered. These properties can be used for informational purposes (users can see these in the console), for monitor configuration, for task configuration, and as criteria for groups, among other things.
A display string for each class type and each property defined within a class type should be defined in the display string section of the management pack for at least one language. For more information, see DisplayStrings.
Whenever a class type instance is discovered, that instance will be displayed in the Operations console. If you do not want your class type to inherit the default image of its base class type, you must create an Image element and associate your class type with that image by defining an ImageReference element.
Example
The following example shows how two abstract classes are defined. The Microsoft.SQLServer.Component
class type is created to represent all SQL Server components. It is an abstract class type, which means that it is used solely as a base class type for other class types. The abstract Microsoft.SQLServer.Agent
class type derives from the abstract Microsoft.SQLServer.Component
class type and provides three properties, one of which is a key to uniquely identify each instance of the class type. The key is required because the parent base class does not provide a key property. For more information about key properties, see Property (ClassType).
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="Microsoft.SQLServer.Component" Accessibility="Public" Base="Windows!Microsoft.Windows.ApplicationComponent" Hosted="false" Abstract="true" Singleton="false"/>
<ClassType ID="Microsoft.SQLServer.Agent" Accessibility="Public" Base="Microsoft.SQLServer.Component" Hosted="false" Abstract="true" Singleton="false">
<Property ID="ServiceName" Type="string" Key="true" />
<Property ID="Account" Type="string" />
<Property ID="DisplayName" Type="string" />
</ClassType>
</ClassTypes>
</EntityTypes>
</TypeDefinitions>
See Also
Reference
ClassTypes
DisplayStrings
Image
ImageReference
Property (ClassType)