Microsoft.Unix.Script.ThreeStateMonitor.PageSet (UIPageSet)

Element properties:

Type DefinitionMicrosoft.Unix.Script.ThreeState.MonitorType

Source Code:

<UIPageSet ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet" TypeDefinitionID="Microsoft.Unix.Script.ThreeState.MonitorType">
<UIPageReferences>
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference1" PageID="SystemHealth!System.Health.MonitorGeneralPage" Usage="CreationAndUpdate"/>
<!-- Scheduler for creation only - sets default interval -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2" PageID="System!System.SimpleSchedulerPage" Usage="CreationOnly">
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="SimpleReccuringSchedule">
<xsl:element name="Interval"><xsl:attribute name="Unit">Minutes</xsl:attribute>15
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2.Title"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2.TabName"/>
</UIPageReference>
<!-- Scheduler for update only - loads configured intervals -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2U" PageID="System!System.SimpleSchedulerPage" Usage="UpdateOnly">
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="SimpleReccuringSchedule">
<xsl:element name="Interval">
<xsl:value-of select="Interval"/>
</xsl:element>
<xsl:element name="SyncTime">
<xsl:value-of select="SyncTime"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2U.Title"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference2U.TabName"/>
</UIPageReference>
<!-- Script Page -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference3" PageID="Microsoft.Unix.ScriptDetailsPage" Usage="CreationAndUpdate">
<InputParameters/>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="Script">
<xsl:copy-of select="/Script"/>
</xsl:element>
<xsl:element name="ScriptArgs">
<xsl:copy-of select="/ScriptArgs"/>
</xsl:element>
<xsl:element name="TimeOutInMS">
<xsl:value-of select="/TimeOutInMS"/>
</xsl:element>
<xsl:element name="TimeOut">
<xsl:value-of select="/TimeOut"/>
</xsl:element>
<xsl:variable name="MonitorUserName" select="/UserName"/>
<xsl:element name="RunAsProfile">
<xsl:value-of select="substring-before(substring-after($MonitorUserName, '!'),'&quot;]')"/>
</xsl:element>
<xsl:element name="UnixLibraryAlias">
<xsl:value-of select="substring-before(substring-after($MonitorUserName,'=&quot;'), '!')"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference3.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference3.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference3.TabName"/>
</UIPageReference>
<!-- Expression builder for create only. The default ExpressionFilter is for initial display in the ExpressionBuilderPage with WSMan data syntax -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4" PageID="System!System.ExpressionBuilderPage" Usage="CreationOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="Expression">
<xsl:element name="And">
<xsl:element name="Expression">
<xsl:element name="RegExExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">String</xsl:attribute>//*[local-name()="StdOut"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">ContainsSubstring</xsl:element>
<xsl:element name="Pattern"/>
</xsl:element>
</xsl:element>
<xsl:element name="Expression">
<xsl:element name="SimpleExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">Integer</xsl:attribute>//*[local-name()="ReturnCode"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">Equal</xsl:element>
<xsl:element name="ValueExpression">
<xsl:element name="Value"><xsl:attribute name="Type">Integer</xsl:attribute>0
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4.TabName"/>
</UIPageReference>
<!-- Expression builder for update only. Loads existing config. -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4U" PageID="System!System.ExpressionBuilderPage" Usage="UpdateOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:if test="count(/ErrorExpression) &gt; 0">
<xsl:element name="Expression">
<xsl:copy-of select="/ErrorExpression/*"/>
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4U.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4U.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference4U.TabName"/>
</UIPageReference>
<!-- Expression builder for create only. The default ExpressionFilter is for initial display in the ExpressionBuilderPage with WSMan data syntax -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5" PageID="System!System.ExpressionBuilderPage" Usage="CreationOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<!-- this InputTransform constructs an ExpressionFilter for initial display in the ExpressionBuilderPage with WSMan data syntax -->
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="Expression">
<xsl:element name="And">
<xsl:element name="Expression">
<xsl:element name="RegExExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">String</xsl:attribute>//*[local-name()="StdOut"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">ContainsSubstring</xsl:element>
<xsl:element name="Pattern"/>
</xsl:element>
</xsl:element>
<xsl:element name="Expression">
<xsl:element name="SimpleExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">Integer</xsl:attribute>//*[local-name()="ReturnCode"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">Equal</xsl:element>
<xsl:element name="ValueExpression">
<xsl:element name="Value"><xsl:attribute name="Type">Integer</xsl:attribute>0
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5.TabName"/>
</UIPageReference>
<!-- Expression builder for update only. Loads existing config. -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5U" PageID="System!System.ExpressionBuilderPage" Usage="UpdateOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:if test="count(/WarningExpression) &gt; 0">
<xsl:element name="Expression">
<xsl:copy-of select="/WarningExpression/*"/>
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5U.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5U.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference5U.TabName"/>
</UIPageReference>
<!-- Expression builder for create only. The default ExpressionFilter is for initial display in the ExpressionBuilderPage with WSMan data syntax -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6" PageID="System!System.ExpressionBuilderPage" Usage="CreationOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="Expression">
<xsl:element name="And">
<xsl:element name="Expression">
<xsl:element name="RegExExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">String</xsl:attribute>//*[local-name()="StdOut"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">ContainsSubstring</xsl:element>
<xsl:element name="Pattern"/>
</xsl:element>
</xsl:element>
<xsl:element name="Expression">
<xsl:element name="SimpleExpression">
<xsl:element name="ValueExpression">
<xsl:element name="XPathQuery"><xsl:attribute name="Type">Integer</xsl:attribute>//*[local-name()="ReturnCode"]
</xsl:element>
</xsl:element>
<xsl:element name="Operator">Equal</xsl:element>
<xsl:element name="ValueExpression">
<xsl:element name="Value"><xsl:attribute name="Type">Integer</xsl:attribute>0
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6.TabName"/>
</UIPageReference>
<!-- Expression builder for update only. Loads existing config. -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6U" PageID="System!System.ExpressionBuilderPage" Usage="UpdateOnly">
<InputParameters>
<DataType>WSM!Microsoft.SystemCenter.WSManagement.WSManData</DataType>
</InputParameters>
<InputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:if test="count(/HealthyExpression) &gt; 0">
<xsl:element name="Expression">
<xsl:copy-of select="/HealthyExpression/*"/>
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</InputTransform>
<Title ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6U.Title"/>
<SubTitle ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6U.SubTitle"/>
<TabName ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference6U.TabName"/>
</UIPageReference>
<!-- Map Operational States for Creation-->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference7" PageID="SystemHealth!System.Health.OperationalStatesConfigPage" Usage="CreationOnly">
<InputParameters>
<StatusOK>Success</StatusOK>
<StatusWarning>Warning</StatusWarning>
<StatusError>Error</StatusError>
</InputParameters>
</UIPageReference>
<!-- Map Operational States for Update-->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference7U" PageID="SystemHealth!System.Health.OperationalStatesConfigPage" Usage="UpdateOnly">
<InputParameters/>
</UIPageReference>
<!-- Diag and Recovery page -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.ReferenceDR" PageID="SystemHealth!System.Health.DiagnosticAndRecoveryPage" Usage="UpdateOnly"/>
<!-- Alerting Page -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference8" PageID="SystemHealth!System.Health.AlertingPage" Usage="CreationAndUpdate"/>
<!-- Knowledge Pages -->
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference9" PageID="SystemHealth!System.Health.ProductKnowledgePage" Usage="UpdateOnly"/>
<UIPageReference ID="Microsoft.Unix.Script.ThreeStateMonitor.PageSet.Reference10" PageID="SystemHealth!System.Health.CompanyKnowledgePage" Usage="UpdateOnly"/>
</UIPageReferences>
<OutputTransform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="Interval">
<xsl:variable name="RawInterval" select="/SimpleReccuringSchedule/Interval"/>
<xsl:variable name="Units" select="/SimpleReccuringSchedule/Interval/@Unit"/>
<xsl:choose>
<xsl:when test="not(boolean($Units)) or $Units='Seconds'">
<xsl:value-of select="$RawInterval"/>
</xsl:when>
<xsl:when test="$Units='Minutes'">
<xsl:value-of select="$RawInterval*60"/>
</xsl:when>
<xsl:when test="$Units='Hours'">
<xsl:value-of select="$RawInterval*3600"/>
</xsl:when>
<xsl:when test="$Units='Days'">
<xsl:value-of select="$RawInterval*86400"/>
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="SyncTime">
<xsl:value-of select="/SimpleReccuringSchedule/SyncTime"/>
</xsl:element>
<xsl:element name="TargetSystem">
<xsl:variable name="MPAlias" select="/UnixLibraryAlias"/>
<xsl:variable name="HostReference" select="/TargetHosted"/>
<xsl:value-of select="concat('$Target/',$HostReference,'Property[Type=','&quot;',$MPAlias,'!Microsoft.Unix.Computer','&quot;',']/NetworkName$')"/>
</xsl:element>
<!--
Construct RunAs UserName reference from MP Alias for the Unix Library MP and the Run As profile name.
For the Rule & Task templates, this could be done with a Template $Reference variable, but it is used consistently
for all templates in this MP, and monitor templates cannot use that convention.
-->
<xsl:element name="UserName">
<xsl:variable name="SelectedProfile" select="/RunAsProfile"/>
<xsl:variable name="MPAlias" select="/UnixLibraryAlias"/>
<xsl:value-of select="concat('$RunAs[Name=','&quot;',$MPAlias,'!',$SelectedProfile,'&quot;',']/UserName$')"/>
</xsl:element>
<!--
Construct RunAs Password reference from MP Alias for the Unix Library MP and the Run As profile name.
For the Rule & Task templates, this could be done with a Template $Reference variable, but it is used consistently
for all templates in this MP, and monitor templates cannot use that convention.
-->
<xsl:element name="Password">
<xsl:variable name="SelectedProfile" select="/RunAsProfile"/>
<xsl:variable name="MPAlias" select="/UnixLibraryAlias"/>
<xsl:value-of select="concat('$RunAs[Name=','&quot;',$MPAlias,'!',$SelectedProfile,'&quot;',']/Password$')"/>
</xsl:element>
<xsl:copy-of select="/Script"/>
<xsl:element name="ScriptArgs">
<xsl:value-of select="/ScriptArgs"/>
</xsl:element>
<xsl:copy-of select="/TimeOut"/>
<xsl:copy-of select="/TimeOutInMS"/>
<xsl:element name="HealthyExpression">
<xsl:copy-of select="/Expression[3]/*"/>
</xsl:element>
<xsl:element name="ErrorExpression">
<xsl:copy-of select="/Expression[1]/*"/>
</xsl:element>
<xsl:element name="WarningExpression">
<xsl:copy-of select="/Expression[2]/*"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
</OutputTransform>
</UIPageSet>