29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
"""SSL 相关请求模型"""
|
||
|
||
from typing import Optional
|
||
|
||
from pydantic import BaseModel, Field
|
||
|
||
|
||
class SubdomainCreate(BaseModel):
|
||
asset_id: int = Field(description="所属域名资产 ID")
|
||
host: str = Field(min_length=1, max_length=63, description="子域名主机名,如 www/api(@ 表示根域名)")
|
||
record_type: Optional[str] = Field(default=None, description="DNS 记录类型")
|
||
record_value: Optional[str] = Field(default=None, description="DNS 记录值")
|
||
is_active: bool = Field(default=True, description="是否启用")
|
||
note: Optional[str] = Field(default=None, description="备注")
|
||
|
||
|
||
class SubdomainUpdate(BaseModel):
|
||
host: Optional[str] = Field(default=None, min_length=1, max_length=63)
|
||
record_type: Optional[str] = Field(default=None)
|
||
record_value: Optional[str] = Field(default=None)
|
||
is_active: Optional[bool] = Field(default=None)
|
||
note: Optional[str] = Field(default=None)
|
||
|
||
|
||
class SiteCertCreate(BaseModel):
|
||
hostname: str = Field(min_length=1, max_length=253, description="探测目标主机名")
|
||
port: int = Field(default=443, ge=1, le=65535, description="探测端口")
|
||
asset_id: Optional[int] = Field(default=None, description="关联资产 ID(可选)")
|