Skip to content

Add AAA server family resources (server groups, RADIUS and TACACS+ servers) - #71

Open
ed6869 wants to merge 1 commit into
aruba:masterfrom
ed6869:feature/aaa
Open

ed6869 wants to merge 1 commit into
aruba:masterfrom
ed6869:feature/aaa

Conversation

@ed6869

@ed6869 ed6869 commented Jun 28, 2026

Copy link
Copy Markdown

Description

Adds three new resource modules to manage the AAA server family on AOS-CX
devices, plus the v10.16 REST version module they rely on.

  • pyaoscx/aaa_server_group.pyAaaServerGroup (system/aaa_server_groups,
    index group_name, attribute group_type).
  • pyaoscx/radius_server.pyRadiusServer
    (system/vrfs/{vrf}/radius_servers, VRF-nested, compound index
    address,port,port_type). Supports the server_group binding
    ({group_uri: priority}, several groups allowed), the write-only passkey
    and the usual RADIUS scalars (auth_type, accounting_udp_port, retries,
    timeout, tls_initial_connection_timeout, msg_authenticator_check,
    tracking_*, port_access).
  • pyaoscx/tacacs_server.pyTacacsServer
    (system/vrfs/{vrf}/tacacs_servers, VRF-nested, compound index
    address,tcp_port). Supports group membership, the write-only passkey
    and the TACACS+ scalars (auth_type, timeout, tracking_enable,
    default_group_priority, user_group_priority).

All three classes are registered in pyaoscx/api.py and use a PUT-based
update(). This change also adds the pyaoscx/rest/v10_16/ API version module
(required for the RADIUS server_group dict binding) and 17 offline unit tests
in tests/test_aaa.py.

Fixes #70

Testing

  • black --line-length 79 --check and flake8 clean on all new files.
  • pytest tests/test_aaa.py — 17/17 passing.
  • Validated live against an AOS-CX 6300 (FL.10.17, REST v10.16): create /
    read-back / idempotent update / delete for all three resources, including a
    multi-group server_group binding that reproduces a production
    ClearPass-style RADIUS profile. No production resources were modified.

Note on contribution target

CONTRIBUTING.md mentions a development branch, but the repository only
exposes master, so this PR targets master. Happy to retarget if a
development branch is created.

Companion collection PR: aruba/aoscx-ansible-collection#158

Add three new pyaoscx resource modules for AAA configuration:

- AaaServerGroup (system/aaa_server_groups): manage AAA server groups
  indexed by group_name with a configurable group_type.
- RadiusServer (system/vrfs/{vrf}/radius_servers): manage RADIUS servers,
  VRF-nested with the compound index address,port,port_type and support
  for the server_group binding (REST v10.16).
- TacacsServer (system/vrfs/{vrf}/tacacs_servers): manage TACACS+ servers,
  VRF-nested with the compound index address,tcp_port and group membership.

All three classes are registered in the api module-name table and use a
PUT-based update. Includes the v10.16 REST version module (required for the
RADIUS server_group binding) and 17 offline unit tests in tests/test_aaa.py.

Signed-off-by: ed6869 <ed6869@mail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add AAA server family resources (server groups, RADIUS servers, TACACS+ servers)

1 participant