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 domain

    Default: 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 settings

    Default: None

  • annotation (optional) - description displayed on the "Edit User" dialog

    Default: 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 AAI 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 provided

    Default: 'user'

  • business_areas (optional) - list of names of business areas overrides the previous setting if provided

    Default: None

  • prefs (optional) - python-style dictionary of preference settings overrides any previous preferences if provided

    Default: None

  • annotation (optional) - if provided, overrides the previous description

    Default: 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()