Guest User

Untitled

a guest
Apr 6th, 2024
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.50 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ManagementPack SchemaVersion="2.0" ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <Manifest>
  4. <Identity>
  5. <ID>ApiMP</ID>
  6. <Version>1.0.0.19</Version>
  7. </Identity>
  8. <Name>ApiMP</Name>
  9. <References>
  10. <Reference Alias="Windows">
  11. <ID>Microsoft.Windows.Library</ID>
  12. <Version>7.5.8501.0</Version>
  13. <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
  14. </Reference>
  15. <Reference Alias="System">
  16. <ID>System.Library</ID>
  17. <Version>7.5.8501.0</Version>
  18. <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
  19. </Reference>
  20. <Reference Alias="Health">
  21. <ID>System.Health.Library</ID>
  22. <Version>7.0.8443.6</Version>
  23. <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
  24. </Reference>
  25. </References>
  26. </Manifest>
  27. <TypeDefinitions>
  28. <EntityTypes>
  29. <ClassTypes>
  30. <ClassType ID="CI.API.Country.Class" Base="Windows!Microsoft.Windows.LocalApplication" Accessibility="Public" Abstract="false" Hosted="true" Singleton="false">
  31. <Property ID="Name" Type="string" Key="true"/>
  32. <Property ID="Region" Type="string"/>
  33. <Property ID="Independent" Type="string"/>
  34. <!-- We choose Microsoft.Windows.LocalApplication as our generic base class -->
  35. </ClassType>
  36. </ClassTypes>
  37. </EntityTypes>
  38. <ModuleTypes>
  39. <DataSourceModuleType ID="CI.API.Country.Class.Discovery.DS" Accessibility="Internal" Batching="false">
  40. <Configuration>
  41. <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  42. <xsd:element name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  43. <xsd:element name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  44. <xsd:element name="DebugLogging" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  45. <xsd:element name="Exclusions" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  46. </Configuration>
  47. <OverrideableParameters>
  48. <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
  49. <OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
  50. <OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
  51. <OverrideableParameter ID="DebugLogging" Selector="$Config/DebugLogging$" ParameterType="bool" />
  52. <OverrideableParameter ID="Exclusions" Selector="$Config/Exclusions$" ParameterType="string" />
  53. </OverrideableParameters>
  54. <ModuleImplementation Isolation="Any">
  55. <Composite>
  56. <MemberModules>
  57. <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider">
  58. <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
  59. <SyncTime>$Config/SyncTime$</SyncTime>
  60. <ScriptName>CI.API.Country.Class.Discovery.DS.ps1</ScriptName>
  61. <ScriptBody>
  62. #=================================================================================
  63. # Describe Script Here
  64. #
  65. # Author:
  66. # v1.0
  67. #=================================================================================
  68. param($SourceId,$ManagedEntityId,$ComputerName,$MGName,$DebugLogging,$Exclusions)
  69.  
  70.  
  71. # Manual Testing section - put stuff here for manually testing script - typically parameters:
  72. #=================================================================================
  73. # $SourceId = '{00000000-0000-0000-0000-000000000000}'
  74. # $ManagedEntityId = '{00000000-0000-0000-0000-000000000000}'
  75. # $ComputerName = "computername.domain.com"
  76. # $MGName = "MGNAME"
  77. # $DebugLogging = "false"
  78. # $Exclusions = "foo"
  79. #=================================================================================
  80.  
  81.  
  82. # Constants section - modify stuff here:
  83. #=================================================================================
  84. # Assign script name variable for use in event logging.
  85. # ScriptName should be the same as the ID of the module that the script is contained in
  86. $ScriptName = "CI.API.Country.Class.Discovery.DS.ps1"
  87. $EventID = "777"
  88. #=================================================================================
  89.  
  90.  
  91. # Starting Script section - All scripts get this
  92. #=================================================================================
  93. # Gather the start time of the script
  94. $StartTime = Get-Date
  95. #Set variable to be used in logging events
  96. $whoami = whoami
  97. # Load MOMScript API
  98. $momapi = New-Object -comObject MOM.ScriptAPI
  99. #Log script event that we are starting task
  100. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Script is starting. `n Running as ($whoami). `n Management Group: ($MGName).")
  101. #=================================================================================
  102.  
  103.  
  104. # Discovery Script section - Discovery scripts get this
  105. #=================================================================================
  106. # Load SCOM Discovery module
  107. $DiscoveryData = $momapi.CreateDiscoveryData(0, $SourceId, $ManagedEntityId)
  108. #=================================================================================
  109.  
  110.  
  111. # Begin MAIN script section
  112. #=================================================================================
  113. # API Credentials
  114.  
  115. $restUrl = "https://restcountries.com/v3.1/all"
  116.  
  117. # Exclude devicetype InputOutput
  118. $Results = Invoke-RestMethod -Uri $restUrl
  119.  
  120. #Log script event that shows we passed some custom text as a parameter
  121. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Exclusions: ($Exclusions)")
  122.  
  123. #Show concept of additional debug logging
  124. IF ($DebugLogging.ToUpper() -eq "TRUE")
  125. {
  126. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n This event is being logged because debug Logging was set to: ($DebugLogging)")
  127. }
  128.  
  129. # If any returned results from API
  130. If ($Results)
  131. {
  132. $Results | Foreach-Object {
  133. $Name = "NA"
  134. $Region = "NA"
  135. $Independent = "NA"
  136. $Name = $_.name.common
  137. $Region = $_.region
  138. $Independent = $_.independent
  139. $instance = $DiscoveryData.CreateClassInstance("$MPElement[Name='CI.API.Country.Class']$")
  140. $instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", $ComputerName)
  141. $instance.AddProperty("$MPElement[Name='CI.API.Country.Class']/Name$", $Name)
  142. $instance.AddProperty("$MPElement[Name='CI.API.Country.Class']/Region$", $Region)
  143. $instance.AddProperty("$MPElement[Name='CI.API.Country.Class']/Independent$", $Independent)
  144. $instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $Name)
  145. $DiscoveryData.AddInstance($instance)
  146. }
  147. # Log an event that objects were discovered
  148. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Discovery script is returning objects. $($Results.count)")
  149. }
  150. Else
  151. {
  152. # Log an event for no objects discovered
  153. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Discovery script returned no discovered objects")
  154. }
  155.  
  156. # Return Discovery Items Normally
  157. $DiscoveryData
  158. # Return Discovery Bag to the command line for testing (does not work from ISE)
  159. # $momapi.Return($DiscoveryData)
  160. #=================================================================================
  161. # End MAIN script section
  162.  
  163.  
  164. # End of script section
  165. #=================================================================================
  166. #Log an event for script ending and total execution time.
  167. $EndTime = Get-Date
  168. $ScriptTime = ($EndTime - $StartTime).TotalSeconds
  169. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Script Completed. `n Script Runtime: ($ScriptTime) seconds.")
  170. #=================================================================================
  171. # End of script
  172. </ScriptBody>
  173. <Parameters>
  174. <Parameter>
  175. <Name>SourceId</Name>
  176. <Value>$MPElement$</Value>
  177. </Parameter>
  178. <Parameter>
  179. <Name>ManagedEntityId</Name>
  180. <Value>$Target/Id$</Value>
  181. </Parameter>
  182. <Parameter>
  183. <Name>MGName</Name>
  184. <Value>$Target/ManagementGroup/Name$</Value>
  185. </Parameter>
  186. <Parameter>
  187. <Name>ComputerName</Name>
  188. <Value>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
  189. </Parameter>
  190. <Parameter>
  191. <Name>DebugLogging</Name>
  192. <Value>$Config/DebugLogging$</Value>
  193. </Parameter>
  194. <Parameter>
  195. <Name>Exclusions</Name>
  196. <Value>$Config/Exclusions$</Value>
  197. </Parameter>
  198. </Parameters>
  199. <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
  200. </DataSource>
  201. </MemberModules>
  202. <Composition>
  203. <Node ID="DS" />
  204. </Composition>
  205. </Composite>
  206. </ModuleImplementation>
  207. <OutputType>System!System.Discovery.Data</OutputType>
  208. </DataSourceModuleType>
  209. <DataSourceModuleType ID="CI.API.CountryState.Monitor.DS" Accessibility="Internal" Batching="false">
  210. <Configuration>
  211. <xsd:element minOccurs="1" type="xsd:integer" name="IntervalSeconds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  212. <xsd:element minOccurs="0" type="xsd:string" name="SyncTime" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  213. <xsd:element minOccurs="1" type="xsd:string" name="ComputerName" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  214. <xsd:element minOccurs="1" type="xsd:integer" name="TimeoutSeconds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  215. </Configuration>
  216. <OverrideableParameters>
  217. <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
  218. <OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
  219. <OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
  220. </OverrideableParameters>
  221. <ModuleImplementation Isolation="Any">
  222. <Composite>
  223. <MemberModules>
  224. <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
  225. <Scheduler>
  226. <SimpleReccuringSchedule>
  227. <Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
  228. <SyncTime>$Config/SyncTime$</SyncTime>
  229. </SimpleReccuringSchedule>
  230. <ExcludeDates />
  231. </Scheduler>
  232. </DataSource>
  233. <ProbeAction ID="PA" TypeID="Windows!Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe">
  234. <ScriptName>CI.API.CountryState.Monitor.DS.ps1</ScriptName>
  235. <ScriptBody>
  236. #=================================================================================
  237. # Describe Script Here
  238. #
  239. # Author:
  240. # v1.0
  241. #=================================================================================
  242. param([string]$ComputerName,[string]$Independent)
  243.  
  244.  
  245. # Manual Testing section - put stuff here for manually testing script - typically parameters:
  246. #=================================================================================
  247. # $ComputerName = "computername.domain.com"
  248. # $Independent = "true"
  249. #=================================================================================
  250.  
  251.  
  252. # Constants section - modify stuff here:
  253. #=================================================================================
  254. # Assign script name variable for use in event logging.
  255. $ScriptName = "CI.API.CountryState.Monitor.DS.ps1"
  256. $EventID = "778"
  257. #=================================================================================
  258.  
  259.  
  260. # Starting Script section - All scripts get this
  261. #=================================================================================
  262. # Gather the start time of the script
  263. $StartTime = Get-Date
  264. #Set variable to be used in logging events
  265. $whoami = whoami
  266. # Load MOMScript API
  267. $momapi = New-Object -comObject MOM.ScriptAPI
  268. # Load PropertyBag function
  269. $bag = $momapi.CreatePropertyBag()
  270. #Log script event that we are starting task
  271. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Script is starting. `n Running as ($whoami).")
  272. #=================================================================================
  273.  
  274.  
  275. # Begin MAIN script section
  276. #=================================================================================
  277. #Log script parameters we received
  278. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`nScript parameters passed into datasource: `nComputerName: ($ComputerName).")
  279.  
  280. #$Result = Get-SCOMClass -Name CI.API.Country.Class | Get-ScomClassInstance | ?{$_.Displayname -eq "Jordan"}
  281. $strCondition = $independent
  282.  
  283. #Check the value of $strCondition
  284. IF ($strCondition -eq "true")
  285. {
  286. $momapi.LogScriptEvent($ScriptName,$EventID,0,"Good Condition Found")
  287. $bag.AddValue('Result','GoodCondition')
  288. }
  289. ELSE
  290. {
  291. $momapi.LogScriptEvent($ScriptName,$EventID,0,"Bad Condition Found")
  292. $bag.AddValue('Result','BadCondition')
  293. }
  294.  
  295. # Return all bags
  296. $bag
  297. #=================================================================================
  298. # End MAIN script section
  299.  
  300.  
  301. # End of script section
  302. #=================================================================================
  303. #Log an event for script ending and total execution time.
  304. $EndTime = Get-Date
  305. $ScriptTime = ($EndTime - $StartTime).TotalSeconds
  306. $momapi.LogScriptEvent($ScriptName,$EventID,0,"`n Script Completed. `n Script Runtime: ($ScriptTime) seconds.")
  307. #=================================================================================
  308. # End of script
  309. </ScriptBody>
  310. <Parameters>
  311. <Parameter>
  312. <Name>ComputerName</Name>
  313. <Value>$Config/ComputerName$</Value>
  314. </Parameter>
  315. <Parameter>
  316. <Name>Independent</Name>
  317. <Value>$Target/Property[Type="CI.API.Country.Class"]/Independent$</Value>
  318. </Parameter>
  319. </Parameters>
  320. <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
  321. </ProbeAction>
  322. </MemberModules>
  323. <Composition>
  324. <Node ID="PA">
  325. <Node ID="Scheduler" />
  326. </Node>
  327. </Composition>
  328. </Composite>
  329. </ModuleImplementation>
  330. <OutputType>System!System.PropertyBagData</OutputType>
  331. </DataSourceModuleType>
  332. </ModuleTypes>
  333. <MonitorTypes>
  334. <UnitMonitorType ID="CI.API.CountryState.Monitor.MonitorType" Accessibility="Internal">
  335. <MonitorTypeStates>
  336. <MonitorTypeState ID="GoodCondition" NoDetection="false" />
  337. <MonitorTypeState ID="BadCondition" NoDetection="false" />
  338. </MonitorTypeStates>
  339. <Configuration>
  340. <xsd:element minOccurs="1" type="xsd:integer" name="IntervalSeconds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  341. <xsd:element minOccurs="0" type="xsd:string" name="SyncTime" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  342. <xsd:element minOccurs="1" type="xsd:string" name="ComputerName" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  343. <xsd:element minOccurs="1" type="xsd:integer" name="TimeoutSeconds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  344. <xsd:element minOccurs="1" type="xsd:integer" name="MatchCount" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  345. </Configuration>
  346. <OverrideableParameters>
  347. <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
  348. <OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
  349. <OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
  350. <OverrideableParameter ID="MatchCount" Selector="$Config/MatchCount$" ParameterType="int" />
  351. </OverrideableParameters>
  352. <MonitorImplementation>
  353. <MemberModules>
  354. <DataSource ID="DS" TypeID="CI.API.CountryState.Monitor.DS">
  355. <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
  356. <SyncTime>$Config/SyncTime$</SyncTime>
  357. <ComputerName>$Config/ComputerName$</ComputerName>
  358. <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
  359. </DataSource>
  360. <ConditionDetection ID="GoodConditionFilter" TypeID="System!System.ExpressionFilter">
  361. <Expression>
  362. <SimpleExpression>
  363. <ValueExpression>
  364. <XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
  365. </ValueExpression>
  366. <Operator>Equal</Operator>
  367. <ValueExpression>
  368. <Value Type="String">GoodCondition</Value>
  369. </ValueExpression>
  370. </SimpleExpression>
  371. </Expression>
  372. </ConditionDetection>
  373. <ConditionDetection ID="BadConditionFilter" TypeID="System!System.ExpressionFilter">
  374. <Expression>
  375. <SimpleExpression>
  376. <ValueExpression>
  377. <XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
  378. </ValueExpression>
  379. <Operator>Equal</Operator>
  380. <ValueExpression>
  381. <Value Type="String">BadCondition</Value>
  382. </ValueExpression>
  383. </SimpleExpression>
  384. </Expression>
  385. <SuppressionSettings>
  386. <MatchCount>$Config/MatchCount$</MatchCount>
  387. </SuppressionSettings>
  388. </ConditionDetection>
  389. </MemberModules>
  390. <RegularDetections>
  391. <RegularDetection MonitorTypeStateID="GoodCondition">
  392. <Node ID="GoodConditionFilter">
  393. <Node ID="DS" />
  394. </Node>
  395. </RegularDetection>
  396. <RegularDetection MonitorTypeStateID="BadCondition">
  397. <Node ID="BadConditionFilter">
  398. <Node ID="DS" />
  399. </Node>
  400. </RegularDetection>
  401. </RegularDetections>
  402. <OnDemandDetections>
  403. <OnDemandDetection MonitorTypeStateID="GoodCondition">
  404. <Node ID="GoodConditionFilter">
  405. <Node ID="DS" />
  406. </Node>
  407. </OnDemandDetection>
  408. <OnDemandDetection MonitorTypeStateID="BadCondition">
  409. <Node ID="BadConditionFilter">
  410. <Node ID="DS" />
  411. </Node>
  412. </OnDemandDetection>
  413. </OnDemandDetections>
  414. </MonitorImplementation>
  415. </UnitMonitorType>
  416. </MonitorTypes>
  417. </TypeDefinitions>
  418. <Monitoring>
  419. <Discoveries>
  420. <Discovery ID="CI.API.Country.Class.Discovery" Target="Windows!Microsoft.Windows.Server.OperatingSystem" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal">
  421. <!-- We choose Microsoft.Windows.Server.OperatingSystem as the preferred target class to ensure this will run on all Windows Servers, but will not create duplicates on clusters -->
  422. <Category>Discovery</Category>
  423. <DiscoveryTypes>
  424. <DiscoveryClass TypeID="CI.API.Country.Class">
  425. <Property PropertyID="Name" />
  426. <Property PropertyID="Region" />
  427. <Property PropertyID="Independent" />
  428. </DiscoveryClass>
  429. </DiscoveryTypes>
  430. <DataSource ID="DS" TypeID="CI.API.Country.Class.Discovery.DS">
  431. <IntervalSeconds>60</IntervalSeconds>
  432. <SyncTime></SyncTime>
  433. <TimeoutSeconds>120</TimeoutSeconds>
  434. <DebugLogging>true</DebugLogging>
  435. <Exclusions>foo</Exclusions>
  436. </DataSource>
  437. </Discovery>
  438. </Discoveries>
  439. <Monitors>
  440. <UnitMonitor ID="CI.API.CountryState.Monitor" Accessibility="Public" Enabled="true" Target="CI.API.Country.Class" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="CI.API.CountryState.Monitor.MonitorType" ConfirmDelivery="true">
  441. <Category>AvailabilityHealth</Category>
  442. <AlertSettings AlertMessage="CI.API.CountryState.Monitor.AlertMessage">
  443. <AlertOnState>Warning</AlertOnState> <!-- Warning or Error should match OperationalStates below -->
  444. <AutoResolve>true</AutoResolve>
  445. <AlertPriority>Normal</AlertPriority>
  446. <AlertSeverity>MatchMonitorHealth</AlertSeverity> <!-- Common options for AlertSeverity are MatchMonitorHealth, Information, Warning, Error -->
  447. <AlertParameters>
  448. <AlertParameter1>$Data/Context/Property[@Name='Result']$</AlertParameter1> <!-- This is an example of passing property output from the script into the alert description -->
  449. </AlertParameters>
  450. </AlertSettings>
  451. <OperationalStates>
  452. <OperationalState ID="GoodCondition" MonitorTypeStateID="GoodCondition" HealthState="Success" />
  453. <OperationalState ID="BadCondition" MonitorTypeStateID="BadCondition" HealthState="Warning" /> <!-- HealthState = Warning or Error -->
  454. </OperationalStates>
  455. <Configuration>
  456. <IntervalSeconds>3600</IntervalSeconds>
  457. <SyncTime></SyncTime>
  458. <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName> <!-- Might need to change the number of Host entries in this line depending on your target class -->
  459. <TimeoutSeconds>120</TimeoutSeconds>
  460. <MatchCount>2</MatchCount> <!-- This is the number of consecutive matches that must be met before the monitor will change state. Also a good example of passing in Integer data. -->
  461. </Configuration>
  462. </UnitMonitor>
  463. </Monitors>
  464. </Monitoring>
  465. <Presentation>
  466. <StringResources>
  467. <StringResource ID="CI.API.CountryState.Monitor.AlertMessage" />
  468. </StringResources>
  469. </Presentation>
  470. <LanguagePacks>
  471. <LanguagePack ID="ENU" IsDefault="true">
  472. <DisplayStrings>
  473. <DisplayString ElementID="CI.API.Country.Class">
  474. <Name>CI API Country Class</Name>
  475. </DisplayString>
  476. <DisplayString ElementID="CI.API.Country.Class" SubElementID="Name">
  477. <Name>Name</Name>
  478. </DisplayString>
  479. <DisplayString ElementID="CI.API.Country.Class" SubElementID="Region">
  480. <Name>Region</Name>
  481. </DisplayString>
  482. <DisplayString ElementID="CI.API.Country.Class" SubElementID="Independent">
  483. <Name>Independent</Name>
  484. </DisplayString>
  485. <DisplayString ElementID="CI.API.Country.Class.Discovery">
  486. <Name>CI API Country Class Discovery</Name>
  487. </DisplayString>
  488. <DisplayString ElementID="CI.API.CountryState.Monitor">
  489. <Name>CI API CountryState Monitor</Name>
  490. <Description></Description>
  491. </DisplayString>
  492. <DisplayString ElementID="CI.API.CountryState.Monitor" SubElementID="GoodCondition">
  493. <Name>Good Condition</Name>
  494. </DisplayString>
  495. <DisplayString ElementID="CI.API.CountryState.Monitor" SubElementID="BadCondition">
  496. <Name>Bad Condition</Name>
  497. </DisplayString>
  498. <DisplayString ElementID="CI.API.CountryState.Monitor.AlertMessage">
  499. <Name>CI API CountryState Monitor: Failure</Name>
  500. <Description>CI API CountryState Monitor: detected a bad condition
  501. Result: {0}</Description>
  502. </DisplayString>
  503. </DisplayStrings>
  504. <KnowledgeArticles></KnowledgeArticles>
  505. </LanguagePack>
  506. </LanguagePacks>
  507. </ManagementPack>
Add Comment
Please, Sign In to add comment