@leaflow/sdk 0.0.0-dev.16.gac94fbe → 0.0.0-dev.162.g0bbcd1c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/dist/account/v1/client.d.ts +4 -0
- package/dist/account/v1/client.js +7 -0
- package/dist/account/v1/index.d.ts +34 -21
- package/dist/account/v1/index.js +4 -4
- package/dist/account/v1/schema.d.ts +368 -81
- package/dist/assistant/v1/client.d.ts +4 -0
- package/dist/assistant/v1/client.js +7 -0
- package/dist/assistant/v1/index.d.ts +69 -40
- package/dist/assistant/v1/index.js +4 -4
- package/dist/assistant/v1/schema.d.ts +1089 -133
- package/dist/billing/v1/client.d.ts +6 -0
- package/dist/billing/v1/client.js +6 -0
- package/dist/billing/v1/index.d.ts +193 -0
- package/dist/billing/v1/index.js +5 -0
- package/dist/billing/v1/schema.d.ts +4713 -0
- package/dist/billing/v1/schema.js +5 -0
- package/dist/canopy/v1/client.d.ts +4 -0
- package/dist/canopy/v1/client.js +7 -0
- package/dist/canopy/v1/index.d.ts +24 -23
- package/dist/canopy/v1/index.js +4 -4
- package/dist/canopy/v1/schema.d.ts +113 -109
- package/dist/compute/v1/client.d.ts +4 -0
- package/dist/compute/v1/client.js +7 -0
- package/dist/compute/v1/index.d.ts +80 -185
- package/dist/compute/v1/index.js +4 -4
- package/dist/compute/v1/schema.d.ts +808 -2844
- package/dist/dns/v1/client.d.ts +4 -0
- package/dist/dns/v1/client.js +7 -0
- package/dist/dns/v1/index.d.ts +43 -0
- package/dist/dns/v1/index.js +5 -0
- package/dist/dns/v1/schema.d.ts +887 -0
- package/dist/dns/v1/schema.js +5 -0
- package/dist/fabric/v1/client.d.ts +4 -0
- package/dist/fabric/v1/client.js +7 -0
- package/dist/fabric/v1/index.d.ts +115 -0
- package/dist/fabric/v1/index.js +5 -0
- package/dist/fabric/v1/schema.d.ts +2311 -0
- package/dist/fabric/v1/schema.js +5 -0
- package/dist/fleet/v1/client.d.ts +4 -0
- package/dist/fleet/v1/client.js +7 -0
- package/dist/fleet/v1/index.d.ts +15 -0
- package/dist/fleet/v1/index.js +5 -0
- package/dist/fleet/v1/schema.d.ts +291 -0
- package/dist/fleet/v1/schema.js +5 -0
- package/dist/iam/v1/client.d.ts +4 -0
- package/dist/iam/v1/client.js +7 -0
- package/dist/iam/v1/index.d.ts +55 -32
- package/dist/iam/v1/index.js +4 -4
- package/dist/iam/v1/schema.d.ts +515 -88
- package/dist/index.d.ts +14 -7
- package/dist/index.js +22 -5
- package/dist/monitoring/v1/client.d.ts +4 -0
- package/dist/monitoring/v1/client.js +7 -0
- package/dist/monitoring/v1/index.d.ts +130 -49
- package/dist/monitoring/v1/index.js +4 -4
- package/dist/monitoring/v1/schema.d.ts +2420 -527
- package/dist/notification/v1/client.d.ts +4 -0
- package/dist/notification/v1/client.js +7 -0
- package/dist/notification/v1/index.d.ts +77 -0
- package/dist/notification/v1/index.js +5 -0
- package/dist/notification/v1/schema.d.ts +2048 -0
- package/dist/notification/v1/schema.js +5 -0
- package/dist/storage/v1/client.d.ts +4 -0
- package/dist/storage/v1/client.js +7 -0
- package/dist/storage/v1/index.d.ts +35 -0
- package/dist/storage/v1/index.js +5 -0
- package/dist/storage/v1/schema.d.ts +749 -0
- package/dist/storage/v1/schema.js +5 -0
- package/dist/support/v1/client.d.ts +4 -0
- package/dist/support/v1/client.js +7 -0
- package/dist/support/v1/index.d.ts +51 -0
- package/dist/support/v1/index.js +5 -0
- package/dist/support/v1/schema.d.ts +1082 -0
- package/dist/support/v1/schema.js +5 -0
- package/dist/tunnel/v1/client.d.ts +4 -0
- package/dist/tunnel/v1/client.js +7 -0
- package/dist/tunnel/v1/index.d.ts +15 -36
- package/dist/tunnel/v1/index.js +4 -4
- package/dist/tunnel/v1/schema.d.ts +70 -510
- package/package.json +34 -10
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Do not make direct changes to the file.
|
|
4
4
|
*/
|
|
5
5
|
export interface paths {
|
|
6
|
-
"/api/v1/
|
|
6
|
+
"/api/v1/tunnel/l4": {
|
|
7
7
|
parameters: {
|
|
8
8
|
query?: never;
|
|
9
9
|
header?: never;
|
|
@@ -11,45 +11,29 @@ export interface paths {
|
|
|
11
11
|
cookie?: never;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @description
|
|
14
|
+
* Get the layer 4 tunnel of the current project
|
|
15
|
+
* @description `TUNNEL_NOT_FOUND` means no tunnel has been generated yet.
|
|
16
16
|
*
|
|
17
|
-
* `
|
|
17
|
+
* 403 `TUNNEL_NOT_ENTITLED` states something else: the project has not been entitled to layer 4 at all.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
19
|
+
* The subscription address, the usage and the quota each have their own endpoint and are not repeated here.
|
|
20
20
|
*/
|
|
21
|
-
get: operations["
|
|
21
|
+
get: operations["get-l4-tunnel"];
|
|
22
22
|
put?: never;
|
|
23
|
-
post?: never;
|
|
24
|
-
delete?: never;
|
|
25
|
-
options?: never;
|
|
26
|
-
head?: never;
|
|
27
|
-
patch?: never;
|
|
28
|
-
trace?: never;
|
|
29
|
-
};
|
|
30
|
-
"/api/v1/plans": {
|
|
31
|
-
parameters: {
|
|
32
|
-
query?: never;
|
|
33
|
-
header?: never;
|
|
34
|
-
path?: never;
|
|
35
|
-
cookie?: never;
|
|
36
|
-
};
|
|
37
23
|
/**
|
|
38
|
-
*
|
|
39
|
-
* @description
|
|
24
|
+
* Generate the layer 4 tunnel
|
|
25
|
+
* @description **Idempotent**: calling it again returns the existing tunnel rather than an error.
|
|
40
26
|
*
|
|
41
|
-
*
|
|
27
|
+
* Read the address from the subscription endpoint afterwards; it is not returned here.
|
|
42
28
|
*/
|
|
43
|
-
|
|
44
|
-
put?: never;
|
|
45
|
-
post?: never;
|
|
29
|
+
post: operations["generate-l4-tunnel"];
|
|
46
30
|
delete?: never;
|
|
47
31
|
options?: never;
|
|
48
32
|
head?: never;
|
|
49
33
|
patch?: never;
|
|
50
34
|
trace?: never;
|
|
51
35
|
};
|
|
52
|
-
"/api/v1/tunnel": {
|
|
36
|
+
"/api/v1/tunnel/l4/subscription": {
|
|
53
37
|
parameters: {
|
|
54
38
|
query?: never;
|
|
55
39
|
header?: never;
|
|
@@ -57,81 +41,15 @@ export interface paths {
|
|
|
57
41
|
cookie?: never;
|
|
58
42
|
};
|
|
59
43
|
/**
|
|
60
|
-
*
|
|
61
|
-
* @description
|
|
62
|
-
*
|
|
63
|
-
* 响应里的 `usage` 是**缓存**的用量,`usage.synced_at` 说明它是什么时候采集的;为 null 表示尚未采集过,而不是用量为零。需要当前值请调用量接口。
|
|
64
|
-
*
|
|
65
|
-
* **订阅地址不在这里**,它是一条长期有效的凭据,只由订阅接口单独返回。
|
|
66
|
-
*/
|
|
67
|
-
get: operations["get-tunnel"];
|
|
68
|
-
put?: never;
|
|
69
|
-
/**
|
|
70
|
-
* 开通隧道
|
|
71
|
-
* @description 为当前项目开通一条隧道,返回时订阅通常处于 `preparing`——节点仍在下发,但**订阅地址此时已经可用**,内容会在拉取那一刻按当时的状态重新派生。
|
|
72
|
-
*
|
|
73
|
-
* 一个项目只能有一条。已经有了返回 `TUNNEL_ALREADY_OPEN`;上一条还在退订中返回 `TUNNEL_CLOSING`,稍后重试即可。
|
|
74
|
-
*
|
|
75
|
-
* 套餐必须处于在售状态,已下架的返回 `TUNNEL_PLAN_RETIRED`。若返回 `TUNNEL_PLAN_GROUPS_MISSING`,说明该套餐在上游对应的线路分组不存在——这是一个配置问题,请联系运营,换一款套餐或稍后重试都不会有帮助。
|
|
76
|
-
*/
|
|
77
|
-
post: operations["open-tunnel"];
|
|
78
|
-
/**
|
|
79
|
-
* 退订隧道
|
|
80
|
-
* @description **不可逆。** 上游账户会被删除,订阅地址立刻失效,重新开通得到的是一条全新的隧道和一条全新的订阅地址。
|
|
44
|
+
* Get the subscription address
|
|
45
|
+
* @description **This URL is a credential, equivalent to a password.** It yields every node of the project along with their passwords. It is returned here alone, and appears neither in the tunnel itself nor in any list.
|
|
81
46
|
*
|
|
82
|
-
*
|
|
47
|
+
* Do not call this endpoint before the user asks for the address.
|
|
83
48
|
*
|
|
84
|
-
*
|
|
49
|
+
* A `status` of `preparing` leaves the link usable; its contents are derived at the moment it is fetched.
|
|
85
50
|
*/
|
|
86
|
-
|
|
87
|
-
options?: never;
|
|
88
|
-
head?: never;
|
|
89
|
-
/**
|
|
90
|
-
* 修改隧道的显示信息
|
|
91
|
-
* @description 改显示名和联系邮箱,**不影响订阅、用量或线路**。
|
|
92
|
-
*
|
|
93
|
-
* `email` 不传表示不改动,传空字符串表示清空。它会被转发给上游面板——上游拿它做什么由面板决定,平台不使用它。
|
|
94
|
-
*/
|
|
95
|
-
patch: operations["update-tunnel-profile"];
|
|
96
|
-
trace?: never;
|
|
97
|
-
};
|
|
98
|
-
"/api/v1/tunnel/actions": {
|
|
99
|
-
parameters: {
|
|
100
|
-
query?: never;
|
|
101
|
-
header?: never;
|
|
102
|
-
path?: never;
|
|
103
|
-
cookie?: never;
|
|
104
|
-
};
|
|
105
|
-
get?: never;
|
|
51
|
+
get: operations["get-l4-tunnel-subscription"];
|
|
106
52
|
put?: never;
|
|
107
|
-
/**
|
|
108
|
-
* 启用或停用隧道
|
|
109
|
-
* @description **停用不是退订。** 停用会把这条隧道的实例从上游调度器撤下,但端口保留,重新启用后原样回来,订阅地址也不变。适合「这段时间不用」。
|
|
110
|
-
*
|
|
111
|
-
* 被平台停用的隧道(`suspended` 为 true)无法自行启用,会返回 `TUNNEL_SUSPENDED`——那通常是欠费或违规,需要先处理对应的问题。
|
|
112
|
-
*/
|
|
113
|
-
post: operations["act-on-tunnel"];
|
|
114
|
-
delete?: never;
|
|
115
|
-
options?: never;
|
|
116
|
-
head?: never;
|
|
117
|
-
patch?: never;
|
|
118
|
-
trace?: never;
|
|
119
|
-
};
|
|
120
|
-
"/api/v1/tunnel/plan": {
|
|
121
|
-
parameters: {
|
|
122
|
-
query?: never;
|
|
123
|
-
header?: never;
|
|
124
|
-
path?: never;
|
|
125
|
-
cookie?: never;
|
|
126
|
-
};
|
|
127
|
-
get?: never;
|
|
128
|
-
/**
|
|
129
|
-
* 更换套餐
|
|
130
|
-
* @description 换套餐会立刻重判线路资格:多出来的线路马上可用,**少掉的那些进入删除队列——宽限期内照常可用,到期才真正释放**。所以换套餐不是一次瞬时切换,订阅内容会在接下来一段时间内变化。
|
|
131
|
-
*
|
|
132
|
-
* 换完之后建议重新拉取一次订阅。
|
|
133
|
-
*/
|
|
134
|
-
put: operations["change-tunnel-plan"];
|
|
135
53
|
post?: never;
|
|
136
54
|
delete?: never;
|
|
137
55
|
options?: never;
|
|
@@ -139,33 +57,7 @@ export interface paths {
|
|
|
139
57
|
patch?: never;
|
|
140
58
|
trace?: never;
|
|
141
59
|
};
|
|
142
|
-
"/api/v1/tunnel/subscription": {
|
|
143
|
-
parameters: {
|
|
144
|
-
query?: never;
|
|
145
|
-
header?: never;
|
|
146
|
-
path?: never;
|
|
147
|
-
cookie?: never;
|
|
148
|
-
};
|
|
149
|
-
/**
|
|
150
|
-
* 获取订阅地址
|
|
151
|
-
* @description **返回的是一条长期有效的凭据,等同于密码。** 拿到它就能取得本项目全部节点与密码,请勿转发、截图或提交到工单。
|
|
152
|
-
*
|
|
153
|
-
* 它不会出现在隧道详情或任何列表里,只由这个接口返回。
|
|
154
|
-
*
|
|
155
|
-
* `status` 为 `preparing` 时链接**照样可用**,内容会在拉取那一刻按当时的状态重新派生。
|
|
156
|
-
*
|
|
157
|
-
* 怀疑泄露时请调用重置接口。
|
|
158
|
-
*/
|
|
159
|
-
get: operations["get-tunnel-subscription"];
|
|
160
|
-
put?: never;
|
|
161
|
-
post?: never;
|
|
162
|
-
delete?: never;
|
|
163
|
-
options?: never;
|
|
164
|
-
head?: never;
|
|
165
|
-
patch?: never;
|
|
166
|
-
trace?: never;
|
|
167
|
-
};
|
|
168
|
-
"/api/v1/tunnel/subscription/rotate": {
|
|
60
|
+
"/api/v1/tunnel/l4/subscription/rotate": {
|
|
169
61
|
parameters: {
|
|
170
62
|
query?: never;
|
|
171
63
|
header?: never;
|
|
@@ -175,21 +67,23 @@ export interface paths {
|
|
|
175
67
|
get?: never;
|
|
176
68
|
put?: never;
|
|
177
69
|
/**
|
|
178
|
-
*
|
|
179
|
-
* @description
|
|
70
|
+
* Rotate the subscription address and the node passwords
|
|
71
|
+
* @description **This is the remedy for an exposed credential, and every subscription already distributed stops working at once.**
|
|
72
|
+
*
|
|
73
|
+
* The subscription token and the node passwords are replaced together, so every client has to fetch the subscription again before it can carry on. Confirm that this is the intended outcome before calling.
|
|
180
74
|
*
|
|
181
|
-
*
|
|
75
|
+
* A tunnel disabled by the platform cannot be rotated (`TUNNEL_DISABLED_FOR_ROTATE`); resolve the cause first.
|
|
182
76
|
*
|
|
183
|
-
*
|
|
77
|
+
* Read the new address from the subscription endpoint afterwards; **it is not returned here**.
|
|
184
78
|
*/
|
|
185
|
-
post: operations["rotate-tunnel-subscription"];
|
|
79
|
+
post: operations["rotate-l4-tunnel-subscription"];
|
|
186
80
|
delete?: never;
|
|
187
81
|
options?: never;
|
|
188
82
|
head?: never;
|
|
189
83
|
patch?: never;
|
|
190
84
|
trace?: never;
|
|
191
85
|
};
|
|
192
|
-
"/api/v1/tunnel/usage": {
|
|
86
|
+
"/api/v1/tunnel/l4/usage": {
|
|
193
87
|
parameters: {
|
|
194
88
|
query?: never;
|
|
195
89
|
header?: never;
|
|
@@ -197,14 +91,12 @@ export interface paths {
|
|
|
197
91
|
cookie?: never;
|
|
198
92
|
};
|
|
199
93
|
/**
|
|
200
|
-
*
|
|
201
|
-
* @description
|
|
94
|
+
* Get the usage of the current period
|
|
95
|
+
* @description Read live.
|
|
202
96
|
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* 用量由上游定期采集,**最多滞后一个采集周期**,适合用量管控,不适合作为计费结算依据。
|
|
97
|
+
* Only `billed_bytes` decides whether the quota is exceeded: a route may carry a multiplier such as 1.5× or 0×, so `raw_bytes`, the volume actually transferred, need not equal it. A `quota_bytes` of 0 means unlimited.
|
|
206
98
|
*/
|
|
207
|
-
get: operations["get-tunnel-usage"];
|
|
99
|
+
get: operations["get-l4-tunnel-usage"];
|
|
208
100
|
put?: never;
|
|
209
101
|
post?: never;
|
|
210
102
|
delete?: never;
|
|
@@ -213,7 +105,7 @@ export interface paths {
|
|
|
213
105
|
patch?: never;
|
|
214
106
|
trace?: never;
|
|
215
107
|
};
|
|
216
|
-
"/api/v1/tunnel/usage/series": {
|
|
108
|
+
"/api/v1/tunnel/l4/usage/series": {
|
|
217
109
|
parameters: {
|
|
218
110
|
query?: never;
|
|
219
111
|
header?: never;
|
|
@@ -221,14 +113,12 @@ export interface paths {
|
|
|
221
113
|
cookie?: never;
|
|
222
114
|
};
|
|
223
115
|
/**
|
|
224
|
-
*
|
|
225
|
-
* @description
|
|
226
|
-
*
|
|
227
|
-
* **没有流量的日子不会出现在结果里**(不补零),画图前需要自行补齐日期轴,否则空档会被连成一条斜线。
|
|
116
|
+
* Get daily usage
|
|
117
|
+
* @description Cut by calendar day. A day carrying no traffic is absent rather than zero, so a chart has to fill the date axis itself.
|
|
228
118
|
*
|
|
229
|
-
*
|
|
119
|
+
* These days do not sum to the usage of the current period, which is cut by billing period. Resetting the usage of the current period leaves every daily total in place.
|
|
230
120
|
*/
|
|
231
|
-
get: operations["list-tunnel-usage-series"];
|
|
121
|
+
get: operations["list-l4-tunnel-usage-series"];
|
|
232
122
|
put?: never;
|
|
233
123
|
post?: never;
|
|
234
124
|
delete?: never;
|
|
@@ -244,217 +134,84 @@ export interface components {
|
|
|
244
134
|
Error: {
|
|
245
135
|
code?: string;
|
|
246
136
|
message: string;
|
|
137
|
+
/**
|
|
138
|
+
* @description What a given `code` carries alongside the message. The keys depend on the code,
|
|
139
|
+
* and a client that does not recognise one ignores it.
|
|
140
|
+
*/
|
|
247
141
|
meta?: {
|
|
248
142
|
[key: string]: unknown;
|
|
249
143
|
};
|
|
250
144
|
/** Format: int64 */
|
|
251
145
|
status: number;
|
|
252
146
|
};
|
|
253
|
-
|
|
254
|
-
action: string;
|
|
255
|
-
/** @description 操作者的用户 id;null 表示由平台执行 */
|
|
256
|
-
actor: string | null;
|
|
257
|
-
/** Format: date-time */
|
|
258
|
-
created_at: string;
|
|
259
|
-
failure: string;
|
|
260
|
-
/** Format: uuid */
|
|
261
|
-
id: string;
|
|
262
|
-
payload: {
|
|
263
|
-
[key: string]: unknown;
|
|
264
|
-
};
|
|
265
|
-
subject_id: string;
|
|
266
|
-
subject_type: string;
|
|
267
|
-
succeeded: boolean;
|
|
268
|
-
};
|
|
269
|
-
LengthAwarePageOperationLogResource: {
|
|
270
|
-
/** @description 这一页的内容 */
|
|
271
|
-
items: components["schemas"]["OperationLogResource"][];
|
|
272
|
-
/**
|
|
273
|
-
* Format: int64
|
|
274
|
-
* @description 这一页最多几条,回显请求里的值
|
|
275
|
-
*/
|
|
276
|
-
limit: number;
|
|
277
|
-
/**
|
|
278
|
-
* Format: int64
|
|
279
|
-
* @description 跳过了多少条,回显请求里的值
|
|
280
|
-
*/
|
|
281
|
-
offset: number;
|
|
282
|
-
/**
|
|
283
|
-
* Format: int64
|
|
284
|
-
* @description 命中的总条数,不只是这一页
|
|
285
|
-
*/
|
|
286
|
-
total: number;
|
|
287
|
-
};
|
|
288
|
-
TunnelPlanResource: {
|
|
289
|
-
description: string;
|
|
290
|
-
/** Format: uuid */
|
|
291
|
-
id: string;
|
|
292
|
-
name: string;
|
|
293
|
-
/**
|
|
294
|
-
* Format: int64
|
|
295
|
-
* @description 套餐标称的流量额度,仅供比较。实际额度以隧道用量接口返回的 quota_bytes 为准
|
|
296
|
-
*/
|
|
297
|
-
quota_bytes: number;
|
|
298
|
-
/**
|
|
299
|
-
* Format: int64
|
|
300
|
-
* @description 货架上的排列顺序,越小越靠前
|
|
301
|
-
*/
|
|
302
|
-
sort: number;
|
|
303
|
-
};
|
|
304
|
-
TunnelPlanListResponseBody: {
|
|
305
|
-
items: components["schemas"]["TunnelPlanResource"][];
|
|
306
|
-
};
|
|
307
|
-
TunnelUsageSnapshot: {
|
|
308
|
-
/**
|
|
309
|
-
* Format: int64
|
|
310
|
-
* @description 按线路倍率折算后的用量,配额比对以此为准
|
|
311
|
-
*/
|
|
312
|
-
billed_bytes: number;
|
|
313
|
-
/** @description billed_bytes 是否已超过 quota_bytes;配额为 0 时恒为 false */
|
|
314
|
-
over_quota: boolean;
|
|
315
|
-
/**
|
|
316
|
-
* Format: int64
|
|
317
|
-
* @description 上游给出的真实配额,0 表示不限量
|
|
318
|
-
*/
|
|
319
|
-
quota_bytes: number;
|
|
320
|
-
/**
|
|
321
|
-
* Format: int64
|
|
322
|
-
* @description 实际传输的字节,不用于配额比对
|
|
323
|
-
*/
|
|
324
|
-
raw_bytes: number;
|
|
147
|
+
SubscriptionResource: {
|
|
325
148
|
/**
|
|
326
|
-
*
|
|
327
|
-
* @
|
|
149
|
+
* @description ready means every node has been distributed; preparing means distribution is still under way, and the link works either way
|
|
150
|
+
* @enum {string}
|
|
328
151
|
*/
|
|
329
|
-
|
|
152
|
+
status: "preparing" | "ready";
|
|
153
|
+
/** Format: date-time */
|
|
154
|
+
updated_at: string;
|
|
155
|
+
/** @description The subscription address. It is a long-lived credential equivalent to a password; do not forward it or share a screenshot of it */
|
|
156
|
+
url: string;
|
|
330
157
|
/** Format: int64 */
|
|
331
|
-
|
|
158
|
+
version: number;
|
|
332
159
|
};
|
|
160
|
+
/** @description The layer 4 tunnel of the current project. It answers a single question — whether the tunnel has been generated */
|
|
333
161
|
TunnelResource: {
|
|
334
162
|
/** Format: date-time */
|
|
335
163
|
created_at: string;
|
|
336
|
-
|
|
337
|
-
/** @description 转发给上游面板的联系邮箱;平台不使用它 */
|
|
338
|
-
email: string | null;
|
|
339
|
-
/** @description 用户自己的开关。停用会把实例从调度器撤下,但端口保留,启用后原样回来 */
|
|
164
|
+
/** @description Whether the tunnel is currently usable. false means the platform has disabled it — for an unpaid balance, a violation, or a suspended project — and the cause has to be resolved first */
|
|
340
165
|
enabled: boolean;
|
|
341
|
-
/** @description 最近一次上游拒绝的说明,仅在存在时非空 */
|
|
342
|
-
failure: string | null;
|
|
343
166
|
/** Format: uuid */
|
|
344
167
|
id: string;
|
|
345
|
-
/** Format: uuid */
|
|
346
|
-
plan_id: string;
|
|
347
|
-
plan_name: string;
|
|
348
|
-
/**
|
|
349
|
-
* @description deleting 表示已退订但上游尚未删除完成
|
|
350
|
-
* @enum {string}
|
|
351
|
-
*/
|
|
352
|
-
status: "active" | "deleting";
|
|
353
|
-
/**
|
|
354
|
-
* @description preparing 表示节点仍在下发;订阅链接此时照样可用
|
|
355
|
-
* @enum {string}
|
|
356
|
-
*/
|
|
357
|
-
subscription_status: "preparing" | "ready";
|
|
358
|
-
/**
|
|
359
|
-
* Format: int64
|
|
360
|
-
* @description 每次重置订阅后递增
|
|
361
|
-
*/
|
|
362
|
-
subscription_version: number;
|
|
363
|
-
/** @description 被平台停用(欠费、违规或项目停服)。为 true 时无法自行启用 */
|
|
364
|
-
suspended: boolean;
|
|
365
|
-
/**
|
|
366
|
-
* Format: date-time
|
|
367
|
-
* @description 被平台停用的时刻
|
|
368
|
-
*/
|
|
369
|
-
suspended_at: string | null;
|
|
370
|
-
usage: components["schemas"]["TunnelUsageSnapshot"];
|
|
371
168
|
};
|
|
372
|
-
|
|
373
|
-
/** @description 这条隧道的名字,只影响显示 */
|
|
374
|
-
display_name: string;
|
|
375
|
-
/**
|
|
376
|
-
* Format: email
|
|
377
|
-
* @description 转发给上游面板的联系邮箱,可留空
|
|
378
|
-
*/
|
|
379
|
-
email?: string;
|
|
380
|
-
/**
|
|
381
|
-
* Format: uuid
|
|
382
|
-
* @description 套餐 id,取自 GET /plans
|
|
383
|
-
*/
|
|
384
|
-
plan_id: string;
|
|
385
|
-
};
|
|
386
|
-
UpdateTunnelProfileRequestBody: {
|
|
387
|
-
display_name: string;
|
|
388
|
-
/** @description 联系邮箱。不传表示不改动,传空字符串表示清空 */
|
|
389
|
-
email?: string | null;
|
|
390
|
-
};
|
|
391
|
-
ActOnTunnelRequestBody: {
|
|
392
|
-
/** @enum {string} */
|
|
393
|
-
action: "enable" | "disable";
|
|
394
|
-
};
|
|
395
|
-
ChangeTunnelPlanRequestBody: {
|
|
396
|
-
/** Format: uuid */
|
|
397
|
-
plan_id: string;
|
|
398
|
-
};
|
|
399
|
-
SubscriptionResource: {
|
|
400
|
-
/**
|
|
401
|
-
* @description ready 表示节点已全部下发;preparing 表示仍在下发——此时链接照样可用
|
|
402
|
-
* @enum {string}
|
|
403
|
-
*/
|
|
404
|
-
status: "preparing" | "ready";
|
|
405
|
-
/** Format: date-time */
|
|
406
|
-
updated_at: string;
|
|
407
|
-
/** @description 订阅地址。这是一条长期有效的凭据,等同于密码,请勿转发或截图分享 */
|
|
408
|
-
url: string;
|
|
169
|
+
UsageDayResource: {
|
|
409
170
|
/** Format: int64 */
|
|
410
|
-
|
|
171
|
+
billed_bytes: number;
|
|
172
|
+
/** @description YYYY-MM-DD */
|
|
173
|
+
day: string;
|
|
174
|
+
/** Format: int64 */
|
|
175
|
+
raw_bytes: number;
|
|
411
176
|
};
|
|
412
177
|
UsageResource: {
|
|
413
178
|
/**
|
|
414
179
|
* Format: int64
|
|
415
|
-
* @description
|
|
180
|
+
* @description Usage after the multiplier of each route has been applied. Quota is measured against this value
|
|
416
181
|
*/
|
|
417
182
|
billed_bytes: number;
|
|
418
183
|
over_quota: boolean;
|
|
419
|
-
/** @description
|
|
184
|
+
/** @description Last day of the current billing period (YYYY-MM-DD) */
|
|
420
185
|
period_end: string;
|
|
421
|
-
/** @description
|
|
186
|
+
/** @description First day of the current billing period (YYYY-MM-DD) */
|
|
422
187
|
period_start: string;
|
|
423
188
|
/**
|
|
424
189
|
* Format: int64
|
|
425
|
-
* @description
|
|
190
|
+
* @description The quota in force; 0 means unlimited
|
|
426
191
|
*/
|
|
427
192
|
quota_bytes: number;
|
|
428
193
|
/**
|
|
429
194
|
* Format: date-time
|
|
430
|
-
* @description
|
|
195
|
+
* @description When the quota was found to be exceeded; null while it has not been
|
|
431
196
|
*/
|
|
432
197
|
quota_exceeded_at: string | null;
|
|
433
198
|
/**
|
|
434
199
|
* Format: int64
|
|
435
|
-
* @description
|
|
200
|
+
* @description Bytes actually transferred. Quota is not measured against this value
|
|
436
201
|
*/
|
|
437
202
|
raw_bytes: number;
|
|
438
203
|
/** Format: int64 */
|
|
439
204
|
upload_bytes: number;
|
|
440
205
|
/**
|
|
441
206
|
* Format: double
|
|
442
|
-
* @description
|
|
207
|
+
* @description Usage as a percentage of the quota
|
|
443
208
|
*/
|
|
444
209
|
usage_percent: number;
|
|
445
210
|
};
|
|
446
|
-
UsageDayResource: {
|
|
447
|
-
/** Format: int64 */
|
|
448
|
-
billed_bytes: number;
|
|
449
|
-
/** @description YYYY-MM-DD */
|
|
450
|
-
day: string;
|
|
451
|
-
/** Format: int64 */
|
|
452
|
-
raw_bytes: number;
|
|
453
|
-
};
|
|
454
211
|
UsageSeriesResource: {
|
|
455
212
|
/**
|
|
456
213
|
* Format: int64
|
|
457
|
-
* @description
|
|
214
|
+
* @description The number of days actually covered, which may have been clamped to the range 1–365
|
|
458
215
|
*/
|
|
459
216
|
days: number;
|
|
460
217
|
points: components["schemas"]["UsageDayResource"][];
|
|
@@ -468,72 +225,7 @@ export interface components {
|
|
|
468
225
|
}
|
|
469
226
|
export type $defs = Record<string, never>;
|
|
470
227
|
export interface operations {
|
|
471
|
-
"
|
|
472
|
-
parameters: {
|
|
473
|
-
query?: {
|
|
474
|
-
/** @description 这一页最多返回多少条 */
|
|
475
|
-
limit?: number;
|
|
476
|
-
/** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
|
|
477
|
-
offset?: number;
|
|
478
|
-
/** @description 只看某一种操作,取值是接口的 operation id,比如 open-tunnel */
|
|
479
|
-
action?: string;
|
|
480
|
-
};
|
|
481
|
-
header?: never;
|
|
482
|
-
path?: never;
|
|
483
|
-
cookie?: never;
|
|
484
|
-
};
|
|
485
|
-
requestBody?: never;
|
|
486
|
-
responses: {
|
|
487
|
-
/** @description OK */
|
|
488
|
-
200: {
|
|
489
|
-
headers: {
|
|
490
|
-
[name: string]: unknown;
|
|
491
|
-
};
|
|
492
|
-
content: {
|
|
493
|
-
"application/json": components["schemas"]["LengthAwarePageOperationLogResource"];
|
|
494
|
-
};
|
|
495
|
-
};
|
|
496
|
-
/** @description Error */
|
|
497
|
-
default: {
|
|
498
|
-
headers: {
|
|
499
|
-
[name: string]: unknown;
|
|
500
|
-
};
|
|
501
|
-
content: {
|
|
502
|
-
"application/json": components["schemas"]["Error"];
|
|
503
|
-
};
|
|
504
|
-
};
|
|
505
|
-
};
|
|
506
|
-
};
|
|
507
|
-
"list-tunnel-plans": {
|
|
508
|
-
parameters: {
|
|
509
|
-
query?: never;
|
|
510
|
-
header?: never;
|
|
511
|
-
path?: never;
|
|
512
|
-
cookie?: never;
|
|
513
|
-
};
|
|
514
|
-
requestBody?: never;
|
|
515
|
-
responses: {
|
|
516
|
-
/** @description OK */
|
|
517
|
-
200: {
|
|
518
|
-
headers: {
|
|
519
|
-
[name: string]: unknown;
|
|
520
|
-
};
|
|
521
|
-
content: {
|
|
522
|
-
"application/json": components["schemas"]["TunnelPlanListResponseBody"];
|
|
523
|
-
};
|
|
524
|
-
};
|
|
525
|
-
/** @description Error */
|
|
526
|
-
default: {
|
|
527
|
-
headers: {
|
|
528
|
-
[name: string]: unknown;
|
|
529
|
-
};
|
|
530
|
-
content: {
|
|
531
|
-
"application/json": components["schemas"]["Error"];
|
|
532
|
-
};
|
|
533
|
-
};
|
|
534
|
-
};
|
|
535
|
-
};
|
|
536
|
-
"get-tunnel": {
|
|
228
|
+
"get-l4-tunnel": {
|
|
537
229
|
parameters: {
|
|
538
230
|
query?: never;
|
|
539
231
|
header?: never;
|
|
@@ -562,40 +254,7 @@ export interface operations {
|
|
|
562
254
|
};
|
|
563
255
|
};
|
|
564
256
|
};
|
|
565
|
-
"
|
|
566
|
-
parameters: {
|
|
567
|
-
query?: never;
|
|
568
|
-
header?: never;
|
|
569
|
-
path?: never;
|
|
570
|
-
cookie?: never;
|
|
571
|
-
};
|
|
572
|
-
requestBody: {
|
|
573
|
-
content: {
|
|
574
|
-
"application/json": components["schemas"]["OpenTunnelRequestBody"];
|
|
575
|
-
};
|
|
576
|
-
};
|
|
577
|
-
responses: {
|
|
578
|
-
/** @description Created */
|
|
579
|
-
201: {
|
|
580
|
-
headers: {
|
|
581
|
-
[name: string]: unknown;
|
|
582
|
-
};
|
|
583
|
-
content: {
|
|
584
|
-
"application/json": components["schemas"]["TunnelResource"];
|
|
585
|
-
};
|
|
586
|
-
};
|
|
587
|
-
/** @description Error */
|
|
588
|
-
default: {
|
|
589
|
-
headers: {
|
|
590
|
-
[name: string]: unknown;
|
|
591
|
-
};
|
|
592
|
-
content: {
|
|
593
|
-
"application/json": components["schemas"]["Error"];
|
|
594
|
-
};
|
|
595
|
-
};
|
|
596
|
-
};
|
|
597
|
-
};
|
|
598
|
-
"close-tunnel": {
|
|
257
|
+
"generate-l4-tunnel": {
|
|
599
258
|
parameters: {
|
|
600
259
|
query?: never;
|
|
601
260
|
header?: never;
|
|
@@ -624,106 +283,7 @@ export interface operations {
|
|
|
624
283
|
};
|
|
625
284
|
};
|
|
626
285
|
};
|
|
627
|
-
"
|
|
628
|
-
parameters: {
|
|
629
|
-
query?: never;
|
|
630
|
-
header?: never;
|
|
631
|
-
path?: never;
|
|
632
|
-
cookie?: never;
|
|
633
|
-
};
|
|
634
|
-
requestBody: {
|
|
635
|
-
content: {
|
|
636
|
-
"application/json": components["schemas"]["UpdateTunnelProfileRequestBody"];
|
|
637
|
-
};
|
|
638
|
-
};
|
|
639
|
-
responses: {
|
|
640
|
-
/** @description OK */
|
|
641
|
-
200: {
|
|
642
|
-
headers: {
|
|
643
|
-
[name: string]: unknown;
|
|
644
|
-
};
|
|
645
|
-
content: {
|
|
646
|
-
"application/json": components["schemas"]["TunnelResource"];
|
|
647
|
-
};
|
|
648
|
-
};
|
|
649
|
-
/** @description Error */
|
|
650
|
-
default: {
|
|
651
|
-
headers: {
|
|
652
|
-
[name: string]: unknown;
|
|
653
|
-
};
|
|
654
|
-
content: {
|
|
655
|
-
"application/json": components["schemas"]["Error"];
|
|
656
|
-
};
|
|
657
|
-
};
|
|
658
|
-
};
|
|
659
|
-
};
|
|
660
|
-
"act-on-tunnel": {
|
|
661
|
-
parameters: {
|
|
662
|
-
query?: never;
|
|
663
|
-
header?: never;
|
|
664
|
-
path?: never;
|
|
665
|
-
cookie?: never;
|
|
666
|
-
};
|
|
667
|
-
requestBody: {
|
|
668
|
-
content: {
|
|
669
|
-
"application/json": components["schemas"]["ActOnTunnelRequestBody"];
|
|
670
|
-
};
|
|
671
|
-
};
|
|
672
|
-
responses: {
|
|
673
|
-
/** @description OK */
|
|
674
|
-
200: {
|
|
675
|
-
headers: {
|
|
676
|
-
[name: string]: unknown;
|
|
677
|
-
};
|
|
678
|
-
content: {
|
|
679
|
-
"application/json": components["schemas"]["TunnelResource"];
|
|
680
|
-
};
|
|
681
|
-
};
|
|
682
|
-
/** @description Error */
|
|
683
|
-
default: {
|
|
684
|
-
headers: {
|
|
685
|
-
[name: string]: unknown;
|
|
686
|
-
};
|
|
687
|
-
content: {
|
|
688
|
-
"application/json": components["schemas"]["Error"];
|
|
689
|
-
};
|
|
690
|
-
};
|
|
691
|
-
};
|
|
692
|
-
};
|
|
693
|
-
"change-tunnel-plan": {
|
|
694
|
-
parameters: {
|
|
695
|
-
query?: never;
|
|
696
|
-
header?: never;
|
|
697
|
-
path?: never;
|
|
698
|
-
cookie?: never;
|
|
699
|
-
};
|
|
700
|
-
requestBody: {
|
|
701
|
-
content: {
|
|
702
|
-
"application/json": components["schemas"]["ChangeTunnelPlanRequestBody"];
|
|
703
|
-
};
|
|
704
|
-
};
|
|
705
|
-
responses: {
|
|
706
|
-
/** @description OK */
|
|
707
|
-
200: {
|
|
708
|
-
headers: {
|
|
709
|
-
[name: string]: unknown;
|
|
710
|
-
};
|
|
711
|
-
content: {
|
|
712
|
-
"application/json": components["schemas"]["TunnelResource"];
|
|
713
|
-
};
|
|
714
|
-
};
|
|
715
|
-
/** @description Error */
|
|
716
|
-
default: {
|
|
717
|
-
headers: {
|
|
718
|
-
[name: string]: unknown;
|
|
719
|
-
};
|
|
720
|
-
content: {
|
|
721
|
-
"application/json": components["schemas"]["Error"];
|
|
722
|
-
};
|
|
723
|
-
};
|
|
724
|
-
};
|
|
725
|
-
};
|
|
726
|
-
"get-tunnel-subscription": {
|
|
286
|
+
"get-l4-tunnel-subscription": {
|
|
727
287
|
parameters: {
|
|
728
288
|
query?: never;
|
|
729
289
|
header?: never;
|
|
@@ -752,7 +312,7 @@ export interface operations {
|
|
|
752
312
|
};
|
|
753
313
|
};
|
|
754
314
|
};
|
|
755
|
-
"rotate-tunnel-subscription": {
|
|
315
|
+
"rotate-l4-tunnel-subscription": {
|
|
756
316
|
parameters: {
|
|
757
317
|
query?: never;
|
|
758
318
|
header?: never;
|
|
@@ -781,7 +341,7 @@ export interface operations {
|
|
|
781
341
|
};
|
|
782
342
|
};
|
|
783
343
|
};
|
|
784
|
-
"get-tunnel-usage": {
|
|
344
|
+
"get-l4-tunnel-usage": {
|
|
785
345
|
parameters: {
|
|
786
346
|
query?: never;
|
|
787
347
|
header?: never;
|
|
@@ -810,10 +370,10 @@ export interface operations {
|
|
|
810
370
|
};
|
|
811
371
|
};
|
|
812
372
|
};
|
|
813
|
-
"list-tunnel-usage-series": {
|
|
373
|
+
"list-l4-tunnel-usage-series": {
|
|
814
374
|
parameters: {
|
|
815
375
|
query?: {
|
|
816
|
-
/** @description
|
|
376
|
+
/** @description How many days to cover. 0 requests the default of 30; the range accepted is 1–365, and a larger value is clamped to it */
|
|
817
377
|
days?: number;
|
|
818
378
|
};
|
|
819
379
|
header?: never;
|