[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Represents a condition detection module type definition in a management pack.

Schema Hierarchy

ManagementPack
  TypeDefinitions
    ModuleTypes
      ConditionDetectionModuleType

Syntax

Xml
<ConditionDetectionModuleType ID=”Company.Product.ConditionDetectionModuleTypeID” Comment=”Comment” Accessibility=”Public/Internal” RunAs=”SecureReferenceID” Batching=”True/False” PassThrough=”True/False”>
   <Configuration>…</Configuration>
   <OverrideableParameters>…</OverrideableParameters>
   <ModuleImplementation>…</ModuleImplementation>
   <OutputType>DataType</OutputType>
   <InputTypes>…</InputTypes>
</ConditionDetectionModuleType >

Attributes and Elements

The following sections describe attributes, child elements, and the parent element of the ConditionDetectionModuleType 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 module type definition.

RunAs

Optional attribute. Refers to a SecureReference type ID. All instances of this module type definition will run under the credentials set for the SecureReference type ID. When not specified, the module will run under the default action account.

Batching

Optional attribute. Indicates whether or not the module type can accept a batch of input data at one time. Not relevant for composite module types. Default value is false.

PassThrough

Optional attribute. Indicates whether or not the module changes the input data in some way. Default value is false.

Stateful

Optional attribute. Indicates whether the module keeps an internal state. When it is set to false, the module is stateless and it can only process data items synchronously. The runtime can create and destroy stateless modules without affecting the defined business logic. The default value is false.

Accessibility Attribute Values

Value Description

Public

Indicates that the module type definition is visible to external management packs.

Internal

Indicates that the module type definition is not visible to external management packs.

Child Elements

Element Description

Configuration

Required element. Represents the parameters for a monitor or module type definition in XSD schema.

OverrideableParameters

Optional element. Contains any overrideable configuration parameters in a monitor or module type definition.

ModuleImplementation

Required element. Defines the implementation type for native or managed module type definitions and defines the composite elements for composite module type definitions.

OutputType

Optional element. Defines the output data type of a module type definition.

InputTypes

Required element. Contains the input data types of a condition detection module type definition.

Parent Elements

Element Description

ModuleTypes

Contains module type definitions in a management pack.

Remarks

ConditionDetectionModuleType definitions specify single or multiple input types and a single output.

All composite module types define one internal workflow. That workflow is composed of module type implementations. In the case of the condition detection module type definition, only one or more ConditionDetection modules are expected. For more information, see MemberModules (ConditionDetectionModuleType).

Condition detection module types are used either to filter input data by using one or more configuration parameters or to map one type of data to another type. Because condition detection modules allow for multiple input streams, they also can be used to correlate, combine, or perform calculations on multiple data input streams. Because they can be marked as Stateful, they can collect data over time to perform operations on that data in the future.

Most of the core DataSource modules contain a condition detection module within their internal workflows. Before adding a condition detection module after a DataSource module, check to make sure that the DataSource module already has a condition detection module or that there is another one defined that does.

Example

The following sample shows a ConditionDetectionModuleType element that is defined in the System.Library management pack. This particular condition detection module is used to map a System.BaseData data type or a data type that inherits from it into System.Discovery.Data. The reason for defining this module type is to provide a specialized version of the System.Discovery.SnapshotDataMapper condition detection module type. System.Discovery.RelationshipSnapshotDataMapper is limited to mapping only relationship data for use in discoveries.

  Copy Code
<ConditionDetectionModuleType ID="System.Discovery.RelationshipSnapshotDataMapper" Accessibility="Public" Stateful="false" PassThrough="false" Batching="false">
  <Configuration>
	<IncludeSchemaTypes>
	<SchemaType>System.Discovery.MapperSchema</SchemaType>
	</IncludeSchemaTypes>
	<xsd:element name="RelationshipId" type="xsd:string"/>
	<xsd:element name="SourceTypeId" minOccurs="0" maxOccurs="1" type="xsd:string"/>
	<xsd:element name="TargetTypeId" minOccurs="0" maxOccurs="1" type="xsd:string"/>
	<xsd:element name="SourceRoleSettings" type="SettingsType"/>
	<xsd:element name="TargetRoleSettings" type="SettingsType"/>
	<xsd:element name="InstanceSettings" minOccurs="0" maxOccurs="1" type="SettingsType"/>
  </Configuration>
  <ModuleImplementation Isolation="Any">
	<Composite>
	<MemberModules>
		<ConditionDetection TypeID="System.Discovery.SnapshotDataMapper" ID="Mapper">
		<DiscoverySourceType>0</DiscoverySourceType>
		<DiscoverySourceObjectId>$MPElement$</DiscoverySourceObjectId>
		<DiscoverySourceManagedEntityId>$Target/Id$</DiscoverySourceManagedEntityId>
		<InstanceType>1</InstanceType>
		<InstanceTypeId>$Config/RelationshipId$</InstanceTypeId>
		<SourceTypeId>$Config/SourceTypeId$</SourceTypeId>
		<TargetTypeId>$Config/TargetTypeId$</TargetTypeId>
		<InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
		<SourceRoleSettings>$Config/SourceRoleSettings$</SourceRoleSettings>
		<TargetRoleSettings>$Config/TargetRoleSettings$</TargetRoleSettings>
		</ConditionDetection>
	</MemberModules>
	<Composition>
		<Node ID="Mapper"/>
	</Composition>
	</Composite>
  </ModuleImplementation>
  <OutputType>System.Discovery.Data</OutputType>
  <InputTypes>
	<InputType>System.BaseData</InputType>
  </InputTypes>
</ConditionDetectionModuleType>

See Also