Red Hat Training

A Red Hat training course is available for Red Hat Gluster Storage

A.7. Python SDK Example: Users

getFilterHeader
def getFilterHeader():
     """ Has user admin role or user role? """
     return contextmanager.get('filter')
loginAsUser
def loginAsUser(userName=config.USER_NAME,
                 domain=config.USER_DOMAIN,
                 password=config.USER_PASSWORD,
                 filter_=True):
     LOGGER.info("Login as %s" % userName)
     global API
     API.disconnect()
     API = ovirtsdk.api.API(url=config.OVIRT_URL, insecure=True,
                     username=userName+'@'+domain,
                     password=password, filter=filter_)
loginAsAdmin
 def loginAsAdmin():
     loginAsUser(config.OVIRT_USERNAME,
                 config.OVIRT_DOMAIN,
                 config.OVIRT_PASSWORD,
                 filter_=False)
editObject
def editObject(rhsc_object, name, newName=None, description=None, append=False):
     """
     Edit object property.
     Parameters:
      * rhsc_object - object to be edited
      * name - name of object
      * newName - new name of object
      * description - description to be updated
      * append - True if append to old description else create new
     """
     obj = rhsc_object.get(name)

     old_name = obj.get_name()
     old_desc = obj.get_description()
     if newName is not None:removing the first digit from a line
         LOGGER.info("Updating name from '%s' to '%s'" %(name, newName))
         obj.set_name(newName)
         obj.update()
         obj = rhsc_object.get(name)
         assert old_name != obj.get_name(), "Failed to update object name"

     if description is not None:
         LOGGER.info("Updating desc from '%s' to '%s'" %(name, description))
         if old_desc is None:
             old_desc = ""
         obj.set_description(old_desc + description if append else description)
         obj.update()
         obj = rhsc_object.get(name)
         assert old_desc != obj.get_description(), "Failed to update object description"
hasUserPermissions
def hasUserPermissions(obj, role, user=config.USER_NAME, domain=config.USER_DOMAIN):
     """
     Tests if user have role permssions on rhsc_object
     Parameters:
      * obj    - object which we wanna tests
      * role   - role we wanna test
      * user   - user we wanna test
      * domain - domain where user belongs
     """
     perms = obj.permissions.list()
     for perm in perms:
         role_name = API.roles.get(id=perm.get_role().get_id()).get_name()
         user_name = API.users.get(id=perm.get_user().get_id()).get_user_name()
         if user_name + '@' + domain == user and role_name == role:
             return True
     return False
hasPermissions
def hasPermissions(role):
     """ Get a list of permissions the user role has.

     :param role:    (string) oVirt user role
     :return:        (list of strings) permissions the role should have
     """
     return getRolePermissions(role)

 # If bz plugin is not enabled, use this
 def bz(*ids):
     def decorator(func):
         return func
     return decorator

 # If tcms plugin is not enabled, use this
 def tcms(*ids):
     def decorator(func):
         return func
     return decorator
22632%2C+Console+Developer+Guide-322-09-2014+17%3A11%3A35Report a bug