User Commands
As an AAI administrator, in-house developer, or jobstream administrator, you can use the commands in this topic to execute actions from the command line of your operating system (CLI) or from a script to maintain user definitions. These are actions that you otherwise take on the User Management pages of AAI's user interface. For more information, see User Management.
This page includes the following:
add_user()
Add a new user.
Parameters:
-
user
- user id which will be entered in the login dialog, optionally followed by the domain name, as in 'georgew/WHITEHOUSE'.If no domain is supplied, 'JAWS' is assumed
-
password
(optional) - clear-text password, required for the JAWS domainDefault: None
-
role
(optional) - name of the user role: 'admin' or 'user'Default: 'user'
-
business_areas
(optional) - list of names of business areas;Default: None
-
prefs
(optional) - dictionary of preference settingsDefault: None
-
annotation
(optional) - description displayed on the "Edit User" dialogDefault: None
Dependencies:
- Must be logged in as admin
Result:
- New user added with given parameters
Example add_user() command line usage:
>>> add_user(user='admin2', password='admin2', role='admin', business_areas=['area2', 'area5'], prefs={u'RootBusinessDomain': u'402882aa4db54022014db658e34f08ad,402882aa4db54022014db659e49508d5'}, annotation='second admin') add user 'admin2' done
Example add_user() script usage:
import sys from jaws import * login() print 'begin' try: add_user(user='admin4', password='admin4', role='admin', business_areas=['area3', 'area6'], prefs={u'RootBusinessDomain': u'402882aa4db54022014db658e34f08ad,402882aa4db54022014db659e49508d5'}, annotation='second admin') print 'end' finally: logout()
copy_jaws_user()
Create a new user which is a copy of an existing user. Both users must be in the JAWS domain. Unless a password is specified, the old user's password will be used for the new user's password.
Parameters:
-
old_user
- user id of the user to be copied. The user must be a member of the JAWS domain. -
new_user
- user id of the new user to be created. The user will be created in the JAWS domain. -
password
(optional) - the password for the new user. If not supplied, the password from old_user will be reused for new_user. -
include_pages_panels
(optional) - Copies Vision/Insight pages/panels from the old_user.Default: False.
-
include_private_reports
(optional) - Copies Automic Automation Intelligence private reports from the old_user.Default: False
Dependencies:
- Must be logged in as admin
Result:
- New user created based on the original user.
Example copy_jaws_user() Command Line Usage with a Password:
>>> copy_jaws_user('oldUser', 'newUser', 'newUserPassword') copy user oldUser to new user newUser done
Example copy_jaws_user() Command Line Usage without a Password:
>>> copy_jaws_user('olderUser', 'newerUser') copy user olderUser to new user newerUser done
Example copy_jaws_user() Command Line Usage with pages/panels:
>>> copy_jaws_user('olderUser', 'newerUser', include_pages_panels=True)
copy user olderUser to new user newerUser
done
Example copy_jaws_user() Command Line Usage with reports:
>>> copy_jaws_user('olderUser', 'newerUser', include_private_reports=True) copy user olderUser to new user newerUser done
Example copy_jaws_user() script usage:
import sys from jaws import * login() print 'begin' try: copy_jaws_user('oldUser', 'newUser', 'newUserPassword') print 'end' finally: logout()
delete_user()
Delete a user from AAI.
Parameters:
user
- user id which will be entered in the login dialog, optionally followed by the domain name if more than one domain exists, as in 'georgew/WHITEHOUSE'. If no domain is supplied, 'JAWS' is assumed
Dependencies:
- Must be logged in as admin
Result:
- Given user deleted from AAI
Example delete_user() command line usage:
>>> delete_user(user='admin335') delete user 'admin335' done >>> delete_user('admin335')
Example delete_user() script usage:
import sys from jaws import * login() print 'begin' try: delete_user('admin4') print 'end' finally: logout()
update_user()
Update the properties of an existing user. Only the properties for which new values are provided will be updated.
Parameters:
-
user
- user id which will be entered in the login dialog, optionally followed by the domain name, as in 'georgew/WHITEHOUSE'.If no domain is supplied, 'JAWS' is assumed
-
password
(optional) - clear-text password which must be at least 6 characters, including a non-alpha character, or None. Overrides the previous setting, if provided.Default: None
-
role
(optional) - name of the user role: 'admin' or 'user', overrides the previous setting if providedDefault: 'user'
-
business_areas
(optional) - list of names of business areas overrides the previous setting if providedDefault: None
-
prefs
(optional) - python-style dictionary of preference settings overrides any previous preferences if providedDefault: None
-
annotation
(optional) - if provided, overrides the previous descriptionDefault: None
Dependencies:
- Must be logged in as admin to update other users, or as user to update only own properties
Result:
- Given user preferences updated for existing user
Example update_user() command line usage:
>>> update_user(user='admin2', password='adminuser2', role='user', business_areas=['area1', 'area4'], prefs={u'RootBusinessDomain': u'402882aa4db54022014db658e34f08ad'}, annotation='now user') update user 'admin2' done
Example update_user() script usage:
import sys from jaws import * login() print 'begin' try: update_user(user='admin2', password='adminuser2', role='user', business_areas=['area1', 'area4'], prefs={u'RootBusinessDomain': u'402882aa4db54022014db658e34f08ad'}, annotation='now user') print 'end' finally: logout()
user_business_areas()
Get a list of names of business areas which a user is configured to see as their "roots".
Parameters:
user
- user id which will be entered in the login dialog, optionally followed by the domain name if more than one domain exists, as in 'georgew/WHITEHOUSE'. If no domain is supplied, 'JAWS' is assumed
Dependencies:
- Must be logged in as admin
Result:
- List of user's "root" business areas
Example user_business_areas() command line usage:
>>> user_business_areas(user='user3') [u'area1', u'area2'] >>> user_business_areas('user3')
Example user_business_areas() script usage:
import sys from jaws import * login() print 'begin output' try: uba = user_business_areas('admin335') for u in uba: print u print 'end output' finally: logout()
user_impl()
Get the internal UserProfileLite Java object representing a particular user.
Parameters:
user
- user id which will be entered in the login dialog, optionally followed by the domain name if more than one domain exists, as in 'georgew/WHITEHOUSE'. If no domain is supplied, 'JAWS' is assumed
Dependencies:
- Must be logged in as admin
Result:
- Returns a UserProfileLite object
Example user_impl() command line usage:
>>> user_impl(user='admin335') UserProfileLite[null/admin335] >>> user_impl('admin335')
Example user_impl() script usage:
import sys from jaws import * login() print 'begin output' try: us = users(logged_in_only=False) for u in us: print u + ': ' + str(user_impl(u)) print 'end output' finally: logout()
user_prefs()
Get a dictionary of preferences for a user.
Parameters:
user
- user id which will be entered in the login dialog, optionally followed by the domain name if more than one domain exists, as in 'georgew/WHITEHOUSE'. If no domain is supplied, 'JAWS' is assumed
Dependencies:
- Must be logged in as admin
Result:
- A python-style dictionary of user preferences
Example user_prefs() command line usage:
>>> user_prefs(user='admin') {u'FrontRollupTab': u"Today's Runs", u'CustomActionsTableLayout': u'name: 95(up); action: 424; requiresAdmin: 127', u'JobStreamColumnLayout': u'name: header(up); targetJob: 79; scheduler: 78; jobcount: 45; areas: 111; monitorable: 31; forecastable: 31; critical: 31; runcount: 77; runfrequency: 104', u'JobMartSettingTableLayout': u'scheduler: header(up); jammedTime: 160; convertedTime: 160; zone: 147; jobs: 82; status: 79; instanceName: 69; schema: 67; CS: 37; schedulerType: 109', u'rollupJobStreamRunFilters': u'selectedTab': u'ADMIN', u'RootBusinessDomain': u'root', u'frameBounds': u'949,0,973,768'}
Example user_prefs() script usage:
import sys from jaws import * login() print 'begin output' try: us = users(logged_in_only=False) for u in us: print u + " preferences: " + str(user_prefs(u)) print 'end output' finally: logout()
users()
Get a list of user names/domains, as in 'bill' or 'georgew/WHITEHOUSE'.
Parameters:
logged_in_only
(optional) - if True, only users who are currently logged in are returned; default: True
Dependencies:
- Must be logged in as admin
Result:
- A list of user names/domains
Example users() command line usage:
>>> users(logged_in_only=False) [u'admin335', u'admin', u'user2', u'user3'] >>> users(False) >>> users()
Example users() script usage:
import sys from jaws import * login() print 'begin output' try: us = users(logged_in_only=False) for u in us: print u print 'end output' finally: logout()