When a tool is invoked, the attributes of the tool target are automatically passed to the tool script. The attributes are passed to the tool script as environment variables in the form:

 SM_OBJ_<NAME>=<value>

The <NAME> parameter identifies the attribute and the <value> parameter contains the attribute’s value. For example, the ClassName attribute would be passed in the environment variable:

 SM_OBJ_CLASSNAME=Router

Your tool script must parse these environment variables and extract the information required by the program invoked by the tool script. For example, if you want a tool that telnets to a device, you need to extract the environment variable that contains the name or IP address of the device, as shown in the example code :

rem if SM_OBJ_Name isn't set in environment report an error
if not defined SM_OBJ_Name (
   echo Invalid SM_OBJ_NAME
   exit 0 
)
rem Use the value of SM_OBJ_Name to connect to the device
start /wait cmd /c "telnet %SM_OBJ_Name% "

The tool target can either be a notification or an instance. For both types of targets, a tool script receives the attributes listed in Attributes passed to all tool scripts as environment variables.

Table 1. Attributes passed to all tool scripts

Environment variable

Description

SM_REMOTE_USER

Specifies the VMware Smart Assurance username of the person that invoked the tool.

SM_SERVER_NAME

Specifies the name of the Global Manager that executes the tool script.

Attributes for element targets lists the attributes that are passed to the tool script when the target is an instance.

Table 2. Attributes for element targets

Element target attributes

Description

SM_OBJ_CLASS_NAME

Class name of the system. For example, Router.

SM_OBJ_INSTANCE_NAME

Name of the system.

SM_OBJ_DOMAIN_NAME

Name of the Global Manager.

Attributes for notification targets lists the attributes that are passed to the tool script when the target is a notification.

Table 3. Attributes for notification targets

Notification target attributes

Description

SM_OBJ_Acknowledged

Specifies whether the notification is acknowledged. TRUE if the notification has been acknowledged, FALSE if not.

SM_OBJ_Active

Specifies whether the notification is active. TRUE if the notification is active, FALSE if not.

SM_OBJ_Category

Type of notification sent by the Global Manager. Possible values include:

  • BackplaneUtilization

  • Error

  • Performance

  • PowerSupply

  • Resource

  • SystemConnectivity

  • Temperature

  • VLANConnectivity

SM_OBJ_Certainty

Confidence that this notification is the correct diagnosis. Value ranges from 0 to 100.

SM_OBJ_ClassDisplayName

Name of the ClassName that is displayed to the user.

SM_OBJ_ClassName

Name of the class where the event occurred. Might not be the same as SM_OBJ_ClassDisplayName.

SM_OBJ_ElementClassName

Class name of the managed element most closely related to this event.

SM_OBJ_ElementName

Name of the managed element most closely related to this event.

SM_OBJ_EventDisplayName

Name of the EventName that is displayed to the user.

SM_OBJ_EventName

Name of the event. Might not be the same as SM_OBJ_EventDisplayName.

SM_OBJ_EventText

A description of the notification.

SM_OBJ_EventType

MOMENTARY when the notification has no duration. DURABLE if the notification has a period for which it is active, such as a link failure.

SM_EventState

State of the event. Possible values include:

  • ACTIVE

  • WAS_ACTIVE

  • SUSPENDED

  • INACTIVE

The UNITIALIZED state is not relevant here.

SM_OBJ_FirstNotifiedAt

Time, in seconds, when the notification first became active.

SM_OBJ_Impact

Numeric value that indicates the effect of this event on related elements.

SM_OBJ_InMaintenance

TRUE if the device is in maintenance mode, FALSE if not.

SM_OBJ_InstanceDisplayName

Name of the InstanceName that is displayed to the user.

SM_OBJ_InstanceName

Name of the instance where the event occurred. Might not be the same as SM_OBJ_InstanceDisplayName.

SM_OBJ_IsProblem

TRUE if (and only if) at least one of the types is “PROBLEM”, and none of the types are anything other

than “PROBLEM” or “UNKNOWN”.

SM_OBJ_IsRoot

TRUE if the notification is a root cause, FALSE if not.

SM_OBJ_LastChangedAt

Time, in seconds, when the status of the notification last changed.

SM_OBJ_LastClearedAt

Time, in seconds, when the notification was last cleared.

SM_OBJ_LastNotifiedAt

Time, in seconds, when the notification was last notified.

SM_OBJ_Name

InternalEventHandle for the notification.

SM_OBJ_OccurrenceCount

Number of times the notification has occurred.

SM_OBJ_Owner

Name of the person responsible for this notification. Value is SYSTEM when acknowledged by the Global Manager.

SM_OBJ_Severity

Level of severity for this notification.

1 = CRITICAL

2 = MAJOR

3 = MINOR

4 = UNKNOWN

5 = NORMAL

SM_OBJ_SourceDomainName

Name of the underlying domain that sent this notification. If more than one domain is listed, the names are separated by commas.

SM_OBJ_SourceEventType

Indicates the type of event from an underlying source or sources. Value can be: PROBLEM, EVENT, AGGREGATE, or UNKNOWN. The default value is UNKNOWN.

SM_OBJ_TroubleTicketID

Trouble-ticket number associated with this notification.

SM_OBJ_UserDefined1-20

Twenty user-defined fields.You can populate these fields with data with an ASL hook script.

Attributes for escalation targets lists additional attributes that are passed to the tool script when the tool is invoked through an escalation policy.

Table 4. Attributes for escalation targets

Element target attributes

Description

SM_POBJ_POLICY

Name of the policy that executed the tool.

SM_POBJ_PATH

Name of the path that executed the tool.

SM_POBJ_LEVEL

Name of the level that executed the tool.

In addition to the attributes listed above, a server tool script receives the DISPLAY environment variable. The value of this variable is used to determine the location of the user’s X Window System display. “Running tools over X Windows” on page 156 includes detailed information for invoking server tools through an X Windows System.