# Functions ## Creating the class See [Overview](../overview/registering.html) This creates the class and basically forwards these arguments when `register` is called. ```python def __init__(self, name: str, directory: str) ``` - `name`: The name of the client - `directory`: The directory where the configs and logging should be stored ## Registering See [Overview](../overview/registering.html) ```python def register(self, debug: bool = False) -> None ``` - `debug`: Whether or not we want to enable debugging, default: `False` Returns nothing. Raises an exception in case of an error. ## Discovery See [Overview](../overview/discovery.html) ```python def get_disco_servers(self) -> str ``` ```python def get_disco_organizations(self) -> str ``` Returns a `string` of JSON data with the servers/organizations. Raises an exception in case of an error. ## OpenVPN/Wireguard config See [Overview](../overview/getconfig.html) ```python def get_config_institute_access(self, url: str, forceTCP: bool = False) -> Tuple[str, str] ``` ```python def get_config_secure_internet(self, url: str, forceTCP: bool = False) -> Tuple[str, str] ``` - `url`: The url of the Secure Internet or Institute Access server to get a connect config for - `forceTCP`: Whether or not we want to force enable TCP, default: `False` Returns: - A `string` of the OpenVPN/Wireguard config - An `string`, `openvpn` or `wireguard` indicating if it is an OpenVPN or Wireguard config Raises an exception in case of an error. ### Cancelling OAuth ```python def cancel_oauth(self) -> None ``` Returns nothing. Raises an exception in case of an error. ### Setting a profile ID ```python def set_profile(self, profile_id: str) -> None ``` - `profile_id`: The profile ID to connect to Returns nothing. Raises an exception in case of an errorr. ## Connecting/Disconnecting See [Overview](../overview/connecting.html) ```python def set_connected(self) -> None ``` ```python def set_disconnected(self) -> None ``` Returns an nothing. Raises an exception in case of an error. ## Deregister See [Overview](../overview/deregistering.html) ```python def deregister() -> None ``` Returns nothing. Raises an exception in case of an error.