644 lines
18 KiB
Plaintext
644 lines
18 KiB
Plaintext
#pragma namespace ( "\\\\.\\root\\cimv2" )
|
|
|
|
[
|
|
dynamic,
|
|
provider("Microsoft WMI Template Provider"),
|
|
crln_output_class("ITG_MonitorState"),
|
|
crln_arity("1"),
|
|
crln_type("DataProperty"),
|
|
description("")
|
|
]
|
|
class MSFT_Protocol_Vs_Icmp_Template : MSFT_TemplateBase
|
|
{
|
|
[key] string Name;
|
|
|
|
[crln_classname("Monitor"), NotNull ] string ProtocolWatchClass;
|
|
[crln_condition("Monitor"), NotNull ] string ProtocolWatchCondition;
|
|
[crln_domain("Monitor"), NotNull ] string ProtocolWatchServer;
|
|
[crln_domain("Monitor")] string ProtocolWatchDomain;
|
|
[crln_id_prop("Monitor"), NotNull] string ProtocolCorrelationIdProperty;
|
|
[crln_delay_tol("Monitor")] real32 ProtocolDelayTolerance;
|
|
[crln_delay_tol("Monitor")] real32 ProtocolWindowInterval;
|
|
[crln_delay_tol("Monitor")] real32 ProtocolPercentage;
|
|
|
|
[crln_delay_tol("Monitor")] real32 IcmpPollInterval;
|
|
[crln_delay_tol("Monitor")] real32 IcmpWindowInterval;
|
|
[crln_delay_tol("Monitor")] real32 IcmpPercentage;
|
|
};
|
|
|
|
[ dynamic, provider("Microsoft WMI Transient Provider")]
|
|
class MSFT_Protocol_Vs_Icmp_State : MSFT_CorrelationStateBase
|
|
{
|
|
boolean WatchIcmpState;
|
|
boolean WatchProtocolState;
|
|
real64 AverageIcmpValue;
|
|
real64 AverageProtocolValue ;
|
|
boolean ProtocolJoinedState;
|
|
boolean IcmpJoinedState;
|
|
boolean WatchJoinedState;
|
|
};
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "ProtocolWatch" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_TimeWatchTemplate
|
|
{
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnProtocolStatus")
|
|
]
|
|
Name ;
|
|
|
|
[
|
|
template_arg("ProtocolWatchClass")
|
|
]
|
|
WatchClass ;
|
|
|
|
[
|
|
template_arg("ProtocolWatchCondition")
|
|
]
|
|
WatchCondition ;
|
|
|
|
[
|
|
template_val (
|
|
|
|
"%ProtocolCorrelationIdProperty% = \"http://%ProtocolWatchServer%/\" "
|
|
"%!ConditionalSubstitution(\"AND (\",ProtocolWatchDomain)%"
|
|
"%ProtocolWatchDomain%"
|
|
"%!ConditionalSubstitution(\")\",ProtocolWatchDomain)%"
|
|
)
|
|
]
|
|
WatchDomain ;
|
|
|
|
[
|
|
template_arg("ProtocolDelayTolerance")
|
|
]
|
|
DelayTolerance ;
|
|
|
|
[
|
|
template_arg("ProtocolCorrelationIdProperty")
|
|
]
|
|
CorrelationIdProp ;
|
|
|
|
WatchTime = 0;
|
|
ReminderTime = 0;
|
|
};
|
|
|
|
Order = 0;
|
|
} ;
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "ProtocolAverage" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_TimeAverageTemplate
|
|
{
|
|
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnProtocolStatus")
|
|
]
|
|
Name ;
|
|
|
|
WatchClass = "MSFT_TimeWatchState";
|
|
|
|
WatchProp = "MeetsCondition";
|
|
|
|
[
|
|
template_val (
|
|
|
|
"Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnProtocolStatus'"
|
|
)
|
|
]
|
|
WatchDomain ;
|
|
|
|
CorrelationIdProp = "CorrelationId";
|
|
|
|
[
|
|
template_arg("ProtocolWindowInterval")
|
|
]
|
|
WindowInterval ;
|
|
|
|
[
|
|
template_arg("ProtocolDelayTolerance")
|
|
]
|
|
Interval ;
|
|
};
|
|
|
|
Order = 1;
|
|
} ;
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "IcmpWatch" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_TimeWatchTemplate
|
|
{
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpStatus")
|
|
]
|
|
Name ;
|
|
|
|
WatchClass = "Win32_PingProtocolStatus";
|
|
WatchCondition = "StatusCode != 0";
|
|
DelayTolerance = 5;
|
|
CorrelationIdProp = "Address";
|
|
WatchTime = 0;
|
|
ReminderTime = 0;
|
|
|
|
[
|
|
template_val (
|
|
|
|
"Address = '%ProtocolWatchServer%' "
|
|
)
|
|
]
|
|
WatchDomain ;
|
|
};
|
|
|
|
Order = 2 ;
|
|
} ;
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "IcmpAverage" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_TimeAverageTemplate
|
|
{
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnIcmp")
|
|
]
|
|
Name ;
|
|
|
|
WatchClass = "MSFT_TimeWatchState";
|
|
|
|
WatchProp = "MeetsCondition";
|
|
[
|
|
template_val ( "Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpStatus'" )
|
|
]
|
|
WatchDomain ;
|
|
|
|
CorrelationIdProp = "CorrelationId";
|
|
|
|
[
|
|
template_arg("IcmpWindowInterval")
|
|
]
|
|
WindowInterval ;
|
|
|
|
[
|
|
template_arg("IcmpPollInterval")
|
|
]
|
|
Interval ;
|
|
};
|
|
|
|
Order = 3 ;
|
|
} ;
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Icmp_Protocol_SimpleJoin" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_SimpleJoinTemplate
|
|
{
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.SimpleJoinOnHttpAndIcmpAverages")
|
|
]
|
|
Name ;
|
|
|
|
WatchClassA = "MSFT_TimeAverageState";
|
|
|
|
[
|
|
template_val ( "Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnProtocolStatus'" )
|
|
]
|
|
WatchDomainA ;
|
|
|
|
CorrelationIdPropA = "__Class";
|
|
|
|
[template_val ( "Average < %ProtocolPercentage%" ) ] WatchConditionA ;
|
|
|
|
WatchClassB = "MSFT_TimeAverageState";
|
|
|
|
[
|
|
template_val ( "Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnIcmp'" )
|
|
]
|
|
WatchDomainB ;
|
|
|
|
CorrelationIdPropB = "__Class";
|
|
|
|
[template_val ( "Average < %IcmpPercentage%" ) ] WatchConditionB ;
|
|
};
|
|
|
|
Order = 4 ;
|
|
} ;
|
|
|
|
Instance Of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Icmp_Protocol_SimpleJoin_Watch" ;
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_TimeWatchTemplate
|
|
{
|
|
[
|
|
template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpAndHttpStatus")
|
|
]
|
|
Name ;
|
|
|
|
WatchClass = "MSFT_SimpleJoinState";
|
|
|
|
WatchCondition = "AMeetsCondition = TRUE And BMeetsCondition = FALSE";
|
|
[
|
|
template_val ( "Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.SimpleJoinOnHttpAndIcmpAverages'" )
|
|
]
|
|
WatchDomain ;
|
|
|
|
DelayTolerance = 5;
|
|
CorrelationIdProp = "__RELPATH";
|
|
WatchTime = 30 ;
|
|
ReminderTime = 0;
|
|
};
|
|
|
|
Order = 5 ;
|
|
} ;
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_ICMP
|
|
{
|
|
Name = "Icmp_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.Icmp_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, WatchIcmpState ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.MeetsCondition )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 6 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Icmp_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.Icmp_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpStatus'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_ICMP)] Instruction;
|
|
};
|
|
|
|
Order = 7;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Icmp_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.Icmp_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpStatus'")
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_ICMP)] Instruction;
|
|
};
|
|
|
|
Order = 8;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_PROTOCOLSTATE
|
|
{
|
|
Name = "ProtocolState_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.ProtocolState_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, WatchProtocolState ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.MeetsCondition )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 9 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "ProtocolState_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.ProtocolState_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnProtocolStatus'")
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_PROTOCOLSTATE)] Instruction;
|
|
};
|
|
|
|
Order = 10;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "ProtocolState_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.ProtocolState_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnProtocolStatus'")
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_PROTOCOLSTATE)] Instruction;
|
|
};
|
|
|
|
Order = 11;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_AVERAGEICMP
|
|
{
|
|
Name = "IcmpAverage_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.IcmpAverage_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, AverageIcmpValue ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.Average )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 12 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "IcmpAverage_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.IcmpAverage_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeAverageState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnIcmp'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_AVERAGEICMP)] Instruction;
|
|
};
|
|
|
|
Order = 13;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "IcmpAverage_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.IcmpAverage_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeAverageState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnIcmp'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_AVERAGEICMP)] Instruction;
|
|
};
|
|
|
|
Order = 14;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_AVERAGEPROTOCOLSTATE
|
|
{
|
|
Name = "AverageProtocolState_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.AverageProtocolState_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, AverageProtocolValue ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.Average )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 15 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "AverageProtocolState_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.AverageProtocolState_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeAverageState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnProtocolStatus'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_AVERAGEPROTOCOLSTATE)] Instruction;
|
|
};
|
|
|
|
Order = 16;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "AverageProtocolState_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.AverageProtocolState_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeAverageState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeAverageOnProtocolStatus'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_AVERAGEPROTOCOLSTATE)] Instruction;
|
|
};
|
|
|
|
Order = 17;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_SIMPLEJOIN
|
|
{
|
|
Name = "Join_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.Join_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, ProtocolJoinedState , IcmpJoinedState ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.AMeetsCondition , __EVENT.TargetInstance.BMeetsCondition )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 18 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Join_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.Join_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_SimpleJoinState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.SimpleJoinOnHttpAndIcmpAverages'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_SIMPLEJOIN)] Instruction;
|
|
};
|
|
|
|
Order = 19;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "Join_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.Join_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_SimpleJoinState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.SimpleJoinOnHttpAndIcmpAverages'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_SIMPLEJOIN)] Instruction;
|
|
};
|
|
|
|
Order = 20;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder as $CEC_WATCHSIMPLEJOIN
|
|
{
|
|
Name = "WatchJoin_Consumer";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_UpdatingConsumer
|
|
{
|
|
[template_val("MSFT_Protocol_Vs_Icmp_Template_%Name%.WatchJoin_Consumer")] Name ;
|
|
[template_arg("Name")] Scenario;
|
|
|
|
// flags = { 2 };
|
|
|
|
[template_val{ "INSERT MSFT_Protocol_Vs_Icmp_State "
|
|
"( Scenario, CorrelationId, WatchJoinedState ) "
|
|
"( \"MSFT_Protocol_Vs_Icmp_Template_%Name%\", \"MSFT_Protocol_Vs_Icmp_Template_%Name%\" , __EVENT.TargetInstance.MeetsCondition )"
|
|
}] Commands;
|
|
};
|
|
|
|
Order = 21 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "WatchJoin_CreationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.WatchJoin_CreationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceCreationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpAndHttpStatus'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_WATCHSIMPLEJOIN)] Instruction;
|
|
};
|
|
|
|
Order = 22 ;
|
|
};
|
|
|
|
instance of MSFT_TemplateBuilder
|
|
{
|
|
Name = "WatchJoin_ModificationFilter";
|
|
Template = "MSFT_Protocol_Vs_Icmp_Template";
|
|
|
|
TemplateObject = instance of MSFT_ConsumerFilterBindingTemplate
|
|
{
|
|
[template_val( "MSFT_Protocol_Vs_Icmp_Template_%Name%.WatchJoin_ModificationFilter" )] Name;
|
|
|
|
[template_val( "Select * from __InstanceModificationEvent "
|
|
"Where "
|
|
"TargetInstance isa 'MSFT_TimeWatchState' And "
|
|
"TargetInstance.Scenario = 'MSFT_Protocol_Vs_Icmp_Template_%Name%.TimeWatchOnIcmpAndHttpStatus'" )
|
|
] FilterQuery;
|
|
|
|
[template_ref($CEC_WATCHSIMPLEJOIN)] Instruction;
|
|
};
|
|
|
|
Order = 23 ;
|
|
};
|
|
|