Kerberos Server Profile Models¶
Models for Kerberos server profile objects in Strata Cloud Manager, defining KDC server configurations for Kerberos-based authentication.
Overview¶
The Kerberos Server Profile models support the following key attributes:
- Profile name and container assignment
- List of Kerberos KDC servers with host and port configuration
Base Models¶
KerberosServerProfileBaseModel¶
The base model contains fields common to all CRUD operations.
| Field | Type | Required | Description |
|---|---|---|---|
name |
str |
Yes | Profile name |
server |
List[KerberosServer] |
No | List of Kerberos servers |
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.
KerberosServerProfileCreateModel¶
Inherits from KerberosServerProfileBaseModel and adds container validation ensuring exactly one of folder, snippet, or device is provided.
KerberosServerProfileUpdateModel¶
Inherits from KerberosServerProfileBaseModel with an additional required field:
| Field | Type | Required | Description |
|---|---|---|---|
id |
UUID |
Yes | The unique identifier of the profile |
KerberosServerProfileResponseModel¶
Inherits from KerberosServerProfileBaseModel 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¶
KerberosServer¶
Represents a single Kerberos server entry.
| Field | Type | Required | Description |
|---|---|---|---|
name |
str |
No | Server name |
host |
str |
No | Server hostname or IP address |
port |
int |
No | Server port number (1-65535) |
Usage Examples¶
Creating a Kerberos Server Profile¶
from scm.models.identity.kerberos_server_profiles import (
KerberosServerProfileCreateModel,
KerberosServer,
)
# Create model instance
profile = KerberosServerProfileCreateModel(
name="corp-kerberos",
folder="Texas",
server=[
KerberosServer(
name="kdc-primary",
host="kdc.example.com",
port=88
)
]
)
# Use with SDK
payload = profile.model_dump(exclude_unset=True)
result = client.kerberos_server_profile.create(payload)
Parsing a Kerberos Server Profile Response¶
from scm.models.identity.kerberos_server_profiles import (
KerberosServerProfileResponseModel,
)
# Parse API response
response = KerberosServerProfileResponseModel(**api_response)
print(f"Name: {response.name}")
if response.server:
for server in response.server:
print(f" Server: {server.name} ({server.host}:{server.port})")