mstrio.users_and_groups package¶
Submodules¶
mstrio.users_and_groups.contact module¶
- class mstrio.users_and_groups.contact.Contact(connection: Connection, id: str | None = None, name: str | None = None)¶
Bases:
EntityBase
,DeleteMixin
Object representation of Microstrategy Contact object
- name¶
contact’s name
- id¶
contact’s id
- description¶
contact’s description
- enabled¶
specifies if a contact is enabled
- linked_user¶
user linked to contact, instance of User
- contact_addresses¶
list of contact’s addresses, instances of ContactAddress
- memberships¶
list of Contact Groups that the contact belongs to
- connection¶
instance of Connection class, represents connection to MicroStrategy Intelligence Server
- add_to_contact_group(contact_group: mstrio.users_and_groups.contact_group.ContactGroup | str)¶
Add to ContactGroup
- Parameters:
contact_group – contact group to which add this contact
- alter(name: str | None = None, description: str | None = None, enabled: bool | None = None, linked_user: Optional[Union[User, str]] = None, contact_addresses: collections.abc.Iterable[mstrio.users_and_groups.contact.ContactAddress | dict] | None = None)¶
Update properties of a contact
- Parameters:
name – name of a contact
description – description of a contact
enabled – specifies if a contact is enabled
linked_user – an object of class User linked to the contact
contact_addresses – list of contact addresses
- classmethod create(connection: Connection, name: str, linked_user: User | str, contact_addresses: Iterable[ContactAddress | dict], description: str | None = None, enabled: bool = True) Contact ¶
Create a new contact.
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
name – contact name
linked_user – user linked to contact
contact_addresses – list of contact addresses
description – description of contact
enabled – specifies if contact should be enabled
- Returns:
Contact object
- remove_from_contact_group(contact_group: mstrio.users_and_groups.contact_group.ContactGroup | str)¶
Remove from ContactGroup
- Parameters:
contact_group – contact group from which to remove this contact
- class mstrio.users_and_groups.contact.ContactAddress(name: str, physical_address: str, delivery_type: mstrio.users_and_groups.contact.ContactDeliveryType | str, device: Device | str, id: str | None = None, is_default: bool = False, connection: Optional[Connection] = None)¶
Bases:
Dictable
Representation of contact address object
- id¶
id of contact address, optional
- name¶
contact address’ name
- physical_address¶
physical address of contact
- delivery_type¶
object of type ContactDeliveryType
- is_default¶
specifies if address is default, optional, default value: False
- device¶
instance of Device or string (containing device’s id), if device is a string, connection is required
- connection¶
instance of Connection, optional, is required if device is string
- classmethod from_dict(source, connection, to_snake_case=True) ContactAddress ¶
Creates an object from a dictionary. The dictionary’s keys in camel case are changed to object’s attribute names (by default in snake case) and dict values are composed to their proper data types such as Enums, list of Enums etc. as specified in _FROM_DICT_MAP.
- Parameters:
cls (T) – Class (type) of an object that should be created.
source (Dict[str, Any]) – A dictionary from which an object will be constructed.
connection (Connection, optional) – A MSTR Connection object. Defaults to None.
to_snake_case (bool, optional) – Set to True if attribute names should be converted from camel case to snake case. Defaults to True.
with_missing_value – (bool, optional): If True, class attributes possible to fetch and missing in source will be set as MissingValue objects.
- Returns:
An object of type T.
- Return type:
T
- to_dict(camel_case=True) dict ¶
Converts an object to a dictionary excluding object’s private properties. When converting the object to a dictionary, the object’s attributes become the dictionary’s keys and are in camel case by default Attribute values stored as objects are automatically converted to non-/ primitive data structures.
- Parameters:
camel_case (bool, optional) – Set to True if attribute names should be converted from snake case to camel case. Defaults to True.
- Returns:
- A dictionary representation of object’s attributes and values.
By default, the dictionary keys are in camel case.
- Return type:
dict
- class mstrio.users_and_groups.contact.ContactDeliveryType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AutoName
- EMAIL = 'email'¶
- FILE = 'file'¶
- FTP = 'ftp'¶
- MOBILE_ANDROID = 'mobile_android'¶
- MOBILE_IPAD = 'mobile_ipad'¶
- MOBILE_IPHONE = 'mobile_iphone'¶
- PRINTER = 'printer'¶
- UNSUPPORTED = 'unsupported'¶
- mstrio.users_and_groups.contact.list_contacts(connection: Connection, to_dictionary: bool = False, limit: int | None = None, **filters) list['Contact'] | list[dict] ¶
Get all contacts as list of Contact objects or dictionaries.
Optionally filter the contacts by specifying filters.
- Parameters:
connection – MicroStrategy connection object
to_dictionary – If True returns a list of contact dicts, otherwise returns a list of contact objects
limit – limit the number of elements returned. If None (default), all objects are returned.
**filters – Available filter parameters: [‘id’, ‘name’, ‘description’, ‘enabled’, ‘linked_user’]
mstrio.users_and_groups.contact_group module¶
- class mstrio.users_and_groups.contact_group.ContactGroup(connection: Connection, id: str | None = None, name: str | None = None)¶
Bases:
EntityBase
,DeleteMixin
Object representation of Microstrategy Contact Group object
- name¶
contact group’s name
- id¶
contact group’s id
- description¶
contact group’s description
- enabled¶
specifies if a contact group is enabled
- linked_user¶
user linked to contact group, instance of User
- members¶
list of contact group’s members, instances of ContactGroupMember
- memberships¶
list of Contact Groups that the Contact Group belongs to
- connection¶
instance of Connection class, represents connection to MicroStrategy Intelligence Server
- add_members(members: Iterable[Union[ContactGroupMember, Contact, ContactGroup]])¶
Add member
- Parameters:
members – list of members to add to contact group
- alter(name: str | None = None, description: str | None = None, enabled: bool | None = None, linked_user: Optional[Union[User, str]] = None, members: collections.abc.Iterable[Union[mstrio.users_and_groups.contact_group.ContactGroupMember, dict]] | None = None)¶
Update properties of a contact group
- Parameters:
name – name of a contact
description – description of a contact
enabled – specifies if a contact is enabled
linked_user – an object of class User linked to the contact
members – list of contact group members, instances of ContactGroupMember
- classmethod create(connection: Connection, name: str, linked_user: str | mstrio.users_and_groups.user.User, members: list[dict | mstrio.users_and_groups.contact_group.ContactGroupMember], description: str | None = None, enabled: bool = True) ContactGroup ¶
Create a new contact group.
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
name – contact group name
linked_user – user linked to contact
members – list of members
description – description of contact
enabled – specifies if contact should be enabled
- Returns:
ContactGroup object
- remove_members(members: Iterable[Union[ContactGroupMember, Contact, ContactGroup]])¶
Remove member
- Parameters:
members – list of members to remove from contact group
- class mstrio.users_and_groups.contact_group.ContactGroupMember(name: str, type: str | mstrio.users_and_groups.contact_group.ContactGroupMemberType, id: str | None = None, description: str | None = None, enabled: bool = True)¶
Bases:
Dictable
ContactGroupMember class, representing either Contact or ContactGroup
- name¶
member’s name
- type¶
type of a member, instance of ContactGroupMemberType
- id¶
id of member, optional
- description¶
member’s description, optional
- enabled¶
specifies if a member is enabled
- classmethod from_contact_or_contact_group(obj: Union[Contact, ContactGroup]) ContactGroupMember ¶
Initialize instance of class ContactGroupMember
- Parameters:
obj – object to used as base for initializing instance of
ContactGroupMember –
- Returns:
ContactGroupMember object
- class mstrio.users_and_groups.contact_group.ContactGroupMemberType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
AutoName
- CONTACT = 'contact'¶
- CONTACT_GROUP = 'contact_group'¶
- USER = 'user'¶
- mstrio.users_and_groups.contact_group.list_contact_groups(connection: Connection, to_dictionary: bool = False, limit: int | None = None, **filters) list['ContactGroup'] | list[dict] ¶
Get all contact groups as list of ContactGroup objects or dictionaries.
Optionally filter the contact groups by specifying filters.
- Parameters:
connection (object) – MicroStrategy connection object
to_dictionary – If True returns a list of contact group dicts, otherwise returns a list of contact group objects
limit – limit the number of elements returned. If None (default), all objects are returned.
**filters – Available filter parameters: [‘id’, ‘name’, ‘description’, ‘enabled’, ‘linked_user’]
mstrio.users_and_groups.user module¶
- class mstrio.users_and_groups.user.User(connection: Connection, username: str | None = None, name: str | None = None, id: str | None = None)¶
Bases:
Entity
,DeleteMixin
,TrusteeACLMixin
,TranslationMixin
Object representation of MicroStrategy User object.
- connection¶
A MicroStrategy connection object
- id¶
User ID
- name¶
User name
- username¶
User username
- full_name¶
full name of the User
- initials¶
User initials, derived from user’s last name or username
- abbreviation¶
User login name
- description¶
User description
- memberships¶
IDs and names of direct parent groups for user
- security_roles¶
security roles that the user is a member of
- addresses¶
addresses for the user
- privileges¶
user privileges per project
- trust_id¶
Unique user ID provided by trusted authentication provider
- enabled¶
Specifies if user is allowed to log in
- owner¶
owner ID and name
- ancestors¶
List of ancestor folders
- password_modifiable¶
If user password can be modified
- password_auto_expire¶
If user password is set to auto expire
- password_expiration_date¶
Date when User password expires
- password_expiration_frequency¶
Frequency of password expiration in days
- require_new_password¶
If user is required to change new password
- standard_auth¶
If standard authentication is allowed for user
- ldapdn¶
information about user’s LDAP distinguished name
- date_created¶
Creation time, DateTime object
- date_modified¶
Last modification time, DateTime object
- type¶
Object type
- subtype¶
Object subtype
- ext_type¶
Object extended type
- version¶
Version ID
- acg¶
Access rights (See EnumDSSXMLAccessRightFlags for possible values)
- acl¶
Object access control list
- default_timezone¶
Information about user default timezone
- language¶
Information about user language
- add_address(name: str | None = None, address: str | None = None, default: bool = True, delivery_type: str | None = None, device_id: str | None = None) None ¶
Add new address to the user object.
- Parameters:
name (str) – User-specified name for the address
address (str) – The actual value of the address i.e. email address associated with this address name/id
default (bool, optional) – Specifies whether this address is the default address (change isDefault parameter). Default value is set to True.
delivery_type (str, optional) – Delivery type
device_id (str, optional) – Device ID
- add_to_user_groups(user_groups: str | UserGroup | list[str | UserGroup]) None ¶
Adds this User to user groups specified in user_groups.
- Parameters:
user_groups – list of UserGroup objects or IDs
- alter(username: str | None = None, full_name: str | None = None, description: str | None = None, password: str | None = None, enabled: bool | None = None, password_modifiable: bool | None = None, password_auto_expire: bool | None = None, password_expiration_date: str | None = None, password_expiration_frequency: str | None = None, standard_auth: bool | None = None, require_new_password: bool | None = None, ldapdn: str | None = None, trust_id: str | None = None, database_auth_login: str | None = None, owner: mstrio.users_and_groups.user.User | str | None = None, default_timezone: str | dict | None = None, language: str | mstrio.server.language.Language | None = None, comments: str | None = None) None ¶
Alter user properties.
- Parameters:
username – username of user
full_name – user full name
description – user description
password – user password
enabled – specifies if user is allowed to log in
password_modifiable – Specifies if user password can be modified
password_auto_expire – specifies if password will expire automatically
password_expiration_date – Expiration date of user password, “yyyy-MM-dd HH:mm:ss” in UTC
password_expiration_frequency – frequency of password expiration specified in days
standard_auth – Specifies whether standard authentication is allowed for user.
require_new_password – Specifies if user is required to provide a new password.
ldapdn – User’s LDAP distinguished name
trust_id – Unique user ID provided by trusted authentication provider
database_auth_login – Database Authentication Login
owner – owner of user
default_timezone – default timezone for user
language – language for user
comments – long description of the object
- apply_security_filter(security_filter: SecurityFilter | str) bool ¶
Apply a security filter to the user.
- Parameters:
security_filter (string or object) – identifier of security filter or SecurityFilter object which will be applied to the user.
- Returns:
True when applying was successful. False otherwise.
- assign_security_role(security_role: mstrio.access_and_security.security_role.SecurityRole | str, project: Project | str) None ¶
Assigns a Security Role to the user for given project.
- Parameters:
security_role – Security Role ID or object
project – Project name or object
- classmethod create(connection: Connection, username: str, full_name: str, password: str | None = None, description: str | None = None, enabled: bool = True, password_modifiable: bool = True, password_auto_expire: bool | None = None, password_expiration_date: str | datetime.datetime | None = None, password_expiration_frequency: int | None = None, require_new_password: bool = True, standard_auth: bool = True, ldapdn: str | None = None, trust_id: str | None = None, database_auth_login: str | None = None, memberships: list | None = None, language: str | mstrio.server.language.Language | None = None, default_timezone: str | dict | None = None, owner: mstrio.users_and_groups.user.User | str | None = None) User ¶
Create a new user on the I-Server. Returns User object.
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
username – username of user
full_name – user full name
password – user password
description – user description
enabled – specifies if user is allowed to log in
password_modifiable – Specifies if user password can be modified
password_auto_expire – specifies if password will expire automatically
password_expiration_date – Expiration date of user password either as a datetime or string: “yyyy-MM-dd HH:mm:ss” in UTC
password_expiration_frequency – frequency of password expiration specified in days
require_new_password – Specifies if user is required to provide a new password.
standard_auth – Specifies whether standard authentication is allowed for user.
ldapdn – User’s LDAP distinguished name
trust_id – Unique user ID provided by trusted authentication provider
database_auth_login – Database Authentication Login
memberships – specify User Group IDs which User will be member off.
owner – owner of user
default_timezone – default timezone for user
language – language for user
- delete(force: bool = False) bool ¶
Deletes the user. Deleting the user will not remove the user’s shared files.
Args:
- force: If True, no additional prompt will be shown before deleting
User.
- Returns:
True for success. False otherwise.
- disconnect(nodes: str | list[str] | None = None) None ¶
Disconnect all active user connection sessions for the specified node.
- Parameters:
nodes – list of node names
- fetch(attr: str | None = None) None ¶
Fetch the latest object’s state from the I-Server.
Note
This method can overwrite local changes made to the object.
- Parameters:
attr (Optional[str]) – Attribute name to be fetched. If not specified
dictionary. (it will use all getters specified in _API_GETTERS) –
None. (Defaults to) –
- Raises:
ValueError – If attr cannot be fetched.
- grant_privilege(privilege: str | list[str] | Privilege | list[Privilege]) None ¶
Grant privileges directly to the user.
- Parameters:
privilege – list of privilege objects, ids or names
- list_privileges(mode: mstrio.access_and_security.privilege_mode.PrivilegeMode | str = PrivilegeMode.ALL, to_dataframe: bool = False) list ¶
List privileges for user.
- Parameters:
mode – Filter by source of privileges. One of: ALL, INHERITED, or GRANTED. See: privilege.PrivilegeMode enum.
to_dataframe – If True, return a DataFrame object containing privileges.
- list_properties(excluded_properties: list[str] | None = None) dict ¶
Fetches all attributes from the server and converts all properties of the object to a dictionary.
- Parameters:
excluded_properties (list[str], optional) – A list of object properties that should be excluded from the dict. Defaults to None.
- Returns:
- A dictionary which keys are object’s attribute names, and
which values are object’s attribute values.
- Return type:
dict
- list_security_filters(projects: str | list[str] | None = None, to_dictionary: bool = False) dict ¶
Get the list of security filters for user. They can be filtered by the projects’ ids.
- Parameters:
projects (str or list of str, optional) – collection of projects’ ids which is used for filtering data
to_dictionary – If True returns security filters as dicts, by default (False) returns them as objects.
- Returns:
Dictionary with project names as keys and list with security filters as values. In case of no security filter for the given user in the particular project, then this project is not placed in the dictionary.
- remove_address(name: str | None = None, address: str | None = None, id: str | None = None) None ¶
Remove existing address from the user object. Specify either address ID or name. Warning, address names are not unique and can potentially remove multiple addresses.
- Parameters:
name – User-specified name for the address
address – The actual value of the address i.e. email address associated with this address name/id
id – ID of the address.
- remove_from_all_user_groups() None ¶
Removes this User from all user groups.
- remove_from_user_groups(user_groups: str | UserGroup | list[str | UserGroup]) None ¶
Removes this User from user groups specified in user_groups.
- Parameters:
user_groups – list of UserGroup objects or IDs
- revoke_all_privileges(force: bool = False) None ¶
Revoke directly granted user privileges.
- Parameters:
force – If True, no additional prompt will be shown before revoking all privileges from User.
- revoke_privilege(privilege: str | list[str] | Privilege | list[Privilege]) None ¶
Revoke directly granted user privileges.
- Parameters:
privilege – list of privilege objects, ids or names
- revoke_security_filter(security_filter: SecurityFilter | str) bool ¶
Revoke a security filter from the user.
- Parameters:
security_filter (string or object) – identifier of security filter or SecurityFilter object which will be revoked from the user.
- Returns:
True when revoking was successful. False otherwise.
- revoke_security_role(security_role: mstrio.access_and_security.security_role.SecurityRole | str, project: Project | str) None ¶
Removes a Security Role from the user for given project.
- Parameters:
security_role – Security Role ID or object
project – Project name or object
- classmethod to_csv_from_list(objects: list[mstrio.users_and_groups.user.User], path: str | None = None, properties: list[str] | None = None) str | None ¶
Exports list of user objects to csv (if path is provided) or to string (if path is not provided). The properties that are lists, dictionaries, or objects of custom classes, are first converted to dictionary using to_dict() method, then serialized string as json.
- Parameters:
objects (list) – list of user objects to be exported
path (str, optional) – a path specifying where to save the csv file
properties (list, optional) – list of properties of user object to be exported
Returns: str or None
- Raises:
TypeError if objects parameter contains objects other than – of type User
- classmethod to_datafame_from_list(objects: list[mstrio.users_and_groups.user.User], properties: list[str] | None = None) DataFrame ¶
Exports list of user objects to dataframe. The properties that are lists, dictionaries, or objects of custom classes, are first converted to dictionary using to_dict() method, then serialized string as json.
- Parameters:
objects (list) – list of user objects to be exported
properties (list, optional) – list of properties of user object to be exported
Returns: dataframe
- Raises:
TypeError if objects parameter contains objects other than – of type User
- update_address(id: str, name: str | None = None, address: str | None = None, default: bool | None = None, delivery_type: str | None = None, device_id: str | None = None) None ¶
Update existing address. The address ID has to be specified as the name is not unique.
- Parameters:
id (str) – ID of the address
name (str, optional) – New user-specified name for the address
address (str, optional) – New address value
default (bool, optional) – Whether the address should be (un)marked as default
delivery_type (str, optional) – Delivery type
device_id (str, optional) – Device ID
- mstrio.users_and_groups.user.create_users_from_csv(connection: Connection, csv_file: str) list[mstrio.users_and_groups.user.User] ¶
Create new user objects from csv file. Possible header values for the users are the same as in the User.create() method.
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
csv_file – path to file containing at minimum ‘username’ and ‘full_name’ headers’.
- mstrio.users_and_groups.user.list_users(connection: Connection, name_begins: str | None = None, abbreviation_begins: str | None = None, to_dictionary: bool = False, limit: int | None = None, **filters) list[mstrio.users_and_groups.user.User] | list[dict] ¶
Get list of user objects or user dicts. Optionally filter the users by specifying ‘name_begins’, ‘abbreviation_begins’ or other filters.
- Wildcards available for name_begins and abbreviation_begins:
? - any character * - 0 or more of any characters e.g. name_begins = ?onny will return Sonny and Tonny
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
name_begins – characters that the user name must begin with.
abbreviation_begins – characters that the abbreviation must begin with.
to_dictionary – If True returns dict, by default (False) returns User objects.
limit – limit the number of elements returned. If None (default), all objects are returned.
**filters – Available filter parameters: [‘id’, ‘name’, ‘abbreviation’, ‘description’, ‘type’, ‘subtype’, ‘date_created’, ‘date_modified’, ‘version’, ‘acg’, ‘icon_path’, ‘owner’, ‘initials’, ‘enabled’]
Examples
>>> list_users(connection, name_begins='user', initials='UR')
mstrio.users_and_groups.user_connections module¶
- class mstrio.users_and_groups.user_connections.UserConnections(connection: Connection)¶
Bases:
object
Browse and manage active user connections on the environment. Use the fetch() method to fetch the latest active user connections. Filter the user_connections by using filter_connections() method.
- connection¶
A MicroStrategy connection object
- user_connections¶
All active user connections on the environment
- disconnect_all_users(force: bool = False) list[dict] | None ¶
Disconnect all user connections.
- Parameters:
force – if True, no additional prompt will be shown before disconnecting all users
- Returns:
- list of statuses of disconnecting all connections with their ids
and messages from the I-Server
in case of error it returns None
- disconnect_users(connection_ids: str | list[str] | None = None, users: list['User'] | list[str] | None = None, nodes: str | list[str] | None = None, force: bool = False, **filters) list[dict] | None ¶
Disconnect user connections by passing in users (objects) or connection_ids. Optionally disconnect users by specifying the filters keyword arguments.
- Parameters:
connection_ids – chosen ids that can be retrieved with list_connections()
users – List of User objects or usernames
nodes – Node (server) names on which users will be disconnected
force – if True, no additional prompt will be shown before disconnecting users
**filters – Available filter parameters: [‘id’, ‘parent_id’, ‘username’, ‘user_full_name’, ‘project_index’, ‘project_id’, ‘project_name’, ‘open_jobs_count’, ‘project_type’, ‘date_connection_created’, ‘duration’, ‘session_id’, ‘client’, ‘config_level’]
- Returns:
list of statuses of disconnecting chosen connections with theirs ids and messages from the I-Server:
status code 200 is when all connections were disconnected status code 207 is when some connections were disconnected status code 403 without error code is when no connections were disconnected
in case of error of nothing to disconnect it returns None
- fetch() None ¶
Populate the UserConnections object by retrieving all active user connections on the environment.
- filter_connections(**filters) list[dict[str, Any]] | None ¶
Filter the user connections stored in the UserConnections object by specifying the filters keyword arguments.
- Parameters:
**filters – Available filter parameters: [‘id’, ‘parent_id’, ‘username’, ‘user_full_name’, ‘project_index’, ‘project_id’, ‘project_name’, ‘open_jobs_count’, ‘project_type’, ‘date_connection_created’, ‘duration’, ‘session_id’, ‘client’, ‘config_level’]
- list_connections(nodes: str | list[str] | None = None, limit: int | None = None, **filters) list[dict[str, Any]] ¶
Get all active user connections. Optionally filter the connections by specifying the filters keyword arguments.
- Parameters:
nodes – Node (server) names on which users will be disconnected.
limit – limit the number of elements returned. If None, all objects are returned.
**filters – Available filter parameters: [‘id’, ‘parent_id’, ‘username’, ‘user_full_name’, ‘project_index’, ‘project_id’, ‘project_name’, ‘open_jobs_count’, ‘project_type’, ‘date_connection_created’, ‘duration’, ‘session_id’, ‘client’, ‘config_level’, ‘application_type’, ‘last_action’]
mstrio.users_and_groups.user_group module¶
- class mstrio.users_and_groups.user_group.UserGroup(connection: Connection, name: str | None = None, id: str | None = None)¶
Bases:
Entity
,DeleteMixin
,TrusteeACLMixin
,TranslationMixin
Object representation of MicroStrategy User Group object.
- connection¶
A MicroStrategy connection object
- memberships¶
User Groups that the User Group is a member of
- members¶
users that are members of User Group
- security_roles¶
security roles that the User Group is a member of
- privileges¶
user privileges per project
- id¶
User ID
- name¶
User name
- type¶
Object type
- subtype¶
Object subtype
- ext_type¶
Object extended type
- abbreviation¶
Object abbreviation
- description¶
Object description
- date_created¶
Creation time, DateTime object
- date_modified¶
Last modification time, DateTime object
- version¶
Object version ID
- owner¶
Owner name and ID
- ancestors¶
List of ancestor folders
- settings¶
Settings of User Group
- acg¶
Access rights (See EnumDSSXMLAccessRightFlags for possible values)
- acl¶
Object access control list
- add_to_user_groups(groups: str | mstrio.users_and_groups.user_group.UserGroup | list[str | mstrio.users_and_groups.user_group.UserGroup]) None ¶
Add User Group to passed groups.
- Parameters:
groups – List of User Group objects or ids
- add_users(users: str | User | list[str | User]) None ¶
Add members to the User Group.
- Parameters:
users – List of User objects or ids
- alter(name: str | None = None, description: str | None = None, ldapdn: str = None, comments: str | None = None)¶
Alter User Group name or/and description.
- Parameters:
name – New name of the User Group
description – New description of the User Group
comments – Long description of the User Group
- apply_security_filter(security_filter: SecurityFilter | str)¶
Apply a security filter to the user group.
- Parameters:
security_filter (string or object) – identifier of security filter or SecurityFilter object which will be applied to the user group.
- Returns:
True when applying was successful. False otherwise.
- assign_security_role(security_role: SecurityRole | str, project: Project | str) None ¶
Assigns a Security Role to the User Group for given project.
- Parameters:
security_role – Security Role ID or object
project – Project name or object
- classmethod create(connection: Connection, name: str, description: str | None = None, memberships: list[str] | None = None, members: list[str] | None = None, ldapdn: str | None = None)¶
Create a new User Group on the I-Server. Returns UserGroup object.
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
name – Name of a newly created User Group
description – Description of a newly created User Group
memberships – Specify User Groups which newly created User Group will be member
members – Specify Users which will be members of newly created User Group
ldapdn – User group’s LDAP distinguished name
- get_settings() dict ¶
Get the User Group settings from the I-Server.
- grant_privilege(privilege: str | list[str] | Privilege | list[Privilege]) None ¶
Grant privileges directly to the User Group.
- Parameters:
privilege – List of privilege objects, ids or names
- list_members(**filters) list['User | UserGroup'] ¶
List user group members.
Optionally filter the results by passing filter keyword arguments.
- Parameters:
**filters – Available filter parameters: ‘name’, ‘id’, ‘type’, ‘abbreviation’, subtype’, ‘date_created’, ‘date_modified’, ‘version’, ‘acg’, ‘owner’, source’, ext_type’, ‘username’, full_name’, enabled’
- list_privileges(mode: mstrio.access_and_security.privilege_mode.PrivilegeMode | str = PrivilegeMode.ALL, to_dataframe: bool = False) list ¶
List privileges for user group.
- Parameters:
mode – Specifies which privileges to list. See: privilege.PrivilegeMode enum.
to_dataframe – If True, return a DataFrame object containing privileges
- list_security_filters(projects: str | list[str] | None = None, to_dictionary: bool = False) dict ¶
Get the list of security filters for user group. They can be filtered by the projects’ ids.
- Parameters:
projects (str or list of str, optional) – collection of projects’ ids which is used for filtering data
to_dictionary – If True returns security filters as dicts, by default (False) returns them as objects.
- Returns:
Dictionary with project names as keys and list with security filters as values. In case of no security filter for the given user group in the particular project, then this project is not placed in the dictionary.
- remove_all_users() None ¶
Remove all members from user group.
- remove_from_user_groups(groups: str | mstrio.users_and_groups.user_group.UserGroup | list[str | mstrio.users_and_groups.user_group.UserGroup]) None ¶
Remove User Group from passed groups
- Parameters:
groups – List of User Group objects or ids
- remove_users(users: str | User | list[str | User]) None ¶
Remove members from User Group.
- Parameters:
users – List of User objects or ids
- revoke_all_privileges(force: bool = False) None ¶
Revoke directly granted group privileges.
- Parameters:
force – If True, no additional prompt will be shown before revoking all privileges from User Group
- revoke_privilege(privilege: str | list[str] | Privilege | list[Privilege]) None ¶
Revoke directly granted User Group privileges.
- Parameters:
privilege – List of privilege objects, ids or names
- revoke_security_filter(security_filter: SecurityFilter | str)¶
Revoke a security filter from the user group.
- Parameters:
security_filter (string or object) – identifier of security filter or SecurityFilter object which will be revoked from the user group.
- Returns:
True when revoking was successful. False otherwise.
- revoke_security_role(security_role: mstrio.access_and_security.security_role.SecurityRole | str, project: Project | str) None ¶
Removes a Security Role from the User Group for given project.
- Parameters:
security_role – Security Role ID or object
project – Project name or object
- mstrio.users_and_groups.user_group.list_user_groups(connection: Connection, name_begins: str | None = None, to_dictionary: bool = False, limit: int | None = None, **filters) list[mstrio.users_and_groups.user_group.UserGroup] ¶
Get list of User Group objects or User Group dicts. Optionally filter the User Groups by specifying ‘name_begins’ or other filters.
Optionally use to_dictionary or to_dataframe to choose output format. If to_dictionary is True, to_dataframe is omitted.
- Wildcards available for name_begins:
? - any character * - 0 or more of any characters e.g. name_begins = ?onny will return Sonny and Tonny
- Parameters:
connection – MicroStrategy connection object returned by connection.Connection()
name_begins – Beginning of a User Groups name which we want to list
to_dictionary – If True returns dict, by default (False) returns User Group objects
limit – limit the number of elements returned. If None (default), all objects are returned.
**filters – Available filter parameters: [‘name’, ‘id’, ‘type’, ‘abbreviation’, ‘description’, ‘subtype’, ‘date_created’, ‘date_modified’, ‘version’, ‘acg’, ‘owner’, ‘ext_type’]
Examples
>>> list_user_groups(connection, name_begins='Group', >>> description='New group')