MemberModules (DataSourceModuleType)

Applies To: Operations Manager 2007 R2, System Center Operations Manager 2007

Contains all modules used in the linear workflow of a module type definition.

Schema Hierarchy

ManagementPack
  TypeDefinitions
    ModuleTypes
      DataSourceModuleType
        ModuleImplementation (DataSourceModuleType)
          Composite (DataSourceModuleType)
            MemberModules (DataSourceModuleType)

Syntax

<MemberModules>
   <DataSource>…</DataSource>
   <ProbeAction>…</ProbeAction>
   <ConditionDetection>…</ConditionDetection>
</MemberModules>

Attributes and Elements

The following sections describe attributes, children, and the parent element of the MemberModules element.

Attributes

None.

Child Elements

Element Description

ConditionDetection (DataSourceModuleType)

Optional element. The implementation of a predefined ConditionDetectionModuleType module.

DataSource (DataSourceModuleType)

Required element if probe action module is not included. The implementation of a predefined DataSourceModuleType module.

ProbeAction (DataSourceModuleType)

Required element if data source module is not included. The implementation of a predefined ProbeActionModuleType module.

Parent Elements

Element Description

Composite (DataSourceModuleType)

Contains the module implementations and linear workflow composition in a module type definition.

Remarks

The MemberModules element of a DataSourceModuleType module contains the modules that are used to structure its internal workflow. The internal workflows within a DataSourceModuleType module do not take any input and must return data of the type defined in the OutputType (DataSourceModuleType) element. Because a DataSourceModuleType definition must always return data for use by the next module in the workflow, its MemberModules element does not include modules that are of the WriteActionModuleType definition. WriteActionModuleType definitions never return any data and must always be the last module in a workflow. The last module in a DataSourceModuleType workflow must be a ProbeAction (DataSourceModuleType), a DataSource (DataSourceModuleType), or a ConditionDetection (DataSourceModuleType) module. The first module in a DataSourceModuleType module must be a ProbeAction or a DataSource module that initiates the workflow either because of a scheduler or because of a trigger, such as a Windows event.

The ID attribute of each member module must be unique only in the scope of the module type, not the management pack.

Example

In the following XML sample, a composite data source module wraps the functionality of a data source module and a probe action module to create a workflow that is run on a recurring scheduled interval. In this case, the Microsoft.Windows.Discovery.RegistryProvider data source module wraps a scheduler that is used to get registry values at a certain interval. The attainment of each interval unit will initiate the workflow that launches that probe action module. The data source module then returns the results of the probe action as a Microsoft.Windows.RegistryData data type.

<DataSourceModuleType ID="Microsoft.Windows.Discovery.RegistryProvider" Accessibility="Public">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>Microsoft.Windows.RegistryAttributeDefinitionsSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="ComputerName" type="xsd:string" />
    <xsd:element name="RegistryAttributeDefinitions" type="RegistryAttributeDefinitionsType" />
    <xsd:element name="Frequency" type="xsd:unsignedInt" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
  </OverrideableParameters>
  <ModuleImplementation>
    <Composite>
      <MemberModules>
        <DataSource TypeID="System!System.Discovery.Scheduler" ID="Scheduler">
          <Scheduler>
            <SimpleReccuringSchedule>
              <Interval Unit="Seconds">$Config/Frequency$</Interval>
            </SimpleReccuringSchedule>
            <ExcludeDates />
          </Scheduler>
        </DataSource>
        <ProbeAction TypeID="Microsoft.Windows.RegistryProbe" ID="Probe">
          <ComputerName>$Config/ComputerName$</ComputerName>
          <RegistryAttributeDefinitions>$Config/RegistryAttributeDefinitions$</RegistryAttributeDefinitions>
        </ProbeAction>
      </MemberModules>
      <Composition>
        <Node ID="Probe">
          <Node ID="Scheduler" />
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>Microsoft.Windows.RegistryData</OutputType>
</DataSourceModuleType>

Each module referenced in the MemberModules element has access to the composite module’s configuration parameter values. In this case, the RegistryAttributeDefinitions, ComputerName, and Frequency parameter values are used to fulfill the parameter requirements of the member module configuration parameters.

For a composite data source module type, the output type will be the same as the output type of the last module type in the composition workflow. If you are defining a new data source module type for use in discovery, your composition must output discovery data (System.Discovery.Data, defined in the System.Library management pack).

See Also

Reference

Composite (DataSourceModuleType)