Enable Java APM Management Write Action

Microsoft.JEE.Enable.Apm.WriteActionModuleType (WriteActionModuleType)

Enables Java APM management for the specified application.

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
InputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
CreateData ProbeAction Microsoft.Windows.PowerShellDiscoveryProbe Default
Publish WriteAction System.Discovery.PublishData Default

Source Code:

<WriteActionModuleType ID="Microsoft.JEE.Enable.Apm.WriteActionModuleType" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="EntityId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TargetInstanceId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TaskTimeoutSeconds" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Enable" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ClassId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="GroupClassId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationServerInstanceId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationServerHostName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationType" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationObjectName" type="xsd:string"/>
</Configuration>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<ProbeAction ID="CreateData" TypeID="Windows!Microsoft.Windows.PowerShellDiscoveryProbe">
<ScriptName>SetGroupMembership.ps1</ScriptName>
<ScriptBody><Script>##########################################################################################
# &lt;copyright file="Relationship.ps1" company="Microsoft"&gt;
# Copyright (c) Microsoft Corporation. All rights reserved.
# &lt;/copyright&gt;
# &lt;summary&gt;Script to create the relationship instance between an APM application and the
# group against which rules and monitors will run.
# &lt;/summary&gt;
##########################################################################################

#
# The Enable parameter is used to control whether the relationship is created or destroyed
#
param($EntityId, $TargetInstanceId, $Enable, $classid, $grpClassid, $appServerInstanceId, $appServerHostName, $appName, $appType, $appObjectName)
$api = New-Object -comObject 'Mom.ScriptAPI'

Import-Module OperationsManager

$discoveryData = $api.CreateDiscoveryData(0, $EntityId, $TargetInstanceId)

if($Enable -ne "0")
{
$srcInstance = $discoveryData.CreateClassInstance($grpClassid)

$tgtInstance = $discoveryData.CreateClassInstance($classid)
$tgtInstanceid = $tgtInstance.id
$tgtInstance.AddProperty('$MPElement[Name="JEE!Microsoft.JEE.ApplicationServer.Instance"]/Id$', $appServerInstanceId)
$tgtInstance.AddProperty('$MPElement[Name="JEE!Microsoft.JEE.ApplicationServer.Instance"]/HostName$', $appServerHostName)
$tgtInstance.AddProperty('$MPElement[Name="JEE!Microsoft.JEE.Application"]/ApplicationName$', $appName)
$tgtInstance.AddProperty('$MPElement[Name="JEE!Microsoft.JEE.Application"]/j2eeType$', $appType)
$tgtInstance.AddProperty('$MPElement[Name="JEE!Microsoft.JEE.Application"]/ObjectName$', $appObjectName)

$rel = '$MPElement[Name="Microsoft.JEE.Apm.GroupContainsApplication"]$'
$oRel = $discoveryData.CreateRelationshipInstance('$MPElement[Name="Microsoft.JEE.Apm.GroupContainsApplication"]$')
$oRelid = $oRel.id
$oRel.Source = $srcInstance
$oRel.Target = $tgtInstance

$discoveryData.AddInstance($oRel)
}
$discoveryData
</Script></ScriptBody>
<SnapIns/>
<Parameters>
<Parameter>
<Name>EntityId</Name>
<Value>$Config/EntityId$</Value>
</Parameter>
<Parameter>
<Name>TargetInstanceId</Name>
<Value>$Config/TargetInstanceId$</Value>
</Parameter>
<Parameter>
<Name>Enable</Name>
<Value>$Config/Enable$</Value>
</Parameter>
<Parameter>
<Name>classid</Name>
<Value>$Config/ClassId$</Value>
</Parameter>
<Parameter>
<Name>grpClassid</Name>
<Value>$Config/GroupClassId$</Value>
</Parameter>
<Parameter>
<Name>appServerInstanceId</Name>
<Value>$Config/ApplicationServerInstanceId$</Value>
</Parameter>
<Parameter>
<Name>appServerHostName</Name>
<Value>$Config/ApplicationServerHostName$</Value>
</Parameter>
<Parameter>
<Name>appName</Name>
<Value>$Config/ApplicationName$</Value>
</Parameter>
<Parameter>
<Name>appType</Name>
<Value>$Config/ApplicationType$</Value>
</Parameter>
<Parameter>
<Name>appObjectName</Name>
<Value>$Config/ApplicationObjectName$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>$Config/TaskTimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>false</StrictErrorHandling>
</ProbeAction>
<WriteAction ID="Publish" TypeID="System!System.Discovery.PublishData"/>
</MemberModules>
<Composition>
<Node ID="Publish">
<Node ID="CreateData"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>