Skip to 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.

Field Type Required Description
name str Yes Profile name
server List[RadiusServer] No List of RADIUS servers
protocol RadiusProtocol No RADIUS protocol configuration
retries int No Number of retries (1-5)
timeout int No Timeout in seconds (1-120)
folder str No* Folder in which the resource is defined
snippet str No* Snippet in which the resource is defined
device str No* 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:

Field Type Required Description
id UUID Yes The unique identifier of the profile

RadiusServerProfileResponseModel

Inherits from RadiusServerProfileBaseModel with an additional field:

Field Type Required Description
id UUID Yes The 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.

Field Type Required Description
name str No Server name
ip_address str No Server IP address
port int No Server port number (1-65535)
secret str No Shared secret

RadiusProtocol

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

Field Type Description
CHAP Dict CHAP protocol
PAP Dict PAP protocol
EAP_TTLS_with_PAP Dict EAP-TTLS with PAP protocol
PEAP_MSCHAPv2 Dict PEAP-MSCHAPv2 protocol
PEAP_with_GTC Dict PEAP 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})")