Data Models
Welcome to the Data Models documentation for pan-scm-sdk. This section provides detailed information about the
Pydantic models used to validate and structure data when interacting with the Strata Cloud Manager API.
What Are Data Models?
Data Models are Pydantic classes that define the schema and validation rules for configuration objects. They ensure that data passed to and received from the API conforms to expected formats, types, and constraints.
Use this section when you need to:
- Understand field constraints - Learn what values are allowed for each field (patterns, lengths, enums)
- Validate configurations - Pre-validate data before sending to the API
- Type annotations - Get proper IDE autocompletion and type checking
- Build configuration dictionaries - Know exactly what fields are required vs optional
Model Types
Each resource has three model types:
| Model Type | Purpose | Example |
|---|---|---|
CreateModel |
Validates data for creating new resources | AddressCreateModel |
UpdateModel |
Validates data for updating existing resources (includes id) |
AddressUpdateModel |
ResponseModel |
Represents data returned from the API | AddressResponseModel |
Example Usage
from scm.models.objects.address import AddressCreateModel
# Validate configuration before API call
try:
config = AddressCreateModel(
name="web-server",
ip_netmask="10.0.1.100/32",
folder="Texas",
description="Primary web server"
)
print(f"Valid config: {config.model_dump()}")
except ValueError as e:
print(f"Validation error: {e}")
Categories
Deployment
Models for Prisma Access deployment configuration: - Bandwidth Allocations - BGP Routing - Internal DNS Servers - Network Locations - Remote Networks - Service Connections
Mobile Agent
Models for GlobalProtect mobile agent configuration: - Authentication Settings - Agent Versions
Network
Models for network infrastructure: - IKE Crypto Profiles - IKE Gateways - IPsec Crypto Profiles - NAT Rules - Security Zones
Objects
Models for reusable policy objects: - Addresses - Address Groups - Applications - Application Filters - Application Groups - Auto Tag Actions - Dynamic User Groups - External Dynamic Lists - HIP Objects - HIP Profiles - HTTP Server Profiles - Log Forwarding Profiles - Quarantined Devices - Regions - Schedules - Services - Service Groups - Syslog Server Profiles - Tags
Operations
Models for operational tasks: - Candidate Push - Jobs
Security Services
Models for security profiles and policies: - Anti-Spyware Profiles - Decryption Profiles - DNS Security Profiles - Security Rules - URL Categories - Vulnerability Protection Profiles - WildFire Antivirus Profiles
Setup
Models for organizational containers: - Folders - Labels - Snippets - Devices - Variables
Insights
Models for Prisma Access Insights: - Alerts
Relationship to SDK Reference
The Data Models define what data looks like, while the SDK Reference documents how to perform operations. For example:
- Use
AddressCreateModel(Data Models) to understand required fields - Use
client.address.create()(SDK Reference) to actually create the address
from scm.client import Scm
client = Scm(client_id="...", client_secret="...", tsg_id="...")
# The dictionary you pass follows AddressCreateModel schema
client.address.create({
"name": "web-server", # Required: str, max 63 chars
"ip_netmask": "10.0.1.100", # One of: ip_netmask, ip_range, ip_wildcard, fqdn
"folder": "Texas", # Required: one container type
})