Layer2 Subinterface Models
Overview
The Layer2 Subinterface models provide structured validation for Layer 2 VLAN subinterface configuration. These subinterfaces operate at the data link layer for VLAN-tagged traffic.
Models
Layer2SubinterfaceCreateModel: For creating new subinterfacesLayer2SubinterfaceUpdateModel: For updating existing subinterfaces (includesid)Layer2SubinterfaceResponseModel: Response model from API operations
All models use extra="forbid" to reject undefined fields.
Model Attributes
Layer2SubinterfaceBaseModel
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
name |
str | Yes | None | Interface name (e.g., "ethernet1/1.100") |
comment |
str | No | None | Description (max 1023 chars) |
vlan_tag |
str | Yes | None | VLAN tag (1-4096) |
folder |
str | No* | None | Folder container |
snippet |
str | No* | None | Snippet container |
device |
str | No* | None | Device container |
* Exactly one container required for create operations
VLAN Tag Validation
The vlan_tag field is validated with pattern: ^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$
This ensures valid VLAN IDs from 1 to 4096.
Usage Examples
Create Subinterface
from scm.models.network import Layer2SubinterfaceCreateModel
subinterface = Layer2SubinterfaceCreateModel(
name="ethernet1/1.100",
comment="Guest Network VLAN",
vlan_tag="100",
folder="Interfaces"
)
payload = subinterface.model_dump(exclude_unset=True)