2025-04-27 07:49:33 -04:00

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 ;
};