mstrio > users_and_groups > contact¶
- class mstrio.users_and_groups.contact.Contact(connection, id=None, name=None)¶
Bases:
EntityBase,ChangeJournalMixin,DeleteMixinObject representation of Strategy One Contact object
- Parameters:
connection (Connection)
id (str | None)
name (str | None)
- 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 Strategy One Intelligence Server
- classmethod bulk_from_dict(source_list, connection=None, to_snake_case=True, with_missing_value=False)¶
Creates multiple objects from a list of dictionaries. For each dictionary provided the 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 the object’s _FROM_DICT_MAP.
- Parameters:
cls (T) – Class (type) of the objects that should be created.
source_list (List[Dict[str, Any]]) – A list of dictionaries from which the objects 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) – (bool, optional): If True, class attributes possible to fetch and missing in source will be set as MissingValue objects.
- Returns:
A list of objects of type T.
- Return type:
T
- classmethod create(cls, connection, name, linked_user, contact_addresses, description=None, enabled=True)¶
Create a new contact.
- Parameters:
connection (
Connection) – Strategy One connection object returned by connection.Connection()name (
str) – contact namelinked_user (
User|str) – user linked to contactcontact_addresses (
Iterable[ContactAddress|dict]) – list of contact addressesdescription (
str|None) – description of contactenabled (
bool) – specifies if contact should be enabled
- Returns:
Contact– Contact object- Return type:
- classmethod from_dict(source, connection, to_snake_case=True, with_missing_value=False)¶
- Overrides Dictable.from_dict() to instantiate an object from
a dictionary without calling any additional getters.
- Parameters:
cls – Class (type) of an object that should be created.
source (dict[str, Any]) – a dictionary from which an object will be constructed.
connection (Connection) – A Strategy One Connection object.
to_snake_case (bool, optional) – Set to True if attribute names should be converted from camel case to snake case, default True.
with_missing_value (
bool) – (bool, optional): If True, class attributes possible to fetch and missing in source will be set as MissingValue objects.
- Returns:
An instance of the cls class.
- classmethod to_csv(objects, name, path=None, properties=None)¶
Exports MSTR objects to a csv file.
Optionally, saves only the object properties specified in the properties parameter.
- Parameters:
objects (T | list[T]) – List of objects of the same type that
exported. (will be)
name (str) – The name of the csv file ending with ‘.csv’
path (Optional[str], optional) – A path to the directory where the file will be saved. Defaults to None.
properties (Optional[list[str]], optional) – A list of object’s attribute names that should be included in the exported file. Defaults to None.
- Raises:
TypeError – If objects is not of type T or list of type T
objects. –
- Return type:
None
- __init__(connection, id=None, name=None)¶
Initialize Contact object by passing id or name. When id is provided, name is omitted.
- Parameters:
connection (
Connection) – Strategy One connection objectid (
str|None) – ID of Contactname (
str|None) – name of Contact
- add_to_contact_group(contact_group)¶
Add to ContactGroup
- Parameters:
contact_group (
ContactGroup|str) – contact group to which add this contact
- alter(name=None, description=None, enabled=None, linked_user=None, contact_addresses=None)¶
Update properties of a contact
- Parameters:
name (
str|None) – name of a contactdescription (
str|None) – description of a contactenabled (
bool|None) – specifies if a contact is enabledlinked_user (
Union[User,str,None]) – an object of class User linked to the contactcontact_addresses (
Iterable[ContactAddress|dict] |None) – list of contact addresses
- delete(force=False, journal_comment=None, **kwargs)¶
Delete object.
- Parameters:
force (
bool) – If True, then no additional prompt will be shown before deleting object.journal_comment (
str|None) – Comment to be added to the change journal for this deletion. If None, no comment is added.**kwargs – Any additional arguments within overridden versions of this method in inheritance chain.
- Returns:
bool– True on success. False otherwise.- Return type:
bool
- fetch(attr=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.
- Return type:
None
- fetch_all_change_journal_entries()¶
Fetch change journal entries from the API.
- Return type:
None
- list_properties(excluded_properties=None)¶
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
- print()¶
Pretty Print all properties of the object.
- Return type:
None
- remove_from_contact_group(contact_group)¶
Remove from ContactGroup
- Parameters:
contact_group (
ContactGroup|str) – contact group from which to remove this contact
- to_dataframe()¶
Converts all properties of the object to a dataframe.
- Returns:
A DataFrame object containing object properties.
- Return type:
DataFrame
- to_dict(camel_case=True, whitelist_keys=None, skip_private_keys=False)¶
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.
whitelist_keys (list[str], optional) – List of keys to include in the resulting dictionary. If None, all keys (except hidden ones) are included. Defaults to None.
skip_private_keys (bool, optional) – If True, skips private keys in final dict representation.
- Returns:
- A dictionary representation of object’s attributes and values.
By default, the dictionary keys are in camel case.
- Return type:
dict
- update_properties()¶
Save compatible local changes of the object attributes to the I-Server. Changes are retrieved from the self._altered_properties dictionary. After the process of update has finished, self._altered_properties is cleared. For this method to work properly, you must override the _alter_properties() method in a subclass.
- Raises:
requests.HTTPError – If I-Server raises exception
- Return type:
None
- property change_journal: list[ChangeJournalEntry]¶
Get change journal entries of the object.
- property connection: Connection¶
An object representation of Strategy One connection specific to the object.
- property folder_id: str | None¶
- property id: str¶
The object’s id.
- property type: ObjectTypes¶
The object’s type.
- class mstrio.users_and_groups.contact.ContactAddress(name, physical_address, delivery_type, device, id=None, is_default=False, connection=None)¶
Bases:
DictableRepresentation of contact address object
- Parameters:
name (str)
physical_address (str)
delivery_type (ContactDeliveryType | str)
device (Device | str)
id (str | None)
is_default (bool)
connection (Connection | None)
- 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 bulk_from_dict(source_list, connection=None, to_snake_case=True, with_missing_value=False)¶
Creates multiple objects from a list of dictionaries. For each dictionary provided the 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 the object’s _FROM_DICT_MAP.
- Parameters:
cls (T) – Class (type) of the objects that should be created.
source_list (List[Dict[str, Any]]) – A list of dictionaries from which the objects 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) – (bool, optional): If True, class attributes possible to fetch and missing in source will be set as MissingValue objects.
- Returns:
A list of objects of type T.
- Return type:
T
- classmethod from_dict(source, connection, to_snake_case=True)¶
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)¶
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.
whitelist_keys (list[str], optional) – List of keys to include in the resulting dictionary. If None, all keys (except hidden ones) are included. Defaults to None.
skip_private_keys (bool, optional) – If True, skips private keys in final dict representation.
- Returns:
- A dictionary representation of object’s attributes and values.
By default, the dictionary keys are in camel case.
- Return type:
dict
- enum mstrio.users_and_groups.contact.ContactDeliveryType(value)¶
Bases:
AutoNameValid values are as follows:
- EMAIL = ContactDeliveryType.EMAIL¶
- FILE = ContactDeliveryType.FILE¶
- PRINTER = ContactDeliveryType.PRINTER¶
- FTP = ContactDeliveryType.FTP¶
- MOBILE_ANDROID = ContactDeliveryType.MOBILE_ANDROID¶
- MOBILE_IPHONE = ContactDeliveryType.MOBILE_IPHONE¶
- MOBILE_IPAD = ContactDeliveryType.MOBILE_IPAD¶
- UNSUPPORTED = ContactDeliveryType.UNSUPPORTED¶
The
Enumand its members also have the following methods:- classmethod has_value(value)¶
- mstrio.users_and_groups.contact.list_contacts(connection, to_dictionary=False, limit=None, **filters)¶
Get all contacts as list of Contact objects or dictionaries.
Optionally filter the contacts by specifying filters.
- Parameters:
connection (
Connection) – Strategy One connection objectto_dictionary (
bool) – If True returns a list of contact dicts, otherwise returns a list of contact objectslimit (
int|None) – limit the number of elements returned. If None (default), all objects are returned.**filters – Available filter parameters: [‘id’, ‘name’, ‘description’, ‘enabled’, ‘linked_user’]
- Return type:
list[Contact] |list[dict]