ucsschool.kelvin.client package

Module contents

class ucsschool.kelvin.client.KelvinObject(*, name: str = None, ucsschool_roles: List[str] = None, udm_properties: Dict[str, Any] = None, dn: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None, **kwargs)[source]

Bases: abc.ABC

as_dict() → Dict[str, Any][source]
delete() → None[source]
reload() → KelvinObjectType[source]

Reload properties of object from the Kelvin API.

Raises:ucsschool.kelvin.client.NoObject – if the object cannot be found
Returns:self
save() → KelvinObjectType[source]
class ucsschool.kelvin.client.KelvinResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: abc.ABC

class Meta[source]

Bases: object

kelvin_object

alias of KelvinObject

required_get_attrs = ('name',)
required_head_attrs = ('name',)
required_search_attrs = ('school',)
exists(**kwargs) → bool[source]
get(**kwargs) → KelvinObjectType[source]
get_from_url(url: str) → KelvinObjectType[source]
search(**kwargs) → AsyncIterator[KelvinObjectType][source]
exception ucsschool.kelvin.client.InvalidRequest(msg: str = None, status: int = None, reason: str = None, url: str = None)[source]

Bases: ucsschool.kelvin.client.exceptions.KelvinClientError

exception ucsschool.kelvin.client.InvalidToken(msg: str = None, status: int = None, reason: str = None, url: str = None)[source]

Bases: ucsschool.kelvin.client.exceptions.KelvinClientError

exception ucsschool.kelvin.client.KelvinClientError(msg: str = None, status: int = None, reason: str = None, url: str = None)[source]

Bases: Exception

exception ucsschool.kelvin.client.NoObject(msg: str = None, status: int = None, reason: str = None, url: str = None)[source]

Bases: ucsschool.kelvin.client.exceptions.KelvinClientError

class ucsschool.kelvin.client.PasswordsHashes(user_password: List[str], samba_nt_password: str, krb_5_key: List[str], krb5_key_version_number: int, samba_pwd_last_set: int)[source]

Bases: object

as_dict() → Dict[str, Any][source]
as_dict_with_ldap_attr_names() → Dict[str, Any][source]

Wrapper around as_dict() that renames the keys to those used in a UCS’ OpenLDAP.

krb_5_key_as_bytes

Value of krb_5_key as a list of bytes.

exception ucsschool.kelvin.client.ServerError(msg: str = None, status: int = None, reason: str = None, url: str = None)[source]

Bases: ucsschool.kelvin.client.exceptions.KelvinClientError

class ucsschool.kelvin.client.School(name: str, *, display_name: str = None, educational_servers: List[str] = None, administrative_servers: List[str] = None, class_share_file_server: str = None, home_share_file_server: str = None, ucsschool_roles: List[str] = None, udm_properties: Dict[str, Any] = None, dn: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None, **kwargs)[source]

Bases: ucsschool.kelvin.client.base.KelvinObject

delete() → None[source]
save() → ucsschool.kelvin.client.school.SchoolResource[source]
class ucsschool.kelvin.client.SchoolResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of School

required_get_attrs = ('name',)
required_head_attrs = ('name',)
required_save_attrs = ('name',)
required_search_attrs = ()
class ucsschool.kelvin.client.SchoolClass(name: str, school: str, *, description: str = None, users: List[str] = None, create_share: bool = True, ucsschool_roles: List[str] = None, udm_properties: Dict[str, Any] = None, dn: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None, **kwargs)[source]

Bases: ucsschool.kelvin.client.base.KelvinObject

class ucsschool.kelvin.client.SchoolClassResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of SchoolClass

required_get_attrs = ('name', 'school')
required_head_attrs = ('name',)
required_save_attrs = ('name', 'school')
required_search_attrs = ('school',)
class ucsschool.kelvin.client.Session(username: str, password: str, host: str, max_client_tasks: int = 10, request_id: str = None, request_id_header: str = 'X-Request-ID', language: str = None, **kwargs)[source]

Bases: object

client
close() → None[source]
delete(url: str, **kwargs) → None[source]
get(url: str, **kwargs) → Union[Dict[str, Any], List[Dict[str, Any]]][source]
head(url: str, **kwargs) → bool[source]
json_headers[source]
open() → httpx.AsyncClient[source]
post(url: str, **kwargs) → Dict[str, Any][source]
put(url: str, **kwargs) → Dict[str, Any][source]
request(async_request_method: Any, url: str, return_json: bool = True, **kwargs) → Union[str, int, Dict[str, Any]][source]
token[source]
class ucsschool.kelvin.client.Role(name: str, *, display_name: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None, **kwargs)[source]

Bases: ucsschool.kelvin.client.base.KelvinObject

as_dict() → Dict[str, Any][source]
delete() → None[source]
save() → ucsschool.kelvin.client.role.RoleResource[source]
class ucsschool.kelvin.client.RoleResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of Role

required_get_attrs = ('name',)
required_head_attrs = ('name',)
required_search_attrs = ()
class ucsschool.kelvin.client.User(name: str = None, school: str = None, *, firstname: str = None, lastname: str = None, birthday: datetime.date = None, disabled: bool = False, email: str = None, expiration_date: datetime.date = None, password: str = None, record_uid: str = None, roles: List[str], schools: List[str], school_classes: Dict[str, List[str]] = None, workgroups: Dict[str, List[str]] = None, source_uid: str = None, udm_properties: Dict[str, Any] = None, ucsschool_roles: List[str] = None, kelvin_password_hashes: ucsschool.kelvin.client.user.PasswordsHashes = None, dn: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None, **kwargs)[source]

Bases: ucsschool.kelvin.client.base.KelvinObject

class ucsschool.kelvin.client.UserResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of User

required_get_attrs = ('name',)
required_head_attrs = ('name',)
required_save_attrs = ('school', 'roles')
required_search_attrs = ()
class ucsschool.kelvin.client.WorkGroup(name: str, school: str, *, description: str = None, users: List[str] = None, email: str = None, allowed_email_senders_users: List[str] = [], allowed_email_senders_groups: List[str] = [], create_share: bool = True, ucsschool_roles: List[str] = None, udm_properties: Dict[str, Any] = None, dn: str = None, url: str = None, session: ucsschool.kelvin.client.session.Session = None, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinObject

class ucsschool.kelvin.client.WorkGroupResource(session: ucsschool.kelvin.client.session.Session, language: str = None)[source]

Bases: ucsschool.kelvin.client.base.KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of WorkGroup

required_get_attrs = ('name', 'school')
required_head_attrs = ('name',)
required_save_attrs = ('name', 'school')
required_search_attrs = ('school',)