System.Discovery.FilteredClassSnapshotDataMapper

Applies To: Operations Manager 2007 R2

The System.Discovery.FilteredClassSnapshotDataMapper module is a condition detection module type that filters any type of data and then maps that data to class type instance System.Discovery.Data data.

Usage

This module is used only in discovery workflows. Use this module when you want to map any type of data to class type instance System.Discovery.Data. This module maps only a single class type instance. Generally, this module is used as a member module in various existing discovery data source module type definitions.

Type Definition

<ConditionDetectionModuleType ID="System.Discovery.FilteredClassSnapshotDataMapper" Accessibility="Public" PassThrough="false" Batching="false" Stateful="false">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
      <SchemaType>System.Discovery.MapperSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="Expression" type="ExpressionType"/>
    <xsd:element name="ClassId" type="xsd:string"/>
    <xsd:element name="InstanceSettings" minOccurs="0" maxOccurs="1" type="SettingsType"/>
  </Configuration>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <ConditionDetection ID="Filter" TypeID="System.ExpressionFilter">
          <Expression>$Config/Expression$</Expression>
        </ConditionDetection>
        <ConditionDetection ID="Mapper" TypeID="System.Discovery.ClassSnapshotDataMapper">
          <ClassId>$Config/ClassId$</ClassId>
          <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
        </ConditionDetection>
      </MemberModules>
      <Composition>
        <Node ID="Mapper">
          <Node ID="Filter"/>
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>System.Discovery.Data</OutputType>
  <InputTypes>
    <InputType>System.BaseData</InputType>
  </InputTypes>
</ConditionDetectionModuleType>

Parameters

System.Discovery.FilteredClassSnapshotDataMapper supports the configuration parameters described in the following table.

Parameter Type Overrideable Description

Expression

ExpressionType

False

Required parameter. Contains the filter expression to apply to the incoming data.

ClassId

String

False

Required parameter. The class that is being discovered.

InstanceSettings

SettingsType

False

Optional parameter. The property settings for the instance or instances of the class that is being discovered.

The ClassID parameter takes a string that must be in the $MPElement format. This element must refer to a defined class in the same management pack or a publicly available class in a referenced management pack. The following XML snippet shows the ClassID configuration element.

<ClassId>$MPElement[Name="Microsoft.Samples.ApplicationX"]$</ClassId>

The InstanceSettings parameter defines the mapping of configuration, data, target, and static values to the discovered instance or instances. The exact mapping depends on the discovery scenario and the hosting relationships that are related to the class that is being discovered. For more information about the InstanceSettings parameter, see SettingsType.

Composition

The System.Discovery.FilteredClassSnapshotDataMapper module is a composite module that contains the member module described in the following table.

Workflow Run Order Module Type Usage

1

System.ExpressionFilter

Filters the incoming data based on the Expression parameter value.

2

System.Discovery.ClassSnapShotDataMapper

Maps the filtered data into System.Discovery.Data.

Module Type Usage

System.Discovery.RelationshipSnapshotDataMapper

Maps relationship type instance data to System.Discovery.Data data.

External Module References

The System.Discovery.FilteredClassSnapshotDataMapper module is a member of the public module described in the following table.

Module Type Library Usage

Microsoft.Windows.FilteredRegistryDiscoveryProvider

Microsoft.Windows.Library

Queries the Windows registry at the specified frequency and returns the filtered results as System.Discovery.Data type data.

Sample

The following XML sample shows how System.Discovery.FilteredClassSnapshotDataMapper is used as a member of the Microsoft.Windows.FilteredRegistryDiscoveryProvider discovery module. For an example of how to specify a filtering expression, see Microsoft.Windows.FilteredRegistryDiscoveryProvider.

<DataSourceModuleType ID="Microsoft.Windows.FilteredRegistryDiscoveryProvider" Accessibility="Public">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>Microsoft.Windows.RegistryAttributeDefinitionsSchema</SchemaType>
      <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
      <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="ComputerName" type="xsd:string" />
    <xsd:element name="RegistryAttributeDefinitions" type="RegistryAttributeDefinitionsType" />
    <xsd:element name="Frequency" type="xsd:unsignedInt" />
    <xsd:element name="ClassId" type="xsd:string" />
    <xsd:element name="InstanceSettings" minOccurs="0" maxOccurs="1" type="SettingsType" />
    <xsd:element name="Expression" type="ExpressionType" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
  </OverrideableParameters>
  <ModuleImplementation>
    <Composite>
      <MemberModules>
        <DataSource ID="DS" TypeID="Microsoft.Windows.Discovery.RegistryProvider">
          <ComputerName>$Config/ComputerName$</ComputerName>
          <RegistryAttributeDefinitions>$Config/RegistryAttributeDefinitions$</RegistryAttributeDefinitions>
          <Frequency>$Config/Frequency$</Frequency>
        </DataSource>
        <ConditionDetection ID="Mapping" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
          <Expression>$Config/Expression$</Expression>
          <ClassId>$Config/ClassId$</ClassId>
          <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
        </ConditionDetection>
      </MemberModules>
      <Composition>
        <Node ID="Mapping">
          <Node ID="DS" />
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>

Information

   

Module Type

ConditionDetectionModuleType

Input Type

System.BaseData

Output Type

System.Discovery.Data

Implementation

Composite

Library

System.Library