<ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <Manifest>
    <Identity>
      <ID>Microsoft.SystemCenter.Community.InstanceSpace</ID>
      <Version>6.0.6278.0</Version>
    </Identity>
    <Name>System Center Community Instance Space Demo MP</Name>
    <References>
      <Reference Alias="SC2007">
        <ID>Microsoft.SystemCenter.2007</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="SCLibrary">
        <ID>Microsoft.SystemCenter.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Health">
        <ID>System.Health.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <TypeDefinitions>
    <EntityTypes>
      <ClassTypes>
        <ClassType ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" Accessibility="Internal" Abstract="false" Base="System!System.ApplicationComponent" Hosted="false" Singleton="false">
          <Property ID="ComputerName" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="HealthServiceId" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="WatcherGroupName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
        </ClassType>
      </ClassTypes>
      <RelationshipTypes>
        <RelationshipType ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachableHolderForWatcher" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder</Source>
          <Target>SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher</Target>
        </RelationshipType>
      </RelationshipTypes>
    </EntityTypes>
    <ModuleTypes>
      <DataSourceModuleType ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery.ModuleType" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:unsignedInt" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="string" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="Scheduler" TypeID="System!System.Discovery.Scheduler">
                <Scheduler>
                  <SimpleReccuringSchedule>
                    <Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
                  </SimpleReccuringSchedule>
                  <ExcludeDates />
                </Scheduler>
              </DataSource>
              <ConditionDetection ID="Mapping" TypeID="System!System.Discovery.ClassSnapshotDataMapper">
                <ClassId>$MPElement[Name='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']$</ClassId>
                <InstanceSettings>
                  <Settings>
                    <Setting>
                      <Name>$MPElement[Name='System!System.Entity']/DisplayName$</Name>
                      <Value>$Target/Property[Type='SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher']/HealthServiceName$</Value>
                    </Setting>
                    <Setting>
                      <Name>$MPElement[Name='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/ComputerName$</Name>
                      <Value>$Target/Property[Type='SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher']/HealthServiceName$</Value>
                    </Setting>
                    <Setting>
                      <Name>$MPElement[Name='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/HealthServiceId$</Name>
                      <Value>$Target/Property[Type='SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher']/HealthServiceId$</Value>
                    </Setting>
                    <Setting>
                      <Name>$MPElement[Name='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/WatcherGroupName$</Name>
                      <Value>$Target/Host/Property[Type='SCLibrary!Microsoft.SystemCenter.HealthServiceWatchersGroup']/WatcherGroupName$</Value>
                    </Setting>
                  </Settings>
                </InstanceSettings>
              </ConditionDetection>
            </MemberModules>
            <Composition>
              <Node ID="Mapping">
                <Node ID="Scheduler" />
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery.ModuleType" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:unsignedInt" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="string" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="Scheduler" TypeID="System!System.Discovery.Scheduler">
                <Scheduler>
                  <SimpleReccuringSchedule>
                    <Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
                  </SimpleReccuringSchedule>
                  <ExcludeDates />
                </Scheduler>
              </DataSource>
              <ConditionDetection ID="Mapping" TypeID="System!System.Discovery.RelationshipSnapshotDataMapper">
                <RelationshipId>$MPElement[Name='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachableHolderForWatcher']$</RelationshipId>
                <SourceRoleSettings>
                  <Settings>
                    <Setting>
                      <Name>$MPElement[Name="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder"]/ComputerName$</Name>
                      <Value>$Target/Property[Type='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/ComputerName$</Value>
                    </Setting>
                  </Settings>
                </SourceRoleSettings>
                <TargetRoleSettings>
                  <Settings>
                    <Setting>
                      <Name>$MPElement[Name='SCLibrary!Microsoft.SystemCenter.HealthServiceWatchersGroup']/WatcherGroupName$</Name>
                      <Value>$Target/Property[Type='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/WatcherGroupName$</Value>
                    </Setting>
                    <Setting>
                      <Name>$MPElement[Name='SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher']/HealthServiceId$</Name>
                      <Value>$Target/Property[Type='Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder']/HealthServiceId$</Value>
                    </Setting>
                  </Settings>
                </TargetRoleSettings>
                <InstanceSettings />
              </ConditionDetection>
            </MemberModules>
            <Composition>
              <Node ID="Mapping">
                <Node ID="Scheduler" />
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
    </ModuleTypes>
  </TypeDefinitions>
  <Monitoring>
    <Discoveries>
      <Discovery ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.HealthServiceWatcher" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" PropertyID="ComputerName" />
            <Property TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" PropertyID="HealthServiceId" />
            <Property TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" PropertyID="WatcherGroupName" />
          </DiscoveryClass>
        </DiscoveryTypes>
        <DataSource ID="DiscoveryDataSource" TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery.ModuleType">
          <IntervalSeconds>7200</IntervalSeconds>
        </DataSource>
      </Discovery>
      <Discovery ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery" Enabled="true" Target="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachableHolderForWatcher" />
        </DiscoveryTypes>
        <DataSource ID="DiscoveryDataSource" TypeID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery.ModuleType">
          <IntervalSeconds>7200</IntervalSeconds>
        </DataSource>
      </Discovery>
    </Discoveries>
    <Monitors>
      <DependencyMonitor ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.RollupState" Accessibility="Internal" Enabled="true" Target="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachableHolderForWatcher" MemberMonitor="SC2007!Microsoft.SystemCenter.HealthService.ComputerDown">
        <Category>StateCollection</Category>
        <Algorithm>WorstOf</Algorithm>
        <MemberInMaintenance>Error</MemberInMaintenance>
      </DependencyMonitor>
    </Monitors>
  </Monitoring>
  <Presentation>
    <Views>
      <View ID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.StateView" Accessibility="Internal" Enabled="true" Target="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" TypeID="SCLibrary!Microsoft.SystemCenter.StateViewType" Visible="true">
        <Category>StateCollection</Category>
        <Criteria />
      </View>
    </Views>
    <Folders>
      <Folder ID="Microsoft.SystemCenter.Community.InstanceSpace.ViewFolder.Root" Accessibility="Internal" ParentFolder="SCLibrary!Microsoft.SystemCenter.Monitoring.ViewFolder.Root" />
    </Folders>
    <FolderItems>
      <FolderItem ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.StateView" Folder="Microsoft.SystemCenter.Community.InstanceSpace.ViewFolder.Root" />
    </FolderItems>
  </Presentation>
  <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
      <DisplayStrings>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace">
          <Name>Community demo for Operations Manager dependency monitors</Name>
          <Description>Microsoft System Center Community Instance Space Management Pack: This Management Pack contains demo explaining instance space and monitoring.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder">
          <Name>ComputerUnreachable Holder</Name>
          <Description>Holds state of the "Computer Unreachable" monitor for associated Health service watcher.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" SubElementID="ComputerName">
          <Name>Computer Name</Name>
          <Description>Name of the computer.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" SubElementID="HealthServiceId">
          <Name>Health Service Id</Name>
          <Description>Id of the HS</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder" SubElementID="WatcherGroupName">
          <Name>Group Name</Name>
          <Description>Name of the group that hosts watcher from where state is propagated</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery">
          <Name>ComputerUnreachable Holder Discovery</Name>
          <Description>Discovers holder to propagate ComputerUnreachable state.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery.ModuleType">
          <Name>Discovery Module Type</Name>
          <Description>Module type to discover Computer Unreachable Holder instance</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery">
          <Name>ComputerUnreachable Holder Relationship Discovery</Name>
          <Description>Discovers containment relationship between holder and health service watcher.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery.ModuleType">
          <Name>Discovery Relationship Module Type</Name>
          <Description>Module type to discover relationship between Computer Unreachable Holder instance and HSW</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.RollupState">
          <Name>Computer Unreachable State</Name>
          <Description>Dependency monitor to rollup state of "Computer Unreachable" monitor from contained HSW.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.StateView">
          <Name>Computer Unreachable</Name>
          <Description>States of all "Computer Unreachable" monitors from management group.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachableHolderForWatcher">
          <Name>Contains watcher</Name>
          <Description>Relationship to carry information about state of the "Computer Unreachable" monitor from contained Health service watcher class.</Description>
        </DisplayString>
        <DisplayString ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ViewFolder.Root">
          <Name>Community Instance Space And Monitoring Demo</Name>
          <Description>Root of all views related to community demos.</Description>
        </DisplayString>
      </DisplayStrings>
      <KnowledgeArticles>
        <KnowledgeArticle ElementID="Microsoft.SystemCenter.Community.InstanceSpace" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Microsoft System Center Community Instance Space Management Pack: This Management Pack contains demo explaining instance space and monitoring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Discovery" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Discover Computer Unreachable Instance</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="Microsoft.SystemCenter.Community.InstanceSpace.ComputerUnreachable.Holder.Relationship.Discovery" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Discover relationship between Computer Unreachable Holder instance and HealthService Watcher</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
      </KnowledgeArticles>
    </LanguagePack>
  </LanguagePacks>
</ManagementPack>
