Skip to content

Commit fa509c8

Browse files
author
molanp
committed
feat(docs): 为全部模型添加注释
- resolve #9
2 parents 9bfc1fe + f843417 commit fa509c8

File tree

9 files changed

+293
-17
lines changed

9 files changed

+293
-17
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
![Supported MCSManager Versions](https://img.shields.io/badge/Supported%20MCSManager%20Versions-10.x-blue)
44
![Python Version](https://img.shields.io/badge/Python%20Version-%3E%3D3.7-blue)
55
![PyPI Downloads](https://img.shields.io/pypi/dm/mcsmapi)
6+
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/molanp/mcsmapi)
67

78
English|[Chinese Simplified](README_zh-cn.md)
89

README_zh-cn.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
![Supported MCSManager Versions](https://img.shields.io/badge/Supported%20MCSManager%20Versions-10.x-blue)
44
![Python Version](https://img.shields.io/badge/Python%20Version-%3E%3D3.7-blue)
55
![PyPI Downloads](https://img.shields.io/pypi/dm/mcsmapi)
6+
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/molanp/mcsmapi)
67

78
简体中文|[English](README.md)
89

mcsmapi/apis/daemon.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def instances(self, daemonId: str, page: int = 0, page_size: int = 10, instance_
5252
- 由于根据 MCSM 源代码的测试无法获取有效数据,目前无法完成该功能的开发。
5353
- 如果你有具体的实现思路,请在 issue 中提出
5454
- 可供参考 MCSM 源码: [daemon_router.ts 第 32 行](https://github.com/MCSManager/MCSManager/blob/master/panel%2Fsrc%2Fapp%2Frouters%2Fdaemon_router.ts#L32-L32)
55+
- 模型定义代码: https://github.com/MCSManager/MCSManager/blob/master/frontend%2Fsrc%2Fservices%2Fapis%2Findex.ts#L86-L86
5556
- 测试地址示例:
5657
`http://localhost:23333/api/service/remote_service_instances?apikey=xxx&daemonId=xxx&page=0&page_size=10&status=3&instance_name=`
5758
"""

mcsmapi/models/daemon.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@
44

55

66
class CpuMemChart(BaseModel):
7+
"""节点资源使用率信息"""
8+
79
"""cpu使用率"""
810
cpu: float = 0
911
"""内存使用率"""
1012
mem: float = 0
1113

1214

1315
class ProcessInfo(BaseModel):
16+
"""节点进程详细信息"""
17+
1418
"""远程节点使用的cpu资源(单位: byte)"""
1519
cpu: int = 0
1620
"""远程节点使用的内存资源(单位: byte)"""
@@ -20,13 +24,17 @@ class ProcessInfo(BaseModel):
2024

2125

2226
class InstanceInfo(BaseModel):
27+
"""实例统计信息"""
28+
2329
"""运行中实例数量"""
2430
running: int = 0
2531
"""全部实例数量"""
2632
total: int = 0
2733

2834

2935
class SystemInfo(BaseModel):
36+
"""节点系统信息"""
37+
3038
"""系统类型"""
3139
type: str = ""
3240
"""主机名"""
@@ -56,6 +64,8 @@ class SystemInfo(BaseModel):
5664

5765

5866
class DaemonModel(BaseModel):
67+
"""节点详细信息"""
68+
5969
"""远程节点版本"""
6070
version: str = ""
6171
"""远程节点的基本信息"""
@@ -158,6 +168,8 @@ def deleteInstance(self, uuids: list[str], deleteFile=False) -> list[str]:
158168

159169

160170
class DaemonConfig(BaseModel):
171+
"""节点配置信息"""
172+
161173
"""远程节点的ip"""
162174
ip: str = "localhost"
163175
"""远程节点的端口"""

mcsmapi/models/file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55

66
class FileItem(BaseModel):
7+
"""文件信息"""
8+
79
"""文件名称"""
810
name: str = ""
911
"""文件大小(单位: byte)"""
@@ -149,6 +151,8 @@ def download(self) -> str:
149151

150152

151153
class FileList(BaseModel):
154+
"""文件列表"""
155+
152156
"""文件信息列表"""
153157
items: List[FileItem]
154158
"""当前页数"""

mcsmapi/models/image.py

Lines changed: 100 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,113 +3,205 @@
33

44

55
class DockerConfig(BaseModel):
6+
"""容器配置"""
7+
68
"""容器名称"""
79
containerName: str = ""
810
"""镜像名称"""
911
image: str = ""
1012
"""容器分配内存(单位: MB)"""
1113
memory: int = 0 # in MB
12-
ports: List[str] = ["25565:25565/tcp"]
14+
"""容器端口映射"""
15+
ports: List[str] = [] # ["25565:25565/tcp"]
16+
"""额外挂载卷路径"""
1317
extraVolumes: List[str] = []
18+
"""容器可使用的最大磁盘空间(单位: MB)"""
1419
maxSpace: Optional[int] = None
20+
"""网络配置,可以是网络名称或ID"""
1521
network: Optional[Union[str, int]] = None
22+
"""容器的 IO 限制"""
1623
io: Optional[Union[str, int]] = None
24+
"""网络模式(例如: bridge, host)"""
1725
networkMode: str = "bridge"
26+
"""网络别名列表"""
1827
networkAliases: List[str] = []
19-
cpusetCpus: str = ""
28+
"""绑定的 CPU 核心"""
29+
cpusetCpus: str = "" # 例如 `0,1`
30+
"""CPU 使用率(单位: %)"""
2031
cpuUsage: int = 100
32+
"""工作目录"""
2133
workingDir: str = ""
34+
"""环境变量设置"""
2235
env: List[str] = []
2336

2437

2538
class DockerImageItem(BaseModel):
39+
"""Docker 镜像信息"""
40+
41+
"""镜像唯一 ID"""
2642
Id: str = ""
43+
"""父镜像 ID"""
2744
ParentId: str = ""
28-
RepoTags: List[str] = []
45+
"""镜像仓库标签"""
46+
RepoTags: List[str] = [] # 例如 ["ubuntu:latest"]
47+
"""镜像摘要"""
2948
RepoDigests: List[str] = []
49+
"""镜像创建时间(Unix 时间戳)"""
3050
Created: int = 0
51+
"""镜像大小(单位: 字节)"""
3152
Size: int = 0
53+
"""镜像的虚拟大小"""
3254
VirtualSize: int = 0
55+
"""共享存储空间大小"""
3356
SharedSize: int = 0
57+
"""镜像标签"""
3458
Labels: dict[str, str] = {}
59+
"""依赖该镜像运行的容器数量"""
3560
Containers: int = 0
3661

3762

3863
class DockerContainerItemPort(BaseModel):
64+
"""Docker 容器端口映射"""
65+
66+
"""容器内部端口"""
3967
PrivatePort: int = 0
68+
"""映射到宿主机的端口"""
4069
PublicPort: Optional[int] = None
70+
"""端口类型(tcp/udp)"""
4171
Type: str = ""
4272

4373

4474
class DockerContainerItemNetworkSettingsNetwork(BaseModel):
75+
"""Docker 容器网络设置信息"""
76+
77+
"""网络 ID"""
4578
NetworkID: str = ""
79+
"""网络端点 ID"""
4680
EndpointID: str = ""
81+
"""网关地址"""
4782
Gateway: str = ""
83+
"""分配的 IP 地址"""
4884
IPAddress: str = ""
85+
"""IP 地址前缀长度"""
4986
IPPrefixLen: int = 0
87+
"""IPv6 网关地址"""
5088
IPv6Gateway: str = ""
89+
"""IPv6 地址"""
5190
GlobalIPv6Address: str = ""
91+
"""IPv6 地址前缀长度"""
5292
GlobalIPv6PrefixLen: int = 0
93+
"""MAC 地址"""
5394
MacAddress: str = ""
5495

5596

5697
class DockerContainerItemNetworkSettings(BaseModel):
98+
"""Docker 容器的网络配置信息"""
99+
100+
"""容器连接的所有网络"""
57101
Networks: dict[str, DockerContainerItemNetworkSettingsNetwork] = {}
58102

59103

60104
class DockerContainerItemMount(BaseModel):
105+
"""容器挂载点信息"""
106+
107+
"""挂载名称"""
61108
Name: str = ""
109+
"""源路径"""
62110
Source: str = ""
111+
"""目标路径"""
63112
Destination: str = ""
113+
"""驱动类型"""
64114
Driver: str = ""
115+
"""挂载模式"""
65116
Mode: str = ""
117+
"""是否允许读写"""
66118
RW: bool = False
119+
"""传播模式"""
67120
Propagation: str = ""
68121

69122

70123
class DockerContainerItemHostConfig(BaseModel):
124+
"""Docker 宿主机配置"""
125+
126+
"""网络模式"""
71127
NetworkMode: str = ""
72128

73129

74130
class DockerContainerItem(BaseModel):
131+
"""Docker 容器详细信息"""
132+
133+
"""容器 ID"""
75134
Id: str = ""
135+
"""容器名称列表"""
76136
Names: List[str] = []
137+
"""运行的镜像名称"""
77138
Image: str = ""
139+
"""镜像 ID"""
78140
ImageID: str = ""
141+
"""容器启动命令"""
79142
Command: str = ""
143+
"""容器创建时间(Unix 时间戳)"""
80144
Created: int = 0
145+
"""容器状态"""
81146
State: str = ""
147+
"""容器运行状态描述"""
82148
Status: str = ""
149+
"""端口映射信息"""
83150
Ports: List[DockerContainerItemPort] = []
151+
"""容器标签信息"""
84152
Labels: dict[str, str] = {}
153+
"""读写层大小(单位: 字节)"""
85154
SizeRw: int = 0
155+
"""根文件系统大小(单位: 字节)"""
86156
SizeRootFs: int = 0
157+
"""宿主机配置"""
87158
HostConfig: DockerContainerItemHostConfig = DockerContainerItemHostConfig()
88-
NetworkSettings: DockerContainerItemNetworkSettings = (
89-
DockerContainerItemNetworkSettings()
90-
)
159+
"""容器网络配置"""
160+
NetworkSettings: DockerContainerItemNetworkSettings = DockerContainerItemNetworkSettings()
161+
"""容器挂载信息"""
91162
Mounts: List[DockerContainerItemMount] = []
92163

93164

94165
class DockerNetworkItemIPAMConfig(BaseModel):
166+
"""Docker 网络 IPAM 配置信息"""
167+
168+
"""子网地址"""
95169
Subnet: str = ""
96170

97171

98172
class DockerNetworkItemIPAM(BaseModel):
173+
"""Docker 网络的 IP 地址管理"""
174+
175+
"""驱动类型"""
99176
Driver: str = ""
177+
"""IPAM 配置"""
100178
Config: List[DockerNetworkItemIPAMConfig] = []
101179

102180

103181
class DockerNetworkItem(BaseModel):
182+
"""Docker 网络详细信息"""
183+
184+
"""网络名称"""
104185
Name: str = ""
186+
"""网络 ID"""
105187
Id: str = ""
188+
"""网络创建时间"""
106189
Created: str = ""
190+
"""网络作用范围(local/global)"""
107191
Scope: str = ""
192+
"""网络驱动类型"""
108193
Driver: str = ""
194+
"""是否启用 IPv6"""
109195
EnableIPv6: bool = False
196+
"""是否为内部网络"""
110197
Internal: bool = False
198+
"""是否可附加"""
111199
Attachable: bool = False
200+
"""是否为入口网络"""
112201
Ingress: bool = False
202+
"""IPAM 配置信息"""
113203
IPAM: DockerNetworkItemIPAM = DockerNetworkItemIPAM()
114-
Options: dict[str, str]
115-
Containers: Optional[dict[str, dict]] = {}
204+
"""网络选项"""
205+
Options: dict[str, str] = {}
206+
"""连接到此网络的容器信息"""
207+
Containers: Optional[dict[str, dict]] = {}

0 commit comments

Comments
 (0)