Creating an extended object
When you create an extended object in the Configuration Object Dictionary, all users in your role can access it. The extended object becomes available under the Extended Object node (under the Live node) of any server in the Servers folder running one of the operating systems you specify in this procedure.
You also have the option of creating an extended object that is not associated with any operating system. An extended object defined in this way is available directly under the Live node.
You can set a limit to the number of records that a server can provide an Application Server for a single extended object. To accomplish this, you must use the Application Server Administration console (that is, the blasadmin utility) to set a value for the
MaxConfigRecords option. By default this value is set to 50,000. For more information, see Restricting the size of configuration and extended objects.
This topic contains the following sections:
Example scripts can be found at BMC Communities.
Before you begin
To create an extended object, you must identify a script that generates output according to a prescribed format. Using one of the many grammar files BMC Server Automation supports (see Grammar files supported by BMC Server Automation), the system can parse that output and present it in a format consistent with other information you view when browsing server objects or viewing the results of snapshots or audits. When you access the extended object (using browse, snap, audit, or compliance), the script executes and information for the object is refreshed. You can associate an extended object with a custom icon, making it easy to identify the extended object when browsing.
To create an extended object
- Do one of the following:
- Select Configuration > Config Object Dictionary. The Config Object Dictionary opens.
- When editing a component template, click Local Configuration Objects on the shortcut bar to display the Local Configuration Objects panel. It provides the same options as the Configuration Object Dictionary.
- Do one of the following:
- To create an extended object, click Add Configuration ObjectGeneral panel, select Extended Object and click Next. The Extended Object Definition panel of the wizard appears. . The New Configuration Object wizard opens. On the
- To modify an existing extended object, select that object and click Edit Configuration Object . The Edit Configuration Object: Extended Object window appears. It provides the same options as the Extended Object Definition panel of the Configuration Object wizard. To filter the list of extended objects displayed, use the drop-down lists at the top of the window to select the category of extended objects, the relevant operating system, or both.
- To copy an existing extended object, select that object and click Copy Configuration Object . This option functions the same as the Add Configuration Object icon except that all fields are automatically completed using information from the extended object you are copying.
- To delete one or more extended objects, select those objects and then click Delete Configuration Object . A message prompts you to confirm your action. Click Yes to confirm.
- For Name, enter a name for the extended object. For Description, you can optionally provide descriptive text.
From Operating Systems, select the class of OS to which this extended object applies. If you want to create an extended object that is associated with an object that does not have a BMC Server Automation RSCD agent installed, select None. If you select None, the Application Server must centrally execute the script or program associated with this extended object (as described in the explanation of Central Executionbelow).
A global configuration object defined in the Configuration Object Dictionary must not conflict with a local configuration object created within any component template. You are not allowed to save your extended object in the Configuration Object Dictionary if an extended object with the same name and operating system already exists in any component template. Similarly, you are not allowed to save your component template after creating a local extended object with the same name and operating system as any extended object that already exists in the Configuration Object Dictionary.
- From Icon, select the icon that should be associated with this extended object. To populate this list with choices, you must create an icon library (see Defining custom icons). If you select Default from this list, the standard icon for extended objects is associated with the extended object you are defining.
For Command/Script, enter a command that the extended object should run or enter the path or use Browseto navigate to the program or script generating information for the extended object. When entering a path, you can include one or more parameters. You can enter a parameter manually, or you can click Select Property . Using parameters, you can enter a path such as /??TARGET.WINDIR??/system32/$$TARGET.SCRIPT_DIR??/script.bat. When the script runs, the system replaces the parameters with the value of the server properties
SCRIPT_DIR. If you are defining a local extended object for a component template, use the local properties of the component template to make the path applicable to multiple instances of the same component on a server.
If any of the characters shown below are included in a command, they could potentially be interpreted as delimiters within a compound shell command. To prevent this, if any of these characters appear without being escaped or enclosed within quotes, BMC Server Automation treats the entire entry as a single string, as if it was enclosed in quotation marks.
; & | > < ( )
- Choose one of the following:
- Central Execution — Executes the script or program on the Application Server. The script or program must be available in the path or explicitly qualified with the path so that the Application Server can successfully invoke it.
- Remote Execution — Executes the script or program on a remote server using a Network Shell
nexec(or equivalent) command. The script or program must be available in the path or explicitly qualified with the path so that the agent on the remote server can successfully invoke it.
- From Character encoding, do one of the following:
- Select Output uses default encoding on executing system to use the default character encoding for the system where the extended object is generating output.
- Select Output uses encoding and then select the type of character encoding that is used when displaying the output of the extended object. For example, you might select UTF8 or UTF16.
- From Grammar file, select a type of grammar that can process output generated by the script you specified in the Command/Script field. For more information, see Grammar files supported by BMC Server Automation.
- Do one of the following:
- If you are copying or editing an existing extended object, click OK. The procedure is complete.
- If you are creating a local extended object for a component template, click Finish. The procedure is complete.
- If you are creating a new extended object, click Next. The Permissions panel appears. The Permissions panel is an access control list (ACL) granting roles access to this extended object. Access to all objects, including the sharing of objects between roles, is controlled through ACLs.
- On the Permissions panel, define an ACL for the extended object. For more information about defining an ACL, see Defining permissions for a system object.
- Click Finish to close the wizard and save the new extended object.