Python library for using the RCDevs API (Manager and SOAP APIs)
Project description
pyrcdevs
Manager API
Example (requesting Server_Status method)
import ssl
import asyncio
from pyrcdevs import WebADMManager
webadm_manager_api = WebADMManager(
"my_webadm_host_or_ip",
"UserDomain\\api_username",
"api_password",
verify_mode=ssl.CERT_REQUIRED,
ca_file="/path/to/ca_file.crt"
)
server_status_response = asyncio.run(webadm_manager_api.server_status(servers=True, websrvs=True, webapps=True))
Output is:
{'version': '2.3.24', 'servers': {'ldap': True, 'sql': True, 'session': True, 'pki': True, 'mail': True}, 'webapps': {'HelpDesk': {'version': '1.1.5', 'status': 'Invalid'}, 'OpenID': {'version': '1.6.7', 'status': 'Invalid'}, 'PwReset': {'version': '1.3.4', 'status': 'Ok'}, 'SelfDesk': {'version': '1.4.7', 'status': 'Ok'}, 'SelfReg': {'version': '1.4.4', 'status': 'Ok'}}, 'websrvs': {'OpenOTP': {'version': '2.2.22', 'status': 'Ok', 'license': 'Ok'}, 'SMSHub': {'version': '1.3.1', 'status': 'Ok'}, 'SpanKey': {'version': '2.1.5', 'status': 'Ok', 'license': 'Ok'}}, 'status': False}
TLS client authentication
TLS client authentication may be required if your WebADM server has the manager_auth setting configured to PKI in /opt/webadm/conf/webadm.conf file.
In this case, you can set the p12_file and p12_password options when instantiating the WebADM object:
import ssl
import asyncio
from pyrcdevs import WebADMManager
webadm_manager_api = WebADMManager(
"my_webadm_host_or_ip",
"UserDomain\\api_username",
"api_password",
verify_mode=ssl.CERT_REQUIRED,
ca_file="/path/to/ca_file.crt",
p12_file_path = "/path/to/p12_file.p12",
p12_password = "p12_PasSW0rd"
)
server_status_response = asyncio.run(webadm_manager_api.server_status())
SOAP API
Example (requesting openotpNormalLogin method)
import ssl
import asyncio
from pyrcdevs import OpenOTPSoap
openotp_soap_api = OpenOTPSoap(
"my_webadm_host_or_ip",
verify_mode=ssl.CERT_REQUIRED,
ca_file="/path/to/ca_file.crt"
)
response = asyncio.run(openotp_soap_api.normal_login("testuser1", ldap_password="password", otp_password="123456"))
Output is:
{'code': '1', 'error': None, 'message': 'Authentication success', 'data': None, 'concat': '0'}
Authentication
Authentication may be required if your SOAP endpoint has the Require Certificate / API Key setting
configured to Yes in its settings. This setting is located in WebADM under Applications->Configure page of
corresponding web service.
Client certificate
For client certiticate authentication, you can set the p12_file and p12_password options when instantiating the OpenOTPSoap object:
import ssl
import asyncio
from pyrcdevs import OpenOTPSoap
openotp_soap_api = OpenOTPSoap(
"my_webadm_host_or_ip",
verify_mode=ssl.CERT_REQUIRED,
ca_file="/path/to/ca_file.crt",
p12_file_path = "/path/to/p12_file.p12",
p12_password = "p12_PasSW0rd"
)
response = asyncio.run(openotp_soap_api.normal_login("testuser1", ldap_password="password", otp_password="123456"))
API key
For API key authentication, you can set the api_key parameter when instantiating the OpenOTPSoap object:
import ssl
import asyncio
from pyrcdevs import OpenOTPSoap
openotp_soap_api = OpenOTPSoap(
"my_webadm_host_or_ip",
verify_mode=ssl.CERT_REQUIRED,
ca_file="/path/to/ca_file.crt",
api_key="5860687476061196336_d788fd99ea4868f35c3b5e21ada3920b9501bb2c",
)
response = asyncio.run(openotp_soap_api.normal_login("testuser1", ldap_password="password", otp_password="123456"))
More information can be found here: Manager APIs
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyrcdevs-2.1.1.tar.gz.
File metadata
- Download URL: pyrcdevs-2.1.1.tar.gz
- Upload date:
- Size: 39.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Linux/7.0.0-22-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9575687889bd297f96c70e465de0de99af9988db44b6100252d2334b461c4c6
|
|
| MD5 |
a16a37a8d93542801b3d626c993503ac
|
|
| BLAKE2b-256 |
02d88c22140baf97690ebf0dbb271d77623d1d62da5e038d108b433bdc2d787a
|
File details
Details for the file pyrcdevs-2.1.1-py3-none-any.whl.
File metadata
- Download URL: pyrcdevs-2.1.1-py3-none-any.whl
- Upload date:
- Size: 47.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Linux/7.0.0-22-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9b71ef07c392baa0ff42261423a75829d521aadd9075eef960de5c746084a6d
|
|
| MD5 |
1df7b73f659bab090cea51464beacc72
|
|
| BLAKE2b-256 |
a80d45b2e272d707128356d00c8257e1802add7b93ea44b45ef9673aaf7f26ee
|