updateProfileData

Use the updateProfileData command to update profile attribute data for the specified set of objects. This command only updates existing objects; if it cannot find the specified objects, it returns an error.

This command is useful in two distinct cases:

  • You want to update a collection of objects with a common set of attribute values. For example, you want to set the application group for a set of services to the same value.

  • You want to set the attribute values for a collection of objects to different values. For example, you want to import data obtained from an external data source.

See the discussion below for additional information.

Command Syntax

btmcli updateProfileData -t type [-query filterQuery] 
          [-val name1:val1 [[name2:val2]...]]] | [-profileData profileData]
         -s sphereUrl -l username:password
Name Long Name Description
-t -type The type of objects to update.
-query -filterQuery Selects the set of objects that match the query.

Use the Filter tool to construct AQL queries, and then copy and paste these into the command line.

-val -attributeValues A list of name:value pairs used to update the selected objects. Each entry in the list specifies the name of an attribute and its value.

If you provide this argument, you must also provide the -query argument.

Look at section "Attribute Names" for a complete list of commonly used attribute names and object types.

-- -profileData Specifies the name of a file containing the profile data to update. This file can have one of two formats, depending on the flags specified.

If you provide the -query argument, the file should be a Java properties file where each entry is an attribute name and its associated value.

If there is no -query argument, this file should be a text-delimited file in csv form where the first row specifies the attributes to update, and subsequent rows provide values for a series of object instances. In order to identify the objects to be updated, the key attributes must be included (either the object id or the attributes that make up the type's natural key).

-s -sphereUrl The URL of the sphere.

http://hostname:port/btmcentral/sphere/

This flag is not required if you have set the AP_SPHERE_URL environment variable for your sphere.

-l -userLogin The username and password associated with the sphere, in the format: username:password. This set of credentials must belong to a user in the btmadmin role.

See Security Options in Accessing CLI Commands for information on furnishing login credentials.

You can encrypt passwords using the encryptPassword command.


Discussion

This command has essentially three forms of use:

  • In order to update one or more attributes to the same values for a set of objects use the following form:

    updateProfileData -t myType -query myQuery -val attr1=valueattr2=value ...

    or the form

    updateProfileData -t myType -query myQuery -profileData javaPropFile

  • In order to perform a bulk update of a set of objects where the attribute values for each object are different (such as when updating from an external database), use the form:

updateProfileData -t myType -profileData CSVFile_with_1_row_per_Object_to_update

Example

The following example shows the updateProfile command.

btmcli updateProfileData -t endpoint -profileData MyJavaPropertyFile 
          -s http://localhost:8080/btmcentral/sphere/ -l Admin:abracadabra