Skip to main content

RADIUS Server Profile Models

Models for RADIUS server profile objects in Strata Cloud Manager, defining RADIUS server configurations for centralized authentication, authorization, and accounting.

Overview​

The RADIUS Server Profile models support the following key attributes:

  • Profile name and container assignment
  • List of RADIUS servers with IP address, port, and shared secret
  • Protocol selection (CHAP, PAP, EAP-TTLS with PAP, PEAP-MSCHAPv2, PEAP with GTC)
  • Retry and timeout configuration

Base Models​

RadiusServerProfileBaseModel​

The base model contains fields common to all CRUD operations.

FieldTypeRequiredDescription
namestrYesProfile name
serverList[RadiusServer]NoList of RADIUS servers
protocolRadiusProtocolNoRADIUS protocol configuration
retriesintNoNumber of retries (1-5)
timeoutintNoTimeout in seconds (1-120)
folderstrNo*Folder in which the resource is defined
snippetstrNo*Snippet in which the resource is defined
devicestrNo*Device in which the resource is defined

* Exactly one of folder, snippet, or device is required.

RadiusServerProfileCreateModel​

Inherits from RadiusServerProfileBaseModel and adds container validation ensuring exactly one of folder, snippet, or device is provided.

RadiusServerProfileUpdateModel​

Inherits from RadiusServerProfileBaseModel with an additional required field:

FieldTypeRequiredDescription
idUUIDYesThe unique identifier of the profile

RadiusServerProfileResponseModel​

Inherits from RadiusServerProfileBaseModel with an additional field:

FieldTypeRequiredDescription
idUUIDYesThe unique identifier of the profile
note

The response model uses extra="ignore" to handle any additional fields returned by the API.

Component Models​

RadiusServer​

Represents a single RADIUS server entry.

FieldTypeRequiredDescription
namestrNoServer name
ip_addressstrNoServer IP address
portintNoServer port number (1-65535)
secretstrNoShared secret

RadiusProtocol​

RADIUS protocol configuration. Exactly one protocol type should be provided.

FieldTypeDescription
CHAPDictCHAP protocol
PAPDictPAP protocol
EAP_TTLS_with_PAPDictEAP-TTLS with PAP protocol
PEAP_MSCHAPv2DictPEAP-MSCHAPv2 protocol
PEAP_with_GTCDictPEAP with GTC protocol

Usage Examples​

Creating a RADIUS Server Profile​

from scm.models.identity.radius_server_profiles import (
RadiusServerProfileCreateModel,
RadiusServer,
RadiusProtocol,
)

# Create model instance
profile = RadiusServerProfileCreateModel(
name="corp-radius",
folder="Texas",
server=[
RadiusServer(
name="radius-primary",
ip_address="10.0.1.100",
port=1812,
secret="shared-secret"
)
],
protocol=RadiusProtocol(CHAP={}),
timeout=5,
retries=3
)

# Use with SDK
payload = profile.model_dump(exclude_unset=True)
result = client.radius_server_profile.create(payload)

Parsing a RADIUS Server Profile Response​

from scm.models.identity.radius_server_profiles import (
RadiusServerProfileResponseModel,
)

# Parse API response
response = RadiusServerProfileResponseModel(**api_response)
print(f"Name: {response.name}")
print(f"Timeout: {response.timeout}")
print(f"Retries: {response.retries}")
if response.server:
for server in response.server:
print(f" Server: {server.name} ({server.ip_address}:{server.port})")