Example Usages
Device Management/ System
1min
import time from pprint import pprint from litmussdk system import debugging params from litmussdk system import ( certificates, device management, events, external storage, general, ldap, network, services, templates, tokens, users, wifi, ) example cifs mount body, example ftp mount body = ( debugging params setup external storage() ) example user roles body, example user details = debugging params setup dm users() example new provider form = debugging params setup ldap() def dm certificates() ca chain = "" certificate = "" cert key = "" print("\n \ncertificates\n ") pprint(certificates get device certificate()) pprint(certificates get custom ca certificate()) pprint(certificates get csr()) pprint(certificates show device identity()) pprint(certificates get identity certificates()) pprint(certificates reset device certificate()) \## allowed to fail pprint( certificates add device certificate( ca chain=ca chain, certificate=certificate, cert key=cert key ) ) pprint( certificates install identity certificates( ca chain=ca chain, certificate=certificate ) ) pprint( certificates delete identity certificates( ca chain=ca chain, certificate=certificate ) ) def dm device management() cloud url = "https //10 17 3 103" print("\n \ndevice management\n ") pprint(device management show cloud registration status()) \# pprint(device management register with cloud(activation code)) \# pprint(device management de register with cloud()) pprint(device management show backup interval()) pprint(device management set backup interval(5)) pprint(device management show cloud url()) pprint(device management set cloud url(cloud url)) \# pprint(device management reboot device()) \# pprint(device management shutdown device()) \# pprint(device management factory reset()) pprint(device management list software updates()) def dm events() from timestamp, to timestamp = debugging params setup events() pprint(events get events(from timestamp, to timestamp)) pprint(events event management stats()) pprint(events events zero touch reports()) def dm external storage() cifs name = example cifs mount body\["name"] ftp name = example ftp mount body\["name"] print("\n \nexternal storage\n ") pprint(external storage create new cifs mount( example cifs mount body)) pprint(external storage get cifs mount details(cifs mount name=cifs name)) pprint( external storage update cifs mount( cifs mount name=cifs name, example cifs mount body ) ) pprint(external storage create ftp mount( example ftp mount body)) pprint(external storage get ftp mount details(ftp mount name=ftp name)) pprint( external storage update ftp mount( ftp mount name=ftp name, example ftp mount body ) ) pprint(external storage list attached storages()) \## > allowed to fail pprint(external storage unmount attached storage(attached storage name=ftp name)) pprint(external storage mount attached storage(attached storage name=ftp name)) \## < pprint(external storage delete mount point(attached storage name=cifs name)) pprint(external storage delete mount point(attached storage name=ftp name)) def dm general() print("\n \ngeneral\n ") pprint(general firmware info()) pprint(general mac address()) pprint(general network info()) pprint(general modem info()) pprint(general memory info()) pprint(general storage info()) pprint(general serial info()) pprint(general slcan info()) pprint(general cpu info()) pprint(general influx info()) def dm ldap() print("\n \nldap\n ") new auth = ldap create new auth providers( example new provider form) auth providers = ldap list auth providers() \# new auth config = json loads(new auth\[1]) auth provider config = auth providers\[0] provider id = auth provider config\["id"] auth provider config pop("id") auth provider config pop("name") auth provider config\["name"] = "ldap test config" pprint(new auth) print(auth providers) pprint(ldap auth providers details(provider id)) pprint(ldap ldap test config( auth provider config)) pprint(new auth) pprint(ldap update ldap config(provider id, auth provider config)) pprint(ldap ldap provider status(provider id)) pprint(ldap ldap provider user group(provider id)) pprint(ldap delete ldap config(provider id)) def dm network() ( set country, friendly name, set timezone, dns resolvers, docker binding ip, ntp server list, ) = debugging params setup network() print("\n \nset dm network\n ") \## ignore for now \# imei = "" \# set date = "" \# set time = "" \# pprint(dmnetwork update modem config(imei=imei)) \# pprint(dmnetwork set system clock(date=set date, time=set time)) pprint(network set country(set country)) pprint(network set friendly name(friendly name)) pprint(network set dns resolvers(dns resolvers)) pprint(network set docker config(docker binding ip)) pprint(network set ntp servers(ntp server list)) pprint(network set timezone(set timezone)) print("\n \nget dm network\n ") pprint(network network interface details()) pprint(network firewall rules()) pprint(network device network info()) pprint(network available timezones()) pprint(network network interface config()) pprint(network list available modems()) print("\n \npacket capture\n ") pprint(network get packet capture interfaces()) pprint(network packet capture status()) pprint(network start stop packet capture("start")) pprint(network start stop packet capture("stop")) def dm services() service name = "ssh" ftp username = "api test user" ftp new password = "password123" print("\n \nservices\n ") pprint(services show available services()) pprint(services show service status(service name=service name)) pprint(services ftp service status()) pprint(services ssh service status()) pprint(services create ftp user(username=ftp username)) pprint( services reset ftp user password( username=ftp username, new password=ftp new password ) ) pprint(services delete ftp user(username=ftp username)) pprint(services stop and disable service(service name=service name)) pprint(services start and enable service(service name=service name)) def dm templates() , example template = debugging params setup template() pprint(templates list available configurable items()) pprint(templates apply template(example template)) def dm tokens() api key name = "testapikey" + str(int(time time())) print("\n \napi tokens\n ") created api key = tokens create api key(api key name) list api keys = tokens get api keys() api key id = \[i\["id"] for i in list api keys if i\["name"] == api key name] pprint(created api key) pprint(list api keys) pprint(tokens show api key by id(api key id\[0])) pprint(tokens validate api key(api key name)) pprint(tokens update api key(api key id\[0], api key name + "updated")) pprint(tokens delete api key by id(api key id\[0])) def dm users() user group name = "api test" updated user group name = "api test 2" list of users = \["a", "b", "c"] new user details = example user details print("\n \nusers\n ") created user = users create user( new user details) pprint(created user) user id = created user\["id"] pprint(users list users()) pprint(users update user( new user details)) pprint(users get user by id(user id)) pprint(users delete user(user id)) print("\n \nuser roles\n ") add new user role = users add user role( example user roles body) new user role id = add new user role\["id"] pprint(add new user role) pprint(users list users()) pprint(users get user roles()) pprint(users update user role(new user role id, example user roles body)) pprint(users delete user role(new user role id)) print("\n \nuser groups\n ") created user group = users create user group(new user group name=user group name) created user group id = created user group\["groupid"] pprint(created user group) pprint(users get user groups()) pprint(users get user group details(user group id=created user group id)) pprint( users update user group name( user group id to update=created user group id, updated group name=updated user group name, ) ) pprint( users add users to group( user group id=created user group id, users to be added=list of users ) ) pprint(users delete user group(user group id=created user group id)) def dm wifi() interface = "wlan0" pprint(wifi wifi interfaces()) pprint(wifi wifi known networks()) pprint(wifi wifi interfaces status(interface)) pprint(wifi wifi interfaces networks(interface)) if name == " main " dm certificates() dm device management() dm events() dm external storage() dm general() dm ldap() dm network() dm services() dm templates() dm tokens() dm users() dm wifi()