Skip to content

TACACS+ Server Profile Models

Models for TACACS+ server profile objects in Strata Cloud Manager, defining TACACS+ server configurations for terminal access controller authentication, authorization, and accounting.

Overview

The TACACS+ Server Profile models support the following key attributes:

  • Profile name and container assignment
  • List of TACACS+ servers with address, port, and shared secret
  • Protocol selection (CHAP or PAP)
  • Timeout and single connection settings

Base Models

TacacsServerProfileBaseModel

The base model contains fields common to all CRUD operations.

Field Type Required Description
name str Yes Profile name
server List[TacacsServer] No List of TACACS+ servers
protocol TacacsProtocol No TACACS+ protocol type
timeout int No Timeout in seconds (1-30)
use_single_connection bool No Use single connection
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.

TacacsServerProfileCreateModel

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

TacacsServerProfileUpdateModel

Inherits from TacacsServerProfileBaseModel with an additional required field:

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

TacacsServerProfileResponseModel

Inherits from TacacsServerProfileBaseModel 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

TacacsServer

Represents a single TACACS+ server entry.

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

TacacsProtocol

Protocol type enumeration.

Value Description
CHAP Challenge-Handshake Authentication Protocol
PAP Password Authentication Protocol

Usage Examples

Creating a TACACS+ Server Profile

from scm.models.identity.tacacs_server_profiles import (
    TacacsServerProfileCreateModel,
    TacacsServer,
    TacacsProtocol,
)

# Create model instance
profile = TacacsServerProfileCreateModel(
    name="corp-tacacs",
    folder="Texas",
    server=[
        TacacsServer(
            name="tacacs-primary",
            address="10.0.1.50",
            port=49,
            secret="shared-secret"
        )
    ],
    protocol=TacacsProtocol.CHAP,
    timeout=5,
    use_single_connection=True
)

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

Parsing a TACACS+ Server Profile Response

from scm.models.identity.tacacs_server_profiles import (
    TacacsServerProfileResponseModel,
)

# Parse API response
response = TacacsServerProfileResponseModel(**api_response)
print(f"Name: {response.name}")
print(f"Protocol: {response.protocol}")
print(f"Timeout: {response.timeout}")
if response.server:
    for server in response.server:
        print(f"  Server: {server.name} ({server.address}:{server.port})")