ucsschool.kelvin.client package

Submodules

Module contents

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

Bases: KelvinClientError

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

Bases: KelvinClientError

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

Bases: Exception

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

Bases: object

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

Reload properties of object from the Kelvin API.

Raises:

ucsschool.kelvin.client.NoObject – if the object cannot be found

Returns:

self

async save() KelvinObjectType[source]
class ucsschool.kelvin.client.KelvinResource(session: Session, language: str | None = None)[source]

Bases: object

class Meta[source]

Bases: object

kelvin_object

alias of KelvinObject

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

Bases: 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.

krb5_key_version_number: int
krb_5_key: List[str]
property krb_5_key_as_bytes: List[bytes]

Value of krb_5_key as a list of bytes.

samba_nt_password: str
samba_pwd_last_set: int
user_password: List[str]
class ucsschool.kelvin.client.Role(name: str, *, display_name: str | None = None, url: str | None = None, session: Session | None = None, language: str | None = None, **kwargs)[source]

Bases: KelvinObject

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

Bases: KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of Role

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

Bases: KelvinObject

async delete() None[source]
async save() SchoolResource[source]
class ucsschool.kelvin.client.SchoolClass(name: str, school: str, *, description: str | None = None, users: List[str] | None = None, create_share: bool = True, ucsschool_roles: List[str] | None = None, udm_properties: Dict[str, Any] | None = None, dn: str | None = None, url: str | None = None, session: Session | None = None, language: str | None = None, **kwargs)[source]

Bases: KelvinObject

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

Bases: KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of SchoolClass

required_get_attrs: Iterable[str] = ('name', 'school')
required_head_attrs: Iterable[str] = ('name',)
required_save_attrs: Iterable[str] = ('name', 'school')
required_search_attrs: Iterable[str] = ('school',)
class ucsschool.kelvin.client.SchoolResource(session: Session, language: str | None = None)[source]

Bases: KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of School

required_get_attrs: Iterable[str] = ('name',)
required_head_attrs: Iterable[str] = ('name',)
required_save_attrs: Iterable[str] = ('name',)
required_search_attrs: Iterable[str] = ()
exception ucsschool.kelvin.client.ServerError(msg: str | None = None, status: int | None = None, reason: str | None = None, url: str | None = None)[source]

Bases: KelvinClientError

class ucsschool.kelvin.client.Session(username: str, password: str, host: str, max_client_tasks: int = 10, request_id: str | None = None, request_id_header: str = 'X-Request-ID', language: str | None = None, retries: int = 0, **kwargs)[source]

Bases: object

property client: AsyncClient
async close() None[source]
async delete(url: str, **kwargs) None[source]
async get(url: str, **kwargs) Dict[str, Any] | List[Dict[str, Any]][source]
async head(url: str, **kwargs) bool[source]
json_headers[source]
open() AsyncClient[source]
async post(url: str, **kwargs) Dict[str, Any][source]
async put(url: str, **kwargs) Dict[str, Any][source]
async request(async_request_method: Any, url: str, return_json: bool = True, **kwargs) str | int | Dict[str, Any][source]
token[source]
class ucsschool.kelvin.client.User(name: str | None = None, school: str | None = None, *, firstname: str | None = None, lastname: str | None = None, birthday: date | None = None, disabled: bool = False, email: str | None = None, expiration_date: date | None = None, password: str | None = None, record_uid: str | None = None, roles: List[str], schools: List[str], school_classes: Dict[str, List[str]] | None = None, workgroups: Dict[str, List[str]] | None = None, source_uid: str | None = None, udm_properties: Dict[str, Any] | None = None, ucsschool_roles: List[str] | None = None, kelvin_password_hashes: PasswordsHashes | None = None, dn: str | None = None, url: str | None = None, session: Session | None = None, language: str | None = None, legal_guardians: List[str] | None = None, legal_wards: List[str] | None = None, **kwargs)[source]

Bases: KelvinObject

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

Bases: KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of User

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

Bases: KelvinObject

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

Bases: KelvinResource

class Meta[source]

Bases: object

kelvin_object

alias of WorkGroup

required_get_attrs: Iterable[str] = ('name', 'school')
required_head_attrs: Iterable[str] = ('name',)
required_save_attrs: Iterable[str] = ('name', 'school')
required_search_attrs: Iterable[str] = ('school',)