Legrand / Raritan / Server Technology Xerus™ JSON-RPC API
Loading...
Searching...
No Matches
TacPlusManager.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2020 Raritan Inc. All rights reserved.
4 */
5
6/** Local and Remote Authentication Management */
7module auth {
8
9 /** TACACS+ server configuration interface */
10 interface TacPlusManager {
11
12 /** TACACS+ authentication type */
13 enumeration AuthenType {
14 ASCII, ///< Plain text authentication
15 PAP, ///< PAP authentication
16 CHAP, ///< CHAP authentication
17 MSCHAP ///< MSCHAP authentication
18 };
19
20 /** Server settings */
21 structure ServerSettings {
22 string server; ///< TACACS+ server name or IP address
23 int port; ///< TACACS+ server TCP port
24 int timeoutSeconds; ///< max time from connecting until session completion
25 int retries; ///< max number of allowed retries
26 string sharedSecret; ///< Shared secret between Xerus device and TACACs+ server
27 AuthenType authenType; ///< Authentication type
28 boolean disableAccounting;///< \c true to disable accounting, \c false to enable accounting
29 };
30
31 constant int ERR_INVALID_CFG = 1; ///< The server configuration is invalid
32 constant int ERR_SERVER_UNSPECIFIED = 2; ///< Unspecified error
33 constant int ERR_INVALID_SHARED_SECRET = 3; ///< The shared secret is invalid
34 constant int ERR_SERVER_UNREACHABLE = 4; ///< TACACS+ server could not be contacted
35 constant int ERR_AUTHENTICATION_FAILED = 5; ///< User could not be authenticated
36 constant int ERR_NO_ROLES = 6; ///< No roles are defined for the user
37 constant int ERR_NO_KNOWN_ROLES = 7; ///< No known rules are defined for the user
38
39 /**
40 * Get a list of TACACS+ server settings
41 *
42 * @return list of ServerSettings
43 */
44 vector<ServerSettings> getTacPlusServers();
45
46 /**
47 * Sets a list of TACACS+ servers.
48 * Any existing TACACS+ Server configuration will be cleared / overwritten.
49 *
50 * @return 0 on success
51 * @return \c ERR_INVALID_CFG in case of invalid configuration
52 */
53 int setTacPlusServers(in vector<ServerSettings> serverList);
54
55 /**
56 * Tests an TACACS+ server configuration.
57 *
58 * @return 0 on success
59 * @return \c ERR_SERVER_UNSPECIFIED an unspecified error occurred
60 * @return \c ERR_INVALID_CFG server configuration is invalid (reused from setTacPlusServers)
61 * @return \c ERR_INVALID_SHARED_SECRET the shared secret is invalid
62 * @return \c ERR_SERVER_UNREACHABLE TACACS+ server could not be contacted
63 * @return \c ERR_AUTHENTICATION_FAILED user could not be authenticated
64 * @return \c ERR_NO_ROLES no roles are defined for the user
65 * @return \c ERR_NO_KNOWN_ROLES no known roles are defined for the user
66 */
67 int testTacPlusServer(in string username, in string password, in ServerSettings settings);
68
69 };
70}
TACACS+ server configuration interface.
int setTacPlusServers(in vector< ServerSettings > serverList)
Sets a list of TACACS+ servers.
vector< ServerSettings > getTacPlusServers()
Get a list of TACACS+ server settings.
int testTacPlusServer(in string username, in string password, in ServerSettings settings)
Tests an TACACS+ server configuration.
AuthenType
TACACS+ authentication type.
@ CHAP
CHAP authentication.
@ ASCII
Plain text authentication.
@ PAP
PAP authentication.
Local and Remote Authentication Management.
Definition: AuthManager.idl:7
int port
TACACS+ server TCP port.
AuthenType authenType
Authentication type.
string server
TACACS+ server name or IP address.
boolean disableAccounting
true to disable accounting, false to enable accounting
string sharedSecret
Shared secret between Xerus device and TACACs+ server.
int timeoutSeconds
max time from connecting until session completion
int retries
max number of allowed retries