<WriteActionModuleType ID="DataONTAP.Virtualization.Monitoring.LUN.UsedSpace.WriteActionModuleType" Accessibility="Internal" Batching="false" RunAs="DS!DataONTAP.SecureReference.RunAsProfileVirtualization">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="WarningThresholdPercentage" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="CriticalThresholdPercentage" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="TimeoutSeconds" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="WarningThresholdPercentage" Selector="$Config/WarningThresholdPercentage$" ParameterType="int"/>
<OverrideableParameter ID="CriticalThresholdPercentage" Selector="$Config/CriticalThresholdPercentage$" ParameterType="int"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="RunScript" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>LogLunUsedSpace.vbs</ScriptName>
<Arguments>$Target/Property[Type="DataONTAP.Virtualization.ManagementServer"]/Fqdn$ $Config/WarningThresholdPercentage$ $Config/CriticalThresholdPercentage$</Arguments>
<ScriptBody><Script>
'**********************************************************************************
' Script Name - LogLunUsedSpace.vbs
'
'
' Description:
' Log events related to Hyper-V LUN used space
'
' (c) Copyright NetApp Inc. 2010 - All rights reserved
'**********************************************************************************
Option Explicit
SetLocale("en-us")
Dim oAPI
Set oAPI = CreateObject("MOM.ScriptAPI")
Dim oArgs
Set oArgs = WScript.Arguments
Dim errorMessage
if oArgs.Count < 3 Then
errorMessage = "LogLunUsedSpace.vbs was called with the incorrect # of parameters (param count = " & oArgs.Count & ")."
'WScript.Echo(errorMessage)
Call oAPI.LogScriptEvent("LogLunUsedSpace.vbs",1201,0,errorMessage)
Wscript.Quit -1
End If
Dim ManagementServer, warningThreshold, criticalThreshold
Dim oNetAppSCOMAPI
Set oNetAppSCOMAPI = CreateObject("NetApp.OM.Server.Monitoring.VirtualizationMonitoring")
If Err Then
errorMessage = "Failed to create NetAppSCOM object" & vbNewLine & _
"Err.description = """ & Err.description & """" & vbNewLine & _
"Err.helpcontext = """ & Err.helpcontext & """" & vbNewLine & _
"Err.helpfile = """ & Err.helpfile & """" & vbNewLine & _
"Err.number = """ & Err & """ (&H" & hex(Err) & ")" & vbNewLine & _
"Err.source = """ & Err.source & """" & vbNewLine
'WScript.Echo(errorMessage)
Call oAPI.LogScriptEvent("LogLunUsedSpace.vbs",1202,0,errorMessage)
WScript.Quit -1
End If
Dim result
result = oNetAppSCOMAPI.CheckLUNUsedSpace(ManagementServer, warningThreshold, criticalThreshold)
If Err Then
errorMessage = "Failed to call LogLunOnlineStatus" & vbNewLine & _
"Err.description = """ & Err.description & """" & vbNewLine & _
"Err.helpcontext = """ & Err.helpcontext & """" & vbNewLine & _
"Err.helpfile = """ & Err.helpfile & """" & vbNewLine & _
"Err.number = """ & Err & """ (&H" & hex(Err) & ")" & vbNewLine & _
"Err.source = """ & Err.source & """" & vbNewLine
'WScript.Echo(errorMessage)
Call oAPI.LogScriptEvent("LogLunUsedSpace.vbs",1203,0,errorMessage)
WScript.Quit -1
End If
Call oAPI.LogScriptEvent("LogLunUsedSpace.vbs",1204,0,"Event collection succeeded for " & ManagementServer & ".")