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})")