@leaflow/sdk 0.14.2 → 0.16.0

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.
@@ -11,8 +11,8 @@ export interface paths {
11
11
  cookie?: never;
12
12
  };
13
13
  /**
14
- * 列出告警
15
- * @description `incident_status` 表示监控系统是否判定已恢复,`closed` 表示是否有人完成了处理。两者相互独立,可分别筛选。
14
+ * List incidents
15
+ * @description `incident_status` reports whether monitoring considers the problem recovered; `closed` reports whether someone has finished handling it. The two are independent and can be filtered separately.
16
16
  */
17
17
  get: operations["list-incidents"];
18
18
  put?: never;
@@ -30,7 +30,7 @@ export interface paths {
30
30
  path?: never;
31
31
  cookie?: never;
32
32
  };
33
- /** 查一条告警 */
33
+ /** Get an incident */
34
34
  get: operations["get-incident"];
35
35
  put?: never;
36
36
  post?: never;
@@ -50,8 +50,8 @@ export interface paths {
50
50
  get?: never;
51
51
  put?: never;
52
52
  /**
53
- * 确认这条告警
54
- * @description 同时会在监控系统中标记为已确认,便于其他渠道也能看到该告警已有人处理。
53
+ * Acknowledge an incident
54
+ * @description The incident is also marked as acknowledged in the monitoring system, so that other channels can see it already has an owner.
55
55
  */
56
56
  post: operations["acknowledge-incident"];
57
57
  delete?: never;
@@ -69,10 +69,10 @@ export interface paths {
69
69
  };
70
70
  get?: never;
71
71
  /**
72
- * 把这条告警交给谁,或者收回来
73
- * @description `assignee_user_id` 留空即取消指派。
72
+ * Assign an incident, or clear its assignee
73
+ * @description Leave `assignee_user_id` empty to clear the assignment.
74
74
  *
75
- * **这里不校验被指派的人在不在这个项目里**——那要问 IAM,而这个服务的准入还没接。
75
+ * **Project membership of the assignee is not verified.** Any user identifier is accepted and recorded as given.
76
76
  */
77
77
  put: operations["assign-incident"];
78
78
  post?: never;
@@ -92,8 +92,8 @@ export interface paths {
92
92
  get?: never;
93
93
  put?: never;
94
94
  /**
95
- * 了结这条告警
96
- * @description 了结的是**平台上的处理流程**,不是告警本身的状态:尚未恢复的告警也可以按「已接受的风险」了结,它在监控系统中仍为未恢复。
95
+ * Close an incident
96
+ * @description Closing records **that the handling process is finished on this platform**; it does not change the state of the incident itself. An incident that has not recovered may still be closed as an accepted risk, and remains unrecovered in the monitoring system.
97
97
  */
98
98
  post: operations["close-incident"];
99
99
  delete?: never;
@@ -111,7 +111,7 @@ export interface paths {
111
111
  };
112
112
  get?: never;
113
113
  put?: never;
114
- /** 在时间线上写一条备注 */
114
+ /** Add a note to the timeline */
115
115
  post: operations["add-incident-comment"];
116
116
  delete?: never;
117
117
  options?: never;
@@ -128,8 +128,8 @@ export interface paths {
128
128
  };
129
129
  get?: never;
130
130
  /**
131
- * 关注这条告警,或者取消关注
132
- * @description 关注的是**自己**:操作者就是被加进关注列表的那个人。
131
+ * Follow an incident, or stop following it
132
+ * @description You follow **yourself**: the caller is the user added to or removed from the follower list.
133
133
  */
134
134
  put: operations["set-incident-following"];
135
135
  post?: never;
@@ -148,7 +148,7 @@ export interface paths {
148
148
  };
149
149
  get?: never;
150
150
  put?: never;
151
- /** 重新打开一条已经了结的告警 */
151
+ /** Reopen a closed incident */
152
152
  post: operations["reopen-incident"];
153
153
  delete?: never;
154
154
  options?: never;
@@ -164,8 +164,8 @@ export interface paths {
164
164
  cookie?: never;
165
165
  };
166
166
  /**
167
- * 列出这条告警的时间线
168
- * @description 游标翻页而不是偏移量:时间线是只增的,用偏移量翻页会在新记录写入时漏行和重行。
167
+ * List the timeline of an incident
168
+ * @description Cursor paging rather than offset paging: the timeline is append-only, and offset paging would skip or repeat entries whenever a new one is written.
169
169
  */
170
170
  get: operations["list-incident-timeline"];
171
171
  put?: never;
@@ -183,7 +183,7 @@ export interface paths {
183
183
  path?: never;
184
184
  cookie?: never;
185
185
  };
186
- /** 列出维护窗口 */
186
+ /** List maintenance windows */
187
187
  get: operations["list-maintenance-windows"];
188
188
  put?: never;
189
189
  post?: never;
@@ -200,19 +200,19 @@ export interface paths {
200
200
  path?: never;
201
201
  cookie?: never;
202
202
  };
203
- /** 查一个维护窗口 */
203
+ /** Get a maintenance window */
204
204
  get: operations["get-maintenance-window"];
205
205
  /**
206
- * 开一个维护窗口,或者按同一个 id 覆盖它
207
- * @description **创建即覆盖**:延长一个正在进行的窗口就是用同一个 id 再调一次。
206
+ * Create a maintenance window, or replace it by the same id
207
+ * @description **Create or replace**: extending a window that is already running means calling this endpoint again with the same id.
208
208
  *
209
- * 窗口期内这些机器的问题不告警,也不扣 SLA 的可用率。`server_ids` 留空表示整个项目,包括窗口开着的时候新接进来的机器。
209
+ * While the window is open, problems on these machines do not alert and do not count against SLA availability. Leave `server_ids` empty to cover the entire project, including machines enrolled after the window opens.
210
210
  */
211
211
  put: operations["put-maintenance-window"];
212
212
  post?: never;
213
213
  /**
214
- * 撤掉一个维护窗口
215
- * @description 立刻恢复告警,哪怕窗口还没到期。
214
+ * Cancel a maintenance window
215
+ * @description Alerting resumes immediately, even if the window has not yet expired.
216
216
  */
217
217
  delete: operations["delete-maintenance-window"];
218
218
  options?: never;
@@ -228,8 +228,8 @@ export interface paths {
228
228
  cookie?: never;
229
229
  };
230
230
  /**
231
- * 项目总览
232
- * @description 项目下还没有任何机器时返回各项均为零的总览,而不是 404——空项目是一个正常状态。
231
+ * Project overview
232
+ * @description A project with no machines yet returns an overview with every figure at zero rather than a 404 — an empty project is a normal state.
233
233
  */
234
234
  get: operations["get-project-overview"];
235
235
  put?: never;
@@ -248,8 +248,8 @@ export interface paths {
248
248
  cookie?: never;
249
249
  };
250
250
  /**
251
- * 列出一台机器的监控项
252
- * @description 原样返回采集到的监控项,不做筛选或重命名。哪些属于重要指标,由调用方依据监控项自带的标签自行判断。
251
+ * List the monitoring items of a machine
252
+ * @description Items are returned exactly as collected, without filtering or renaming. Which of them count as important is for the caller to decide from the tags carried by each item.
253
253
  */
254
254
  get: operations["list-server-items"];
255
255
  put?: never;
@@ -268,8 +268,8 @@ export interface paths {
268
268
  cookie?: never;
269
269
  };
270
270
  /**
271
- * 取一个监控项的时间序列
272
- * @description `item_key` 是**前缀匹配**:按分区、按网卡发现出来的监控项 key 带参数(`vfs.fs.size[/var,pused]`),所以 `vfs.fs.size` 这一个请求就能画出每个挂载点一条线。
271
+ * Get the time series of a monitoring item
272
+ * @description `item_key` is matched **by prefix**. Keys discovered per partition or per interface carry parameters (`vfs.fs.size[/var,pused]`), so a single request for `vfs.fs.size` returns one series per mount point.
273
273
  */
274
274
  get: operations["get-server-metric"];
275
275
  put?: never;
@@ -287,7 +287,7 @@ export interface paths {
287
287
  path?: never;
288
288
  cookie?: never;
289
289
  };
290
- /** 一台机器的硬件与接口 */
290
+ /** Hardware and interfaces of a machine */
291
291
  get: operations["get-server-resources"];
292
292
  put?: never;
293
293
  post?: never;
@@ -304,7 +304,7 @@ export interface paths {
304
304
  path?: never;
305
305
  cookie?: never;
306
306
  };
307
- /** 一台机器此刻的状态 */
307
+ /** Current state of a machine */
308
308
  get: operations["get-server-snapshot"];
309
309
  put?: never;
310
310
  post?: never;
@@ -321,7 +321,7 @@ export interface paths {
321
321
  path?: never;
322
322
  cookie?: never;
323
323
  };
324
- /** 某个指标最高的前几台 */
324
+ /** Machines ranked highest by a given metric */
325
325
  get: operations["list-project-top-items"];
326
326
  put?: never;
327
327
  post?: never;
@@ -338,7 +338,7 @@ export interface paths {
338
338
  path?: never;
339
339
  cookie?: never;
340
340
  };
341
- /** 列出项目里的机器 */
341
+ /** List the machines in the project */
342
342
  get: operations["list-servers"];
343
343
  put?: never;
344
344
  post?: never;
@@ -355,28 +355,28 @@ export interface paths {
355
355
  path?: never;
356
356
  cookie?: never;
357
357
  };
358
- /** 查一台机器的接入情况 */
358
+ /** Get the enrollment state of a machine */
359
359
  get: operations["get-server"];
360
360
  /**
361
- * 把一台机器接入监控
362
- * @description **同一个 server id 重复调用是幂等的**:参数一致时返回已接入的那台,不会重复创建监控主机,因此接入失败可以安全重试。
361
+ * Enroll a machine into monitoring
362
+ * @description **Repeated calls with the same server id are idempotent**: given identical parameters, the already-enrolled machine is returned and no duplicate host is created, so a failed enrollment is safe to retry.
363
363
  *
364
- * 修改接入参数请改用 PATCH。本接口在参数不一致时会返回错误,不会更新已有配置。
364
+ * To change enrollment settings, use PATCH. This endpoint returns an error when the parameters differ, and does not update an existing configuration.
365
365
  *
366
- * 响应中的 `tls_psk` **只返回这一次**,请及时保存;遗失后需要轮换。
366
+ * The `tls_psk` in the response is **returned only this once**; store it immediately. If it is lost, it must be rotated.
367
367
  */
368
368
  put: operations["enable-server-monitoring"];
369
369
  post?: never;
370
370
  /**
371
- * 删掉这台机器
372
- * @description **不可逆**:监控主机、历史数据和这台机器名下的告警会一并删除。若只是想暂时停止采集,改用 /disable
371
+ * Delete a machine
372
+ * @description **Irreversible**: the monitored host, its history and every incident recorded against this machine are removed together. To stop collection temporarily, use `/disable` instead.
373
373
  */
374
374
  delete: operations["delete-server"];
375
375
  options?: never;
376
376
  head?: never;
377
377
  /**
378
- * 改一台机器的接入参数
379
- * @description 只更新请求体中出现的字段。`address` `address_kind` 必须一并提供:只改其中一个会得到互相矛盾的接入配置,该错误不会被报出,表现为 agent 连不上。
378
+ * Update the enrollment settings of a machine
379
+ * @description Only the fields present in the request body are updated. `address` and `address_kind` must be supplied together: changing one without the other produces a contradictory configuration that is not reported as an error and shows up only as an agent that cannot connect.
380
380
  */
381
381
  patch: operations["update-server"];
382
382
  trace?: never;
@@ -391,8 +391,8 @@ export interface paths {
391
391
  get?: never;
392
392
  put?: never;
393
393
  /**
394
- * 停止监控这台机器
395
- * @description 可逆操作:监控主机保留,仅停止采集,历史数据不受影响。重新接入即可恢复采集。如需连同历史数据一并删除,改用 DELETE
394
+ * Stop monitoring a machine
395
+ * @description Reversible: the monitored host is retained, only collection stops, and history is unaffected. Enrolling again resumes collection. To remove the history as well, use DELETE.
396
396
  */
397
397
  post: operations["disable-server-monitoring"];
398
398
  delete?: never;
@@ -411,8 +411,8 @@ export interface paths {
411
411
  get?: never;
412
412
  put?: never;
413
413
  /**
414
- * 换一把 agent PSK
415
- * @description 换完要同步改 agent 侧的配置,否则那台机器立刻失联。新密钥同样**只在这个响应里明文出现一次**。
414
+ * Rotate the agent PSK
415
+ * @description The agent configuration must be updated to match, otherwise the machine loses contact immediately. The new key is likewise **returned in clear text only in this response**.
416
416
  */
417
417
  post: operations["rotate-agent-psk"];
418
418
  delete?: never;
@@ -428,17 +428,17 @@ export interface paths {
428
428
  path?: never;
429
429
  cookie?: never;
430
430
  };
431
- /** 查一个网页检查 */
431
+ /** Get a web check */
432
432
  get: operations["get-web-check"];
433
433
  /**
434
- * 建一个网页检查,或者按同一个 id 覆盖它
435
- * @description **创建即覆盖**:修改一个检查即用同一个 id 再次调用本接口,无需先判断它是否已存在。
434
+ * Create a web check, or replace it by the same id
435
+ * @description **Create or replace**: to modify a check, call this endpoint again with the same id. There is no need to determine first whether it already exists.
436
436
  */
437
437
  put: operations["put-web-check"];
438
438
  post?: never;
439
439
  /**
440
- * 删掉一个网页检查
441
- * @description 同时删除监控系统中对应的检查任务和触发器,不会遗留永远无法恢复的告警。
440
+ * Delete a web check
441
+ * @description The corresponding check task and trigger are removed from the monitoring system as well, so no permanently unrecoverable alert is left behind.
442
442
  */
443
443
  delete: operations["delete-web-check"];
444
444
  options?: never;
@@ -453,7 +453,7 @@ export interface paths {
453
453
  path?: never;
454
454
  cookie?: never;
455
455
  };
456
- /** 列出网页检查 */
456
+ /** List web checks */
457
457
  get: operations["list-web-checks"];
458
458
  put?: never;
459
459
  post?: never;
@@ -471,10 +471,10 @@ export interface paths {
471
471
  cookie?: never;
472
472
  };
473
473
  /**
474
- * 查实测的达成情况
475
- * @description SLI 是测出来的数,SLO 是定下来的目标——这里返回的是前者。
474
+ * Get measured availability
475
+ * @description SLI is what was measured; SLO is what was promised — this endpoint returns the former.
476
476
  *
477
- * `server_id` 为空的那一行是项目整体。
477
+ * The row with an empty `server_id` covers the project as a whole.
478
478
  */
479
479
  get: operations["get-sli-report"];
480
480
  put?: never;
@@ -493,21 +493,21 @@ export interface paths {
493
493
  cookie?: never;
494
494
  };
495
495
  /**
496
- * 查这个项目的可用率目标
497
- * @description 没定过就是 404,而不是一份默认目标:没承诺过和承诺了 99.9% 是两回事。
496
+ * Get the availability target of this project
497
+ * @description A project that has never set one returns 404 rather than a default target: making no promise and promising 99.9% are different things.
498
498
  */
499
499
  get: operations["get-slo"];
500
500
  /**
501
- * 定下这个项目的可用率目标,或者改它
502
- * @description 一个项目一条 SLO,**创建即覆盖**。
501
+ * Set the availability target of this project, or change it
502
+ * @description One SLO per project, **create or replace**.
503
503
  *
504
- * `min_severity` 必须显式选:它决定什么算「不可用」,是这条承诺的一半内容。
504
+ * `min_severity` must be chosen explicitly: it defines what counts as unavailable, which is half of what the target means.
505
505
  */
506
506
  put: operations["put-slo"];
507
507
  post?: never;
508
508
  /**
509
- * 撤掉这个项目的可用率目标
510
- * @description 同时移除监控系统中对应的服务树,此后不再统计可用率。
509
+ * Remove the availability target of this project
510
+ * @description Availability is no longer tracked from this point on.
511
511
  */
512
512
  delete: operations["delete-slo"];
513
513
  options?: never;
@@ -515,6 +515,418 @@ export interface paths {
515
515
  patch?: never;
516
516
  trace?: never;
517
517
  };
518
+ "/api/v1/status-page": {
519
+ parameters: {
520
+ query?: never;
521
+ header?: never;
522
+ path?: never;
523
+ cookie?: never;
524
+ };
525
+ /**
526
+ * Get the status page of this project
527
+ * @description A project has at most one status page. A project that has never created one returns 404.
528
+ */
529
+ get: operations["get-status-page"];
530
+ /**
531
+ * Create the status page, or replace its configuration
532
+ * @description **Create or replace**: changing the title, switching the domain, publishing and unpublishing are all done by sending the complete configuration again.
533
+ *
534
+ * While `published` is false the public address returns 404, including any custom domain already bound. A newly created page is unpublished by default, so that a page still being configured has no address that opens.
535
+ *
536
+ * `slug` and `custom_domain` are **globally unique**; a value already taken returns 409.
537
+ */
538
+ put: operations["put-status-page"];
539
+ post?: never;
540
+ /**
541
+ * Delete the status page
542
+ * @description Its groups, components, availability history, incident notices and scheduled maintenance are removed together, and cannot be recovered. The slug and custom domain are released.
543
+ */
544
+ delete: operations["delete-status-page"];
545
+ options?: never;
546
+ head?: never;
547
+ patch?: never;
548
+ trace?: never;
549
+ };
550
+ "/api/v1/status-page/order": {
551
+ parameters: {
552
+ query?: never;
553
+ header?: never;
554
+ path?: never;
555
+ cookie?: never;
556
+ };
557
+ get?: never;
558
+ /**
559
+ * Set the order of the top level of the page
560
+ * @description Submits the **entire** top-level order in one call rather than moving a single entry to a given position.
561
+ *
562
+ * The top level interleaves groups and ungrouped components, so the order is expressed as one list covering both.
563
+ *
564
+ * Each entry carries either `group_id` or `component_id`. Entries not listed are placed after those that are.
565
+ */
566
+ put: operations["put-status-page-order"];
567
+ post?: never;
568
+ delete?: never;
569
+ options?: never;
570
+ head?: never;
571
+ patch?: never;
572
+ trace?: never;
573
+ };
574
+ "/api/v1/status-page/groups": {
575
+ parameters: {
576
+ query?: never;
577
+ header?: never;
578
+ path?: never;
579
+ cookie?: never;
580
+ };
581
+ /** List groups */
582
+ get: operations["list-status-page-groups"];
583
+ put?: never;
584
+ /**
585
+ * Create a group
586
+ * @description A group is one level of collapsing applied to components on the page. There is exactly one level; groups cannot be nested.
587
+ */
588
+ post: operations["create-status-page-group"];
589
+ delete?: never;
590
+ options?: never;
591
+ head?: never;
592
+ patch?: never;
593
+ trace?: never;
594
+ };
595
+ "/api/v1/status-page/groups/{groupId}": {
596
+ parameters: {
597
+ query?: never;
598
+ header?: never;
599
+ path: {
600
+ groupId: string;
601
+ };
602
+ cookie?: never;
603
+ };
604
+ get?: never;
605
+ /** Update a group */
606
+ put: operations["update-status-page-group"];
607
+ post?: never;
608
+ /**
609
+ * Delete a group
610
+ * @description The components in it are **not deleted**. They return to the top level as ungrouped components, keeping their availability history and the incident notices that reference them.
611
+ */
612
+ delete: operations["delete-status-page-group"];
613
+ options?: never;
614
+ head?: never;
615
+ patch?: never;
616
+ trace?: never;
617
+ };
618
+ "/api/v1/status-page/groups/{groupId}/order": {
619
+ parameters: {
620
+ query?: never;
621
+ header?: never;
622
+ path?: never;
623
+ cookie?: never;
624
+ };
625
+ get?: never;
626
+ /** Set the order of components within a group */
627
+ put: operations["put-status-page-group-order"];
628
+ post?: never;
629
+ delete?: never;
630
+ options?: never;
631
+ head?: never;
632
+ patch?: never;
633
+ trace?: never;
634
+ };
635
+ "/api/v1/status-page/components": {
636
+ parameters: {
637
+ query?: never;
638
+ header?: never;
639
+ path?: never;
640
+ cookie?: never;
641
+ };
642
+ /**
643
+ * List components
644
+ * @description A component is one row on the status page: an externally promised capability. It is not a machine — a single component may be backed by several machines and several web checks.
645
+ */
646
+ get: operations["list-status-page-components"];
647
+ put?: never;
648
+ /**
649
+ * Create a component
650
+ * @description `name` is **customer-facing copy** and appears verbatim on the public page; do not use machine names.
651
+ *
652
+ * `auto_status_min_severity` sets how severe an alert must be before it changes the status of this row; anything below it has no effect. The default is AVERAGE. Lower settings tend to keep the page permanently off-green, at which point people stop reading it.
653
+ */
654
+ post: operations["create-status-page-component"];
655
+ delete?: never;
656
+ options?: never;
657
+ head?: never;
658
+ patch?: never;
659
+ trace?: never;
660
+ };
661
+ "/api/v1/status-page/components/{componentId}": {
662
+ parameters: {
663
+ query?: never;
664
+ header?: never;
665
+ path: {
666
+ componentId: string;
667
+ };
668
+ cookie?: never;
669
+ };
670
+ /** Get a component */
671
+ get: operations["get-status-page-component"];
672
+ /**
673
+ * Update a component
674
+ * @description `started_on` cannot be changed: it determines where the availability bar stops showing as unmeasured, and changing it would rewrite history that has already been published.
675
+ */
676
+ put: operations["update-status-page-component"];
677
+ post?: never;
678
+ /**
679
+ * Delete a component
680
+ * @description Its availability history is removed along with it. Passages in already-published notices that refer to it are retained, since customers may already have read them.
681
+ */
682
+ delete: operations["delete-status-page-component"];
683
+ options?: never;
684
+ head?: never;
685
+ patch?: never;
686
+ trace?: never;
687
+ };
688
+ "/api/v1/status-page/components/{componentId}/sources": {
689
+ parameters: {
690
+ query?: never;
691
+ header?: never;
692
+ path: {
693
+ componentId: string;
694
+ };
695
+ cookie?: never;
696
+ };
697
+ /**
698
+ * List the monitored sources bound to a component
699
+ * @description Monitored sources are internal information and **never appear on the public page**.
700
+ */
701
+ get: operations["list-status-page-component-sources"];
702
+ /**
703
+ * Set the complete list of monitored sources for a component
704
+ * @description Submits the **complete** set of sources; anything not listed is unbound.
705
+ *
706
+ * Once bound, alerts on these machines and web checks drive the status of the component automatically: DISASTER and HIGH are reported as a major outage, AVERAGE as a partial outage, and WARNING as degraded performance. Alerts below `auto_status_min_severity` have no effect.
707
+ *
708
+ * `show_url` controls whether the checked address is shown on the public page. It is off by default.
709
+ */
710
+ put: operations["put-status-page-component-sources"];
711
+ post?: never;
712
+ delete?: never;
713
+ options?: never;
714
+ head?: never;
715
+ patch?: never;
716
+ trace?: never;
717
+ };
718
+ "/api/v1/status-page/incidents": {
719
+ parameters: {
720
+ query?: never;
721
+ header?: never;
722
+ path?: never;
723
+ cookie?: never;
724
+ };
725
+ /**
726
+ * List the incident notices on the status page
727
+ * @description These are **customer-facing notices**, distinct from the monitoring incidents under `/incidents`. Nothing from the latter is carried over; the text here is written by your team.
728
+ */
729
+ get: operations["list-status-page-incidents"];
730
+ put?: never;
731
+ /**
732
+ * Publish an incident notice
733
+ * @description Publishing a notice and writing its first update are a single operation: a notice with no updates would appear as a bare title on a page that has already been delivered to readers.
734
+ *
735
+ * `started_at` is when the **incident began**, not when the notice was published. The two are usually minutes to hours apart, and using the publication time would understate the impact window that customers can compare against their own logs. Backfilling a past incident relies on the same field.
736
+ *
737
+ * The statuses given in `components` take effect on the public page immediately and count towards availability.
738
+ */
739
+ post: operations["publish-status-page-incident"];
740
+ delete?: never;
741
+ options?: never;
742
+ head?: never;
743
+ patch?: never;
744
+ trace?: never;
745
+ };
746
+ "/api/v1/status-page/incidents/{incidentId}": {
747
+ parameters: {
748
+ query?: never;
749
+ header?: never;
750
+ path?: never;
751
+ cookie?: never;
752
+ };
753
+ /** Get an incident notice */
754
+ get: operations["get-status-page-incident"];
755
+ put?: never;
756
+ post?: never;
757
+ delete?: never;
758
+ options?: never;
759
+ head?: never;
760
+ patch?: never;
761
+ trace?: never;
762
+ };
763
+ "/api/v1/status-page/incidents/{incidentId}/updates": {
764
+ parameters: {
765
+ query?: never;
766
+ header?: never;
767
+ path?: never;
768
+ cookie?: never;
769
+ };
770
+ get?: never;
771
+ put?: never;
772
+ /**
773
+ * Append an update to an incident notice
774
+ * @description Published updates are never modified; a correction is issued as a new update. Customers may already have forwarded the original, and a silent rewrite would leave the two sides with different histories.
775
+ *
776
+ * `components` lists only the components **being changed** by this update; those not listed keep their current status. Setting `status` to `RESOLVED` returns every component this notice has affected to operational and closes the notice. A closed notice accepts no further updates.
777
+ */
778
+ post: operations["post-status-page-incident-update"];
779
+ delete?: never;
780
+ options?: never;
781
+ head?: never;
782
+ patch?: never;
783
+ trace?: never;
784
+ };
785
+ "/api/v1/status-page/maintenances": {
786
+ parameters: {
787
+ query?: never;
788
+ header?: never;
789
+ path?: never;
790
+ cookie?: never;
791
+ };
792
+ /** List scheduled maintenance */
793
+ get: operations["list-status-page-maintenances"];
794
+ put?: never;
795
+ /**
796
+ * Schedule maintenance
797
+ * @description Maintenance starts and finishes automatically at the scheduled times; nobody needs to be present. While it runs, the affected components are shown as under maintenance and **availability is not reduced** — planned work should not consume the availability you promise to customers, which is the point of announcing it in advance.
798
+ *
799
+ * This is separate from `/maintenance-windows`, which suppresses alerting for a period. This endpoint announces the work to your customers. The two are usually created together: without suppression, restarts during the maintenance raise alerts and mark the components unavailable.
800
+ */
801
+ post: operations["schedule-status-page-maintenance"];
802
+ delete?: never;
803
+ options?: never;
804
+ head?: never;
805
+ patch?: never;
806
+ trace?: never;
807
+ };
808
+ "/api/v1/status-page/maintenances/{maintenanceId}": {
809
+ parameters: {
810
+ query?: never;
811
+ header?: never;
812
+ path?: never;
813
+ cookie?: never;
814
+ };
815
+ /** Get a scheduled maintenance */
816
+ get: operations["get-status-page-maintenance"];
817
+ put?: never;
818
+ post?: never;
819
+ delete?: never;
820
+ options?: never;
821
+ head?: never;
822
+ patch?: never;
823
+ trace?: never;
824
+ };
825
+ "/api/v1/status-page/maintenances/{maintenanceId}/cancel": {
826
+ parameters: {
827
+ query?: never;
828
+ header?: never;
829
+ path?: never;
830
+ cookie?: never;
831
+ };
832
+ get?: never;
833
+ put?: never;
834
+ /**
835
+ * Cancel a maintenance that has not started
836
+ * @description Cancelled rather than deleted, so that readers who saw the announcement have an explanation. Maintenance that has already started cannot be cancelled; finish it early instead.
837
+ */
838
+ post: operations["cancel-status-page-maintenance"];
839
+ delete?: never;
840
+ options?: never;
841
+ head?: never;
842
+ patch?: never;
843
+ trace?: never;
844
+ };
845
+ "/api/v1/status-page/maintenances/{maintenanceId}/complete": {
846
+ parameters: {
847
+ query?: never;
848
+ header?: never;
849
+ path?: never;
850
+ cookie?: never;
851
+ };
852
+ get?: never;
853
+ put?: never;
854
+ /**
855
+ * Finish a running maintenance early
856
+ * @description Optional: maintenance finishes on its own at the scheduled end time. Use this endpoint when the work is done ahead of schedule; the affected components return to operational immediately.
857
+ */
858
+ post: operations["complete-status-page-maintenance"];
859
+ delete?: never;
860
+ options?: never;
861
+ head?: never;
862
+ patch?: never;
863
+ trace?: never;
864
+ };
865
+ "/api/v1/web-checks/{checkId}": {
866
+ parameters: {
867
+ query?: never;
868
+ header?: never;
869
+ path: {
870
+ checkId: string;
871
+ };
872
+ cookie?: never;
873
+ };
874
+ /** Get a project-level web check */
875
+ get: operations["get-project-web-check"];
876
+ /**
877
+ * Create a web check that is not tied to a machine, or replace it by the same id
878
+ * @description **Create or replace**: to modify a check, call this endpoint again with the same id.
879
+ *
880
+ * Unlike `/servers/{serverId}/web-checks/{checkId}`, this check does not belong to any machine — use it when the target is simply a URL. Nothing needs to be enrolled first.
881
+ *
882
+ * A check bound to a machine is removed together with that machine; a project-level check is not. Where a check belongs cannot be changed afterwards: move it by deleting and recreating it.
883
+ */
884
+ put: operations["put-project-web-check"];
885
+ post?: never;
886
+ /**
887
+ * Delete a project-level web check
888
+ * @description The corresponding check task and trigger are removed from the monitoring system as well.
889
+ */
890
+ delete: operations["delete-project-web-check"];
891
+ options?: never;
892
+ head?: never;
893
+ patch?: never;
894
+ trace?: never;
895
+ };
896
+ "/api/v1/status-page/domain": {
897
+ parameters: {
898
+ query?: never;
899
+ header?: never;
900
+ path?: never;
901
+ cookie?: never;
902
+ };
903
+ /**
904
+ * Get the custom domain and its certificate state
905
+ * @description Reports whether the domain currently resolves to the status page and where its certificate stands.
906
+ *
907
+ * `expected_cname` is the value the domain must point at. `observed_cname` is what it currently resolves to, which is what to show the user when verification fails — "verification failed" on its own tells them nothing about what to fix.
908
+ */
909
+ get: operations["get-status-page-domain"];
910
+ /**
911
+ * Bind a custom domain to this status page
912
+ * @description The domain must already point at the status page by CNAME. Binding is rejected until it does, and the error carries both the expected and the observed target.
913
+ *
914
+ * Ownership is verified before the domain is stored, and it is verified again before each certificate is issued: a domain whose CNAME is later removed stops being served.
915
+ *
916
+ * A certificate is requested in the background — this call does not wait for it. Poll GET on this endpoint to follow its progress; until a certificate is active, the domain does not serve HTTPS while the page remains reachable at its shared address.
917
+ */
918
+ put: operations["put-status-page-domain"];
919
+ post?: never;
920
+ /**
921
+ * Unbind the custom domain
922
+ * @description The page stays reachable at its shared address. Certificate renewal for the domain stops; the certificate already issued is left to expire.
923
+ */
924
+ delete: operations["delete-status-page-domain"];
925
+ options?: never;
926
+ head?: never;
927
+ patch?: never;
928
+ trace?: never;
929
+ };
518
930
  }
519
931
  export type webhooks = Record<string, never>;
520
932
  export interface components {
@@ -526,667 +938,1883 @@ export interface components {
526
938
  [key: string]: unknown;
527
939
  };
528
940
  /** Format: int64 */
529
- status: number;
941
+ status: number;
942
+ };
943
+ IncidentFollowerResource: {
944
+ display_name: string;
945
+ /** Format: date-time */
946
+ followed_at: string;
947
+ user_id: string;
948
+ };
949
+ MonitoringItemResource: {
950
+ /** @description Such as last, avg, min or max */
951
+ aggregation_function: string;
952
+ /** Format: int64 */
953
+ evaluation_window_seconds: number;
954
+ item_id: string;
955
+ key: string;
956
+ name: string;
957
+ operator: string;
958
+ /**
959
+ * Format: double
960
+ * @description Present only when `threshold_status` is RESOLVED
961
+ */
962
+ threshold: number | null;
963
+ threshold_status: string;
964
+ /** @description The value at the moment of the trigger, stored as collected */
965
+ value: string;
966
+ };
967
+ TagResource: {
968
+ tag: string;
969
+ value: string;
970
+ };
971
+ IncidentResource: {
972
+ acknowledge_message: string;
973
+ acknowledged: boolean;
974
+ /** Format: date-time */
975
+ acknowledged_at: string | null;
976
+ acknowledged_by_display_name: string;
977
+ acknowledged_by_user_id: string;
978
+ /** Format: date-time */
979
+ assigned_at: string | null;
980
+ assignee_display_name: string;
981
+ assignee_user_id: string;
982
+ close_message: string;
983
+ close_reason: string;
984
+ /** Format: date-time */
985
+ closed_at: string | null;
986
+ closed_by_display_name: string;
987
+ closed_by_user_id: string;
988
+ /** Format: int64 */
989
+ duration_seconds: number;
990
+ followers: components["schemas"]["IncidentFollowerResource"][] | null;
991
+ host_connection: string;
992
+ host_display_name: string;
993
+ /** Format: uuid */
994
+ id: string;
995
+ /**
996
+ * @description Whether monitoring considers the problem recovered. Independent of whether anyone has closed the incident
997
+ * @enum {string}
998
+ */
999
+ incident_status: "PROBLEM" | "RESOLVED";
1000
+ items: components["schemas"]["MonitoringItemResource"][] | null;
1001
+ name: string;
1002
+ /** @description The operational data line configured on the trigger */
1003
+ operational_data: string;
1004
+ /** Format: uuid */
1005
+ project_id: string;
1006
+ /** Format: date-time */
1007
+ resolved_at: string | null;
1008
+ resolved_trigger_expression: string;
1009
+ /** Format: uuid */
1010
+ server_id: string;
1011
+ server_name: string;
1012
+ /** @enum {string} */
1013
+ severity: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1014
+ /** Format: date-time */
1015
+ started_at: string;
1016
+ tags: components["schemas"]["TagResource"][] | null;
1017
+ trigger_expression: string;
1018
+ zabbix_event_id: string;
1019
+ };
1020
+ LengthAwarePageIncidentResource: {
1021
+ /** @description The records in this page */
1022
+ items: components["schemas"]["IncidentResource"][];
1023
+ /**
1024
+ * Format: int64
1025
+ * @description Maximum records per page, echoing the request
1026
+ */
1027
+ limit: number;
1028
+ /**
1029
+ * Format: int64
1030
+ * @description Number of records skipped, echoing the request
1031
+ */
1032
+ offset: number;
1033
+ /**
1034
+ * Format: int64
1035
+ * @description Total number of matches, not just this page
1036
+ */
1037
+ total: number;
1038
+ };
1039
+ AcknowledgeIncidentRequestBody: {
1040
+ /** @description Also written to the acknowledgement record in the monitoring system */
1041
+ message?: string;
1042
+ };
1043
+ AssignIncidentRequestBody: {
1044
+ /** @description Defaults to the user id. The timeline keeps a copy of the name as it was at the time */
1045
+ assignee_display_name?: string;
1046
+ assignee_user_id?: string;
1047
+ };
1048
+ CloseIncidentRequestBody: {
1049
+ /** @description Required when `reason` is OTHER; the request is rejected otherwise */
1050
+ message?: string;
1051
+ /** @enum {string} */
1052
+ reason: "RECOVERED" | "FIXED" | "FALSE_POSITIVE" | "DUPLICATE" | "NO_ACTION_REQUIRED" | "ACCEPTED_RISK" | "OTHER";
1053
+ };
1054
+ AddCommentRequestBody: {
1055
+ message: string;
1056
+ };
1057
+ IncidentActivityResource: {
1058
+ /** @enum {string} */
1059
+ activity_type: "OPENED" | "RECOVERED" | "ACKNOWLEDGED" | "ASSIGNED" | "UNASSIGNED" | "FOLLOWER_ADDED" | "FOLLOWER_REMOVED" | "COMMENT" | "CLOSED" | "REOPENED";
1060
+ actor_display_name: string;
1061
+ /** @description The operator. Empty when the source is SYSTEM or ZABBIX */
1062
+ actor_user_id: string;
1063
+ close_reason: string;
1064
+ /** Format: uuid */
1065
+ id: string;
1066
+ /** Format: uuid */
1067
+ incident_id: string;
1068
+ message: string;
1069
+ /** Format: date-time */
1070
+ occurred_at: string;
1071
+ /** @enum {string} */
1072
+ source: "SYSTEM" | "OPERATOR" | "ZABBIX";
1073
+ subject_display_name: string;
1074
+ /** @description The user who was assigned, or removed from the followers */
1075
+ subject_user_id: string;
1076
+ };
1077
+ SetFollowingRequestBody: {
1078
+ following: boolean;
1079
+ };
1080
+ CursorPageIncidentActivityResource: {
1081
+ /** @description The records in this page */
1082
+ items: components["schemas"]["IncidentActivityResource"][];
1083
+ /** @description Cursor for the next page. Empty means the end has been reached */
1084
+ next_cursor: string;
1085
+ };
1086
+ MaintenancePeriodResource: {
1087
+ /** Format: int64 */
1088
+ duration_seconds: number;
1089
+ /**
1090
+ * Format: int64
1091
+ * @description DAILY and WEEKLY: every N days or every N weeks
1092
+ */
1093
+ every: number;
1094
+ /** @enum {string} */
1095
+ kind: "ONCE" | "DAILY" | "WEEKLY";
1096
+ /**
1097
+ * Format: int64
1098
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
1099
+ */
1100
+ start_time_seconds: number;
1101
+ /**
1102
+ * Format: date-time
1103
+ * @description Present only for ONCE
1104
+ */
1105
+ starts_at: string | null;
1106
+ /**
1107
+ * Format: int64
1108
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
1109
+ */
1110
+ weekdays: number;
1111
+ };
1112
+ MaintenanceWindowResource: {
1113
+ /** Format: date-time */
1114
+ active_since: string;
1115
+ /** Format: date-time */
1116
+ active_till: string;
1117
+ description: string;
1118
+ last_error: string;
1119
+ name: string;
1120
+ period: components["schemas"]["MaintenancePeriodResource"];
1121
+ /** Format: uuid */
1122
+ project_id: string;
1123
+ /** @description Empty covers the **entire project** */
1124
+ server_ids: string[] | null;
1125
+ /** @enum {string} */
1126
+ sync_status: "PENDING" | "ACTIVE" | "FAILED" | "EXPIRED";
1127
+ timezone: string;
1128
+ /** Format: uuid */
1129
+ window_id: string;
1130
+ };
1131
+ MaintenanceWindowListResponseBody: {
1132
+ items: components["schemas"]["MaintenanceWindowResource"][] | null;
1133
+ };
1134
+ MaintenancePeriodRequest: {
1135
+ /** Format: int64 */
1136
+ duration_seconds?: number;
1137
+ /**
1138
+ * Format: int64
1139
+ * @description DAILY and WEEKLY: every N days or every N weeks
1140
+ */
1141
+ every?: number;
1142
+ /** @enum {string} */
1143
+ kind: "ONCE" | "DAILY" | "WEEKLY";
1144
+ /**
1145
+ * Format: int64
1146
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
1147
+ */
1148
+ start_time_seconds?: number;
1149
+ /**
1150
+ * Format: date-time
1151
+ * @description Used only by ONCE
1152
+ */
1153
+ starts_at?: string;
1154
+ /**
1155
+ * Format: int64
1156
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
1157
+ */
1158
+ weekdays?: number;
1159
+ };
1160
+ PutMaintenanceWindowRequestBody: {
1161
+ /**
1162
+ * Format: date-time
1163
+ * @description Start of the period in which the rule is effective
1164
+ */
1165
+ active_since: string;
1166
+ /** Format: date-time */
1167
+ active_till: string;
1168
+ description?: string;
1169
+ name: string;
1170
+ period: components["schemas"]["MaintenancePeriodRequest"];
1171
+ server_ids?: string[] | null;
1172
+ /** @description IANA name such as Asia/Shanghai. Empty uses the configured default */
1173
+ timezone?: string;
1174
+ };
1175
+ CountResource: {
1176
+ /** Format: int64 */
1177
+ count: number;
1178
+ key: string;
1179
+ };
1180
+ ProjectOverviewResource: {
1181
+ /** Format: int64 */
1182
+ monitored_servers: number;
1183
+ problem_counts: components["schemas"]["CountResource"][] | null;
1184
+ reachability_counts: components["schemas"]["CountResource"][] | null;
1185
+ /** Format: int64 */
1186
+ total_servers: number;
1187
+ };
1188
+ ItemResource: {
1189
+ item_id: string;
1190
+ key: string;
1191
+ /** Format: date-time */
1192
+ last_collected_at: string | null;
1193
+ last_value: string;
1194
+ name: string;
1195
+ tags: components["schemas"]["TagResource"][] | null;
1196
+ units: string;
1197
+ /** @enum {string} */
1198
+ value_type: "FLOAT" | "CHARACTER" | "LOG" | "UNSIGNED" | "TEXT";
1199
+ };
1200
+ ItemListResponseBody: {
1201
+ items: components["schemas"]["ItemResource"][] | null;
1202
+ };
1203
+ MetricPointResource: {
1204
+ /** Format: double */
1205
+ max_value: number;
1206
+ /** Format: double */
1207
+ min_value: number;
1208
+ /** Format: date-time */
1209
+ timestamp: string;
1210
+ /** Format: double */
1211
+ value: number;
1212
+ };
1213
+ MetricSeriesResource: {
1214
+ item_id: string;
1215
+ item_key: string;
1216
+ item_name: string;
1217
+ points: components["schemas"]["MetricPointResource"][] | null;
1218
+ units: string;
1219
+ };
1220
+ ItemThresholdResource: {
1221
+ aggregation_function: string;
1222
+ /** Format: int64 */
1223
+ evaluation_window_seconds: number;
1224
+ item_id: string;
1225
+ operator: string;
1226
+ severity: string;
1227
+ /** Format: double */
1228
+ threshold: number;
1229
+ /** @description Labels the line in the chart legend */
1230
+ trigger_name: string;
1231
+ };
1232
+ MetricResponseBody: {
1233
+ downsampled: boolean;
1234
+ /** Format: date-time */
1235
+ effective_from: string;
1236
+ /** Format: date-time */
1237
+ effective_to: string;
1238
+ /** @description Data comes from hourly aggregates, one point per hour */
1239
+ from_trends: boolean;
1240
+ series: components["schemas"]["MetricSeriesResource"][] | null;
1241
+ thresholds: components["schemas"]["ItemThresholdResource"][] | null;
1242
+ truncated: boolean;
1243
+ };
1244
+ HostInterfaceResource: {
1245
+ available: boolean;
1246
+ dns: string;
1247
+ ip: string;
1248
+ /** Format: int64 */
1249
+ port: number;
1250
+ use_ip: boolean;
1251
+ };
1252
+ ServerResourcesResource: {
1253
+ interfaces: components["schemas"]["HostInterfaceResource"][] | null;
1254
+ /** @description Hardware and system inventory collected automatically: CPU, memory, operating system and so on */
1255
+ inventory: {
1256
+ [key: string]: string;
1257
+ };
1258
+ tags: components["schemas"]["TagResource"][] | null;
1259
+ };
1260
+ SnapshotResource: {
1261
+ agent_error: string;
1262
+ /**
1263
+ * @description AGENT_DOWN means the agent is unreachable while the machine is still alive; UNREACHABLE means neither can be established
1264
+ * @enum {string}
1265
+ */
1266
+ agent_reachability: "UNKNOWN" | "REACHABLE" | "AGENT_DOWN" | "UNREACHABLE";
1267
+ /** Format: date-time */
1268
+ last_collected_at: string | null;
1269
+ monitoring_enabled: boolean;
1270
+ problem_counts: components["schemas"]["CountResource"][] | null;
1271
+ };
1272
+ TopItemResource: {
1273
+ item_key: string;
1274
+ /** Format: uuid */
1275
+ server_id: string;
1276
+ units: string;
1277
+ /** Format: double */
1278
+ value: number;
1279
+ };
1280
+ TopItemListResponseBody: {
1281
+ items: components["schemas"]["TopItemResource"][] | null;
1282
+ };
1283
+ ServerTemplateResource: {
1284
+ configured_secret_parameters: string[] | null;
1285
+ parameters: {
1286
+ [key: string]: string;
1287
+ };
1288
+ template_key: string;
1289
+ zabbix_template_id: string;
1290
+ zabbix_template_name: string;
1291
+ };
1292
+ ServerResource: {
1293
+ address: string;
1294
+ /** @enum {string} */
1295
+ address_kind: "ip" | "dns";
1296
+ /** @enum {string} */
1297
+ agent_mode: "PASSIVE" | "ACTIVE";
1298
+ /** Format: int64 */
1299
+ agent_port: number;
1300
+ /** Format: date-time */
1301
+ created_at: string;
1302
+ description: string;
1303
+ /** Format: uuid */
1304
+ id: string;
1305
+ last_error: string;
1306
+ /**
1307
+ * @description Consult `last_error` when this is FAILED
1308
+ * @enum {string}
1309
+ */
1310
+ monitoring_status: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
1311
+ name: string;
1312
+ /** Format: uuid */
1313
+ project_id: string;
1314
+ templates: components["schemas"]["ServerTemplateResource"][] | null;
1315
+ /** Format: date-time */
1316
+ updated_at: string;
1317
+ /** @description The Hostname in the agent configuration must match this value; active checks identify the machine by it */
1318
+ zabbix_host_name: string;
1319
+ };
1320
+ LengthAwarePageServerResource: {
1321
+ /** @description The records in this page */
1322
+ items: components["schemas"]["ServerResource"][];
1323
+ /**
1324
+ * Format: int64
1325
+ * @description Maximum records per page, echoing the request
1326
+ */
1327
+ limit: number;
1328
+ /**
1329
+ * Format: int64
1330
+ * @description Number of records skipped, echoing the request
1331
+ */
1332
+ offset: number;
1333
+ /**
1334
+ * Format: int64
1335
+ * @description Total number of matches, not just this page
1336
+ */
1337
+ total: number;
1338
+ };
1339
+ TemplateBindingRequest: {
1340
+ /** @description Parameters declared by the template. Secret parameters are supplied in clear text and returned by name only */
1341
+ parameters?: {
1342
+ [key: string]: string;
1343
+ };
1344
+ /** @enum {string} */
1345
+ template_key: "LINUX" | "SYSTEMD" | "DOCKER" | "ICMP_PING" | "NGINX" | "PHP_FPM" | "WEBSITE_CERTIFICATE" | "WINDOWS" | "SMART" | "NVIDIA" | "PROXMOX_VE";
1346
+ };
1347
+ EnableMonitoringRequestBody: {
1348
+ address: string;
1349
+ /** @enum {string} */
1350
+ address_kind: "ip" | "dns";
1351
+ /**
1352
+ * @description Empty selects passive mode, which requires the least agent-side configuration
1353
+ * @enum {string}
1354
+ */
1355
+ agent_mode?: "PASSIVE" | "ACTIVE";
1356
+ /**
1357
+ * Format: int64
1358
+ * @description 0 uses the default of 10050
1359
+ */
1360
+ agent_port?: number;
1361
+ description?: string;
1362
+ name: string;
1363
+ template_bindings?: components["schemas"]["TemplateBindingRequest"][] | null;
1364
+ };
1365
+ EnrollmentResource: {
1366
+ /** @description Includes the PSK. Like `tls_psk`, it is returned only this once */
1367
+ install_command: string;
1368
+ install_script_url: string;
1369
+ /** @description **Returned only this once** */
1370
+ tls_psk: string;
1371
+ tls_psk_identity: string;
1372
+ zabbix_host_name: string;
1373
+ /** @description The Server and ServerActive values for the agent configuration */
1374
+ zabbix_server_address: string;
1375
+ };
1376
+ ServerEnrollmentResponseBody: {
1377
+ enrollment: components["schemas"]["EnrollmentResource"];
1378
+ server: components["schemas"]["ServerResource"];
1379
+ };
1380
+ UpdateServerRequestBody: {
1381
+ address?: string;
1382
+ /**
1383
+ * @description Must be supplied together with `address` when changing the address
1384
+ * @enum {string}
1385
+ */
1386
+ address_kind?: "ip" | "dns";
1387
+ /**
1388
+ * @description Changing the collection mode rebinds every template to the corresponding variant
1389
+ * @enum {string}
1390
+ */
1391
+ agent_mode?: "PASSIVE" | "ACTIVE";
1392
+ /** Format: int64 */
1393
+ agent_port?: number;
1394
+ description?: string;
1395
+ name?: string;
1396
+ template_bindings?: components["schemas"]["TemplateBindingRequest"][];
1397
+ };
1398
+ WebCheckResultResource: {
1399
+ /** Format: date-time */
1400
+ checked_at: string;
1401
+ error: string;
1402
+ /**
1403
+ * Format: int64
1404
+ * @description Index of the failed step, counting from 1. 0 when healthy
1405
+ */
1406
+ failed_step: number;
1407
+ healthy: boolean;
1408
+ /** Format: int64 */
1409
+ response_code: number;
1410
+ /** Format: double */
1411
+ response_time_seconds: number;
1412
+ };
1413
+ WebCheckStepResource: {
1414
+ /** @description Status code expression, such as 200 or 200,301-302 */
1415
+ expected_status_codes: string;
1416
+ follow_redirects: boolean;
1417
+ name: string;
1418
+ required_pattern: string;
1419
+ url: string;
1420
+ };
1421
+ WebCheckResource: {
1422
+ /** Format: uuid */
1423
+ check_id: string;
1424
+ /** Format: int64 */
1425
+ interval_seconds: number;
1426
+ last_error: string;
1427
+ /** Format: int64 */
1428
+ response_time_threshold_seconds: number;
1429
+ /** @description null means the check has not completed a round yet. A zero value would present "not yet known" as "0 seconds, status code 0" */
1430
+ result: components["schemas"]["WebCheckResultResource"] | null;
1431
+ /** Format: int64 */
1432
+ retries: number;
1433
+ /**
1434
+ * Format: uuid
1435
+ * @description The machine this check is attached to. Empty for a project-level check, which is not tied to any machine
1436
+ */
1437
+ server_id: string;
1438
+ steps: components["schemas"]["WebCheckStepResource"][] | null;
1439
+ /** @enum {string} */
1440
+ sync_status: "PENDING" | "ACTIVE" | "FAILED";
1441
+ /** Format: int64 */
1442
+ timeout_seconds: number;
1443
+ };
1444
+ WebCheckStepRequest: {
1445
+ /** @description Status code expression, such as 200 or 200,301-302. Empty disables status code checking */
1446
+ expected_status_codes?: string;
1447
+ follow_redirects?: boolean;
1448
+ name: string;
1449
+ /** @description A string that must appear in the response body */
1450
+ required_pattern?: string;
1451
+ url: string;
1452
+ };
1453
+ PutWebCheckRequestBody: {
1454
+ /**
1455
+ * Format: int64
1456
+ * @description 0 uses the default
1457
+ */
1458
+ interval_seconds?: number;
1459
+ /**
1460
+ * Format: int64
1461
+ * @description Slower than this counts as slow. 0 disables the response time check
1462
+ */
1463
+ response_time_threshold_seconds?: number;
1464
+ /** Format: int64 */
1465
+ retries?: number;
1466
+ steps: components["schemas"]["WebCheckStepRequest"][] | null;
1467
+ /** Format: int64 */
1468
+ timeout_seconds?: number;
1469
+ };
1470
+ WebCheckListResponseBody: {
1471
+ items: components["schemas"]["WebCheckResource"][] | null;
1472
+ };
1473
+ SLIReportRowResource: {
1474
+ /** Format: int64 */
1475
+ downtime_seconds: number;
1476
+ /**
1477
+ * Format: int64
1478
+ * @description A negative value means the budget for this period is already exhausted
1479
+ */
1480
+ error_budget_seconds: number;
1481
+ /**
1482
+ * Format: int64
1483
+ * @description The portion excluded by planned maintenance
1484
+ */
1485
+ excluded_downtime_seconds: number;
1486
+ /** Format: date-time */
1487
+ period_from: string;
1488
+ /** Format: date-time */
1489
+ period_to: string;
1490
+ /** @description Empty means this row covers the project as a whole */
1491
+ server_id: string;
1492
+ /** Format: double */
1493
+ sli_percent: number;
1494
+ /** Format: int64 */
1495
+ uptime_seconds: number;
530
1496
  };
531
- IncidentFollowerResource: {
532
- display_name: string;
1497
+ SLIReportResponseBody: {
1498
+ rows: components["schemas"]["SLIReportRowResource"][] | null;
1499
+ };
1500
+ ScheduleWindowResource: {
1501
+ /** Format: int64 */
1502
+ end_time_seconds: number;
1503
+ /** Format: int64 */
1504
+ start_time_seconds: number;
1505
+ /**
1506
+ * Format: int64
1507
+ * @description Bitmap of weekdays, **Monday is the lowest bit**, using the same encoding as maintenance windows
1508
+ */
1509
+ weekdays: number;
1510
+ };
1511
+ SLOResource: {
533
1512
  /** Format: date-time */
534
- followed_at: string;
535
- user_id: string;
1513
+ effective_from: string;
1514
+ last_error: string;
1515
+ /** @enum {string} */
1516
+ min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1517
+ name: string;
1518
+ /** @enum {string} */
1519
+ period: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1520
+ /** Format: uuid */
1521
+ project_id: string;
1522
+ /** @description Empty means a 24x7 commitment */
1523
+ schedule: components["schemas"]["ScheduleWindowResource"][] | null;
1524
+ /** Format: uuid */
1525
+ slo_id: string;
1526
+ /**
1527
+ * Format: double
1528
+ * @description Target availability, such as 99.9
1529
+ */
1530
+ slo_percent: number;
1531
+ /** @enum {string} */
1532
+ sync_status: "PENDING" | "ACTIVE" | "FAILED";
1533
+ timezone: string;
536
1534
  };
537
- MonitoringItemResource: {
538
- /** @description last / avg / min / max 之类 */
539
- aggregation_function: string;
1535
+ ScheduleWindowRequest: {
540
1536
  /** Format: int64 */
541
- evaluation_window_seconds: number;
542
- item_id: string;
543
- key: string;
1537
+ end_time_seconds?: number;
1538
+ /** Format: int64 */
1539
+ start_time_seconds?: number;
1540
+ /**
1541
+ * Format: int64
1542
+ * @description Bitmap of weekdays, **Monday is the lowest bit** (1 = Monday … 64 = Sunday)
1543
+ */
1544
+ weekdays: number;
1545
+ };
1546
+ PutSLORequestBody: {
1547
+ /** Format: date-time */
1548
+ effective_from?: string;
1549
+ /** @enum {string} */
1550
+ min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
544
1551
  name: string;
545
- operator: string;
1552
+ /**
1553
+ * @description Empty selects monthly
1554
+ * @enum {string}
1555
+ */
1556
+ period?: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1557
+ schedule?: components["schemas"]["ScheduleWindowRequest"][] | null;
1558
+ /** Format: uuid */
1559
+ slo_id: string;
546
1560
  /**
547
1561
  * Format: double
548
- * @description 只有 threshold_status RESOLVED 时才有
1562
+ * @description Target availability, such as 99.9. At most four decimal places
549
1563
  */
550
- threshold: number | null;
551
- threshold_status: string;
552
- /** @description 触发那一刻的值,原样存下来的 */
553
- value: string;
1564
+ slo_percent: number;
1565
+ /** @description Determines the boundaries of each reporting period, that is, the moment each period begins */
1566
+ timezone?: string;
554
1567
  };
555
- TagResource: {
556
- tag: string;
557
- value: string;
1568
+ StatusPageResource: {
1569
+ /** @description #RRGGBB */
1570
+ brand_color: string;
1571
+ /** Format: date-time */
1572
+ created_at: string;
1573
+ /** @description The custom domain bound to this page. Empty means it is served only at /{slug} under the shared domain */
1574
+ custom_domain: string;
1575
+ footer_text: string;
1576
+ headline: string;
1577
+ logo_url: string;
1578
+ name: string;
1579
+ /** @description The address this page is served at: the custom domain if one is bound, otherwise the shared domain with the slug, otherwise the shared domain with the project id */
1580
+ public_url: string;
1581
+ published: boolean;
1582
+ /** @description Whether search engines may index the page */
1583
+ search_engine_index: boolean;
1584
+ /** @description The readable address segment, empty when none is set. The page is always reachable at /<project id> regardless */
1585
+ slug: string;
1586
+ /** Format: uuid */
1587
+ status_page_id: string;
1588
+ support_url: string;
1589
+ /** @enum {string} */
1590
+ theme: "AUTO" | "LIGHT" | "DARK";
1591
+ /** @description Determines where the day boundary falls on the availability bar */
1592
+ timezone: string;
1593
+ /** Format: date-time */
1594
+ updated_at: string;
1595
+ /**
1596
+ * Format: int64
1597
+ * @description Number of days covered by the availability bar
1598
+ */
1599
+ uptime_days: number;
1600
+ /** @description The text shown on the support link. Empty means the page default is used */
1601
+ support_label: string;
1602
+ };
1603
+ PutStatusPageRequestBody: {
1604
+ /** @description #RRGGBB. Applied to the page styling; only a strict six-digit hexadecimal value is accepted */
1605
+ brand_color?: string;
1606
+ /** @description Read-only here. Bind a custom domain through PUT /status-page/domain, which verifies ownership first; a value sent here is ignored */
1607
+ custom_domain?: string;
1608
+ /** @description The line of free-form text in the page footer. Plain text */
1609
+ footer_text?: string;
1610
+ /** @description The line shown below the title */
1611
+ headline?: string;
1612
+ logo_url?: string;
1613
+ /** @description Page title */
1614
+ name: string;
1615
+ /**
1616
+ * @description While false, the public address returns 404. Unpublished by default
1617
+ * @default false
1618
+ */
1619
+ published?: boolean;
1620
+ /**
1621
+ * @description Not indexed by default. Once a page has been crawled, switching back does not remove copies already held in third-party indexes
1622
+ * @default false
1623
+ */
1624
+ search_engine_index?: boolean;
1625
+ /** @description An optional readable address segment under the shared domain. Lowercase letters, digits and hyphens; globally unique. Leave it empty and the page is served at /<project id>, which needs no configuration and cannot be taken by anyone else */
1626
+ slug?: string;
1627
+ support_url?: string;
1628
+ /**
1629
+ * @default AUTO
1630
+ * @enum {string}
1631
+ */
1632
+ theme?: "AUTO" | "LIGHT" | "DARK";
1633
+ /** @description IANA name. Empty selects UTC */
1634
+ timezone?: string;
1635
+ /**
1636
+ * Format: int64
1637
+ * @default 90
1638
+ */
1639
+ uptime_days?: number;
1640
+ /** @description The text shown on the support link. Empty uses the page default. Different products call this different things — help centre, submit a ticket, support */
1641
+ support_label?: string;
558
1642
  };
559
- IncidentResource: {
560
- acknowledge_message: string;
561
- acknowledged: boolean;
1643
+ PutStatusPageOrderRequestBody: {
1644
+ items: components["schemas"]["StatusPageOrderItem"][];
1645
+ };
1646
+ /** @description Exactly one of the two: `group_id` marks this position as a group, `component_id` as an ungrouped component */
1647
+ StatusPageOrderItem: {
1648
+ /** Format: uuid */
1649
+ component_id?: string;
1650
+ /** Format: uuid */
1651
+ group_id?: string;
1652
+ };
1653
+ PutStatusPageGroupOrderRequestBody: {
1654
+ component_ids: string[];
1655
+ };
1656
+ StatusPageGroupResource: {
1657
+ /** @description Whether the group is collapsed by default on the page */
1658
+ collapsed: boolean;
562
1659
  /** Format: date-time */
563
- acknowledged_at: string | null;
564
- acknowledged_by_display_name: string;
565
- acknowledged_by_user_id: string;
1660
+ created_at: string;
1661
+ description: string;
1662
+ /** Format: uuid */
1663
+ group_id: string;
1664
+ name: string;
1665
+ /** Format: int64 */
1666
+ position: number;
1667
+ };
1668
+ StatusPageGroupListResponseBody: {
1669
+ data: components["schemas"]["StatusPageGroupResource"][];
1670
+ };
1671
+ PutStatusPageGroupRequestBody: {
1672
+ /** @default true */
1673
+ collapsed?: boolean;
1674
+ description?: string;
1675
+ name: string;
1676
+ };
1677
+ StatusPageComponentResource: {
1678
+ /** @enum {string} */
1679
+ auto_status_min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1680
+ /** Format: uuid */
1681
+ component_id: string;
566
1682
  /** Format: date-time */
567
- assigned_at: string | null;
568
- assignee_display_name: string;
569
- assignee_user_id: string;
570
- close_message: string;
571
- close_reason: string;
1683
+ created_at: string;
1684
+ /**
1685
+ * @description The status currently shown to the public. OPERATIONAL means normal
1686
+ * @enum {string}
1687
+ */
1688
+ current_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1689
+ description: string;
1690
+ /** @description Empty means ungrouped, placed directly at the top level of the page */
1691
+ group_id: string;
1692
+ name: string;
1693
+ /** @description Hide this row while everything is normal */
1694
+ only_show_if_degraded: boolean;
1695
+ /** Format: int64 */
1696
+ position: number;
1697
+ /** @description Whether the availability bar is shown. Components with this disabled are also excluded from the aggregate of their group */
1698
+ show_uptime: boolean;
1699
+ /**
1700
+ * Format: date-time
1701
+ * @description The moment this component started being covered. Earlier days are shown as unmeasured rather than operational
1702
+ */
1703
+ started_on: string;
1704
+ /**
1705
+ * Format: double
1706
+ * @description Availability over the past `uptime_days` days
1707
+ */
1708
+ uptime_percent: number;
1709
+ };
1710
+ StatusPageComponentListResponseBody: {
1711
+ data: components["schemas"]["StatusPageComponentResource"][];
1712
+ };
1713
+ PutStatusPageComponentRequestBody: {
1714
+ /**
1715
+ * @description Alerts below this severity do not change the status of this row
1716
+ * @default AVERAGE
1717
+ * @enum {string}
1718
+ */
1719
+ auto_status_min_severity?: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1720
+ description?: string;
1721
+ /**
1722
+ * Format: uuid
1723
+ * @description Empty leaves the component ungrouped
1724
+ */
1725
+ group_id?: string;
1726
+ /** @description Customer-facing copy; appears verbatim on the public page */
1727
+ name: string;
1728
+ /** @default false */
1729
+ only_show_if_degraded?: boolean;
1730
+ /** @default true */
1731
+ show_uptime?: boolean;
1732
+ /**
1733
+ * Format: date-time
1734
+ * @description Meaningful only at creation and immutable afterwards. Empty selects the current moment
1735
+ */
1736
+ started_on?: string;
1737
+ };
1738
+ StatusPageComponentSourceServer: {
1739
+ /** Format: uuid */
1740
+ server_id: string;
1741
+ };
1742
+ StatusPageComponentSourceWebCheck: {
1743
+ /**
1744
+ * @description Whether the checked address is shown on the public page
1745
+ * @default false
1746
+ */
1747
+ show_url?: boolean;
1748
+ /** Format: uuid */
1749
+ web_check_id: string;
1750
+ };
1751
+ StatusPageComponentSourcesResource: {
1752
+ servers: components["schemas"]["StatusPageComponentSourceServer"][];
1753
+ web_checks: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1754
+ };
1755
+ /** @description Submits the complete set; anything not listed is unbound */
1756
+ PutStatusPageComponentSourcesRequestBody: {
1757
+ servers?: components["schemas"]["StatusPageComponentSourceServer"][];
1758
+ web_checks?: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1759
+ };
1760
+ /** @description A status transition of one component within one update. The component name is a snapshot taken at the time */
1761
+ StatusPageIncidentComponentResource: {
1762
+ /** Format: uuid */
1763
+ component_id: string;
1764
+ component_name: string;
1765
+ /** @enum {string} */
1766
+ new_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1767
+ /** @enum {string} */
1768
+ old_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1769
+ };
1770
+ StatusPageIncidentUpdateResource: {
1771
+ affected_components: components["schemas"]["StatusPageIncidentComponentResource"][] | null;
1772
+ /** @description Body text. Plain text */
1773
+ body: string;
1774
+ /** @enum {string} */
1775
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
572
1776
  /** Format: date-time */
573
- closed_at: string | null;
574
- closed_by_display_name: string;
575
- closed_by_user_id: string;
1777
+ published_at: string;
1778
+ /** Format: uuid */
1779
+ update_id: string;
1780
+ };
1781
+ StatusPageIncidentResource: {
1782
+ /** @enum {string} */
1783
+ impact: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1784
+ /** Format: uuid */
1785
+ incident_id: string;
1786
+ /** @enum {string} */
1787
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1788
+ name: string;
1789
+ /** Format: date-time */
1790
+ published_at: string;
1791
+ /** Format: date-time */
1792
+ resolved_at: string | null;
1793
+ /**
1794
+ * Format: date-time
1795
+ * @description When the incident began, not when the notice was published
1796
+ */
1797
+ started_at: string;
1798
+ /** @description Most recently published first */
1799
+ updates: components["schemas"]["StatusPageIncidentUpdateResource"][] | null;
1800
+ };
1801
+ LengthAwarePageStatusPageIncidentResource: {
1802
+ data: components["schemas"]["StatusPageIncidentResource"][];
576
1803
  /** Format: int64 */
577
- duration_seconds: number;
578
- followers: components["schemas"]["IncidentFollowerResource"][] | null;
579
- host_connection: string;
580
- host_display_name: string;
1804
+ limit: number;
1805
+ /** Format: int64 */
1806
+ offset: number;
1807
+ /** Format: int64 */
1808
+ total: number;
1809
+ };
1810
+ StatusPageIncidentComponentRequest: {
1811
+ /** Format: uuid */
1812
+ component_id: string;
1813
+ /**
1814
+ * @description Empty returns this component to operational
1815
+ * @enum {string}
1816
+ */
1817
+ status?: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1818
+ };
1819
+ PublishStatusPageIncidentRequestBody: {
1820
+ /** @description Body of the first update. Plain text */
1821
+ body: string;
1822
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1823
+ /**
1824
+ * @description Empty derives the impact from the affected components
1825
+ * @enum {string}
1826
+ */
1827
+ impact?: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1828
+ /**
1829
+ * @default INVESTIGATING
1830
+ * @enum {string}
1831
+ */
1832
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1833
+ /** @description The public title */
1834
+ name: string;
1835
+ /**
1836
+ * Format: date-time
1837
+ * @description Empty selects the current moment. Backfilling a past incident sets it in the past
1838
+ */
1839
+ published_at?: string;
1840
+ /**
1841
+ * Format: date-time
1842
+ * @description When the incident began. Empty uses the publication time
1843
+ */
1844
+ started_at?: string;
1845
+ };
1846
+ PostStatusPageIncidentUpdateRequestBody: {
1847
+ /** @description Body text. Plain text */
1848
+ body: string;
1849
+ /** @description Lists only the components being changed by this update; those not listed keep their current status */
1850
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1851
+ /**
1852
+ * @description Empty keeps the current stage. RESOLVED closes the notice and returns every affected component to operational
1853
+ * @enum {string}
1854
+ */
1855
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1856
+ /** Format: date-time */
1857
+ published_at?: string;
1858
+ };
1859
+ StatusPageMaintenanceComponentResource: {
1860
+ /** Format: uuid */
1861
+ component_id: string;
1862
+ component_name: string;
1863
+ /** @enum {string} */
1864
+ component_status: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1865
+ };
1866
+ StatusPageMaintenanceResource: {
1867
+ affected_components: components["schemas"]["StatusPageMaintenanceComponentResource"][] | null;
1868
+ /** @description Maintenance description. Plain text */
1869
+ body: string;
1870
+ /**
1871
+ * Format: date-time
1872
+ * @description When the maintenance actually finished
1873
+ */
1874
+ completed_at: string | null;
1875
+ /** Format: uuid */
1876
+ maintenance_id: string;
1877
+ /** @enum {string} */
1878
+ maintenance_status: "SCHEDULED" | "IN_PROGRESS" | "COMPLETED" | "CANCELLED";
1879
+ name: string;
1880
+ /** Format: date-time */
1881
+ scheduled_for: string;
1882
+ /** Format: date-time */
1883
+ scheduled_until: string;
1884
+ /**
1885
+ * Format: date-time
1886
+ * @description When the maintenance actually started, which may differ from the scheduled time
1887
+ */
1888
+ started_at: string | null;
1889
+ };
1890
+ LengthAwarePageStatusPageMaintenanceResource: {
1891
+ data: components["schemas"]["StatusPageMaintenanceResource"][];
1892
+ /** Format: int64 */
1893
+ limit: number;
1894
+ /** Format: int64 */
1895
+ offset: number;
1896
+ /** Format: int64 */
1897
+ total: number;
1898
+ };
1899
+ StatusPageMaintenanceComponentRequest: {
581
1900
  /** Format: uuid */
582
- id: string;
1901
+ component_id: string;
583
1902
  /**
584
- * @description 监控系统是否判定已恢复。它与是否有人了结这条告警是两件事
1903
+ * @description How this component is shown while the maintenance runs. Neither value reduces availability
1904
+ * @default UNDER_MAINTENANCE
585
1905
  * @enum {string}
586
1906
  */
587
- incident_status: "PROBLEM" | "RESOLVED";
588
- items: components["schemas"]["MonitoringItemResource"][] | null;
1907
+ component_status?: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1908
+ };
1909
+ ScheduleStatusPageMaintenanceRequestBody: {
1910
+ /** @description Maintenance description. Plain text */
1911
+ body: string;
1912
+ /** @description At least one. Maintenance that affects no component reads on the page as an announcement with no subject */
1913
+ components: components["schemas"]["StatusPageMaintenanceComponentRequest"][];
589
1914
  name: string;
590
- /** @description 触发器配的那行现场数据 */
591
- operational_data: string;
592
- /** Format: uuid */
593
- project_id: string;
594
- /** Format: date-time */
595
- resolved_at: string | null;
596
- resolved_trigger_expression: string;
597
- /** Format: uuid */
598
- server_id: string;
599
- server_name: string;
600
- /** @enum {string} */
601
- severity: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
602
1915
  /** Format: date-time */
603
- started_at: string;
604
- tags: components["schemas"]["TagResource"][] | null;
605
- trigger_expression: string;
606
- zabbix_event_id: string;
1916
+ scheduled_for: string;
1917
+ /**
1918
+ * Format: date-time
1919
+ * @description Must be later than `scheduled_for`
1920
+ */
1921
+ scheduled_until: string;
607
1922
  };
608
- LengthAwarePageIncidentResource: {
609
- /** @description 这一页的内容 */
610
- items: components["schemas"]["IncidentResource"][];
1923
+ StatusPageDomainResource: {
611
1924
  /**
612
- * Format: int64
613
- * @description 这一页最多几条,回显请求里的值
1925
+ * Format: date-time
1926
+ * @description When the current certificate expires
614
1927
  */
615
- limit: number;
1928
+ certificate_not_after: string | null;
616
1929
  /**
617
- * Format: int64
618
- * @description 跳过了多少条,回显请求里的值
1930
+ * @description NONE means no certificate has been requested for this domain yet
1931
+ * @enum {string}
619
1932
  */
620
- offset: number;
1933
+ certificate_status: "NONE" | "PENDING" | "ACTIVE" | "FAILED";
1934
+ /** @description The bound custom domain. Empty means none is bound */
1935
+ domain: string;
1936
+ /** @description The value the domain must point at */
1937
+ expected_cname: string;
1938
+ /** @description Why the most recent issuance attempt failed. Empty when it did not */
1939
+ last_error: string;
1940
+ /** @description What the domain currently resolves to. Empty when it resolves to nothing */
1941
+ observed_cname: string;
1942
+ /** @description The address this page is served at, taking the custom domain into account */
1943
+ public_url: string;
1944
+ /** @description Whether the domain currently points at the status page */
1945
+ verified: boolean;
621
1946
  /**
622
- * Format: int64
623
- * @description 命中的总条数,不只是这一页
1947
+ * Format: date-time
1948
+ * @description When ownership was last confirmed
624
1949
  */
625
- total: number;
1950
+ verified_at: string | null;
626
1951
  };
627
- AcknowledgeIncidentRequestBody: {
628
- /** @description 会一并写入监控系统的确认记录 */
629
- message?: string;
1952
+ PutStatusPageDomainRequestBody: {
1953
+ /** @description Your own domain, such as status.acme.com. It must already point at the status page by CNAME */
1954
+ domain: string;
630
1955
  };
631
- AssignIncidentRequestBody: {
632
- /** @description 不给就用 user id:时间线上要留一个当时的人名副本 */
633
- assignee_display_name?: string;
634
- assignee_user_id?: string;
1956
+ };
1957
+ responses: never;
1958
+ parameters: never;
1959
+ requestBodies: never;
1960
+ headers: never;
1961
+ pathItems: never;
1962
+ }
1963
+ export type $defs = Record<string, never>;
1964
+ export interface operations {
1965
+ "list-incidents": {
1966
+ parameters: {
1967
+ query?: {
1968
+ /** @description Maximum number of records in this page */
1969
+ limit?: number;
1970
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
1971
+ offset?: number;
1972
+ /** @description Restrict to a single machine */
1973
+ server_id?: string;
1974
+ incident_status?: "PROBLEM" | "RESOLVED";
1975
+ /** @description Matches at or above this severity, not exactly this severity */
1976
+ min_severity?: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1977
+ started_after?: string;
1978
+ started_before?: string;
1979
+ /** @description Incidents that **overlap** [active_from, active_to]. This is what you want when overlaying incident bands on a metric chart */
1980
+ active_from?: string;
1981
+ active_to?: string;
1982
+ /** @description Given as `key` or `key=value`, repeatable. Multiple tags are combined with AND */
1983
+ tag?: string[] | null;
1984
+ assignee_user_id?: string;
1985
+ /** @description Whether someone has finished handling it here. Independent of `incident_status` */
1986
+ closed?: "true" | "false";
1987
+ acknowledged?: "true" | "false";
1988
+ unassigned?: "true" | "false";
1989
+ keyword?: string;
1990
+ };
1991
+ header?: never;
1992
+ path?: never;
1993
+ cookie?: never;
635
1994
  };
636
- CloseIncidentRequestBody: {
637
- /** @description reason 为 OTHER 时必填,否则请求会被拒绝 */
638
- message?: string;
639
- /** @enum {string} */
640
- reason: "RECOVERED" | "FIXED" | "FALSE_POSITIVE" | "DUPLICATE" | "NO_ACTION_REQUIRED" | "ACCEPTED_RISK" | "OTHER";
1995
+ requestBody?: never;
1996
+ responses: {
1997
+ /** @description OK */
1998
+ 200: {
1999
+ headers: {
2000
+ [name: string]: unknown;
2001
+ };
2002
+ content: {
2003
+ "application/json": components["schemas"]["LengthAwarePageIncidentResource"];
2004
+ };
2005
+ };
2006
+ /** @description Error */
2007
+ default: {
2008
+ headers: {
2009
+ [name: string]: unknown;
2010
+ };
2011
+ content: {
2012
+ "application/json": components["schemas"]["Error"];
2013
+ };
2014
+ };
641
2015
  };
642
- AddCommentRequestBody: {
643
- message: string;
2016
+ };
2017
+ "get-incident": {
2018
+ parameters: {
2019
+ query?: never;
2020
+ header?: never;
2021
+ path: {
2022
+ incidentId: string;
2023
+ };
2024
+ cookie?: never;
644
2025
  };
645
- IncidentActivityResource: {
646
- /** @enum {string} */
647
- activity_type: "OPENED" | "RECOVERED" | "ACKNOWLEDGED" | "ASSIGNED" | "UNASSIGNED" | "FOLLOWER_ADDED" | "FOLLOWER_REMOVED" | "COMMENT" | "CLOSED" | "REOPENED";
648
- actor_display_name: string;
649
- /** @description 操作者;来源为 SYSTEM 或 ZABBIX 时为空 */
650
- actor_user_id: string;
651
- close_reason: string;
652
- /** Format: uuid */
653
- id: string;
654
- /** Format: uuid */
655
- incident_id: string;
656
- message: string;
657
- /** Format: date-time */
658
- occurred_at: string;
659
- /** @enum {string} */
660
- source: "SYSTEM" | "OPERATOR" | "ZABBIX";
661
- subject_display_name: string;
662
- /** @description 被指派 / 被取消关注的那个人 */
663
- subject_user_id: string;
2026
+ requestBody?: never;
2027
+ responses: {
2028
+ /** @description OK */
2029
+ 200: {
2030
+ headers: {
2031
+ [name: string]: unknown;
2032
+ };
2033
+ content: {
2034
+ "application/json": components["schemas"]["IncidentResource"];
2035
+ };
2036
+ };
2037
+ /** @description Error */
2038
+ default: {
2039
+ headers: {
2040
+ [name: string]: unknown;
2041
+ };
2042
+ content: {
2043
+ "application/json": components["schemas"]["Error"];
2044
+ };
2045
+ };
2046
+ };
2047
+ };
2048
+ "acknowledge-incident": {
2049
+ parameters: {
2050
+ query?: never;
2051
+ header?: never;
2052
+ path: {
2053
+ incidentId: string;
2054
+ };
2055
+ cookie?: never;
2056
+ };
2057
+ requestBody: {
2058
+ content: {
2059
+ "application/json": components["schemas"]["AcknowledgeIncidentRequestBody"];
2060
+ };
2061
+ };
2062
+ responses: {
2063
+ /** @description OK */
2064
+ 200: {
2065
+ headers: {
2066
+ [name: string]: unknown;
2067
+ };
2068
+ content: {
2069
+ "application/json": components["schemas"]["IncidentResource"];
2070
+ };
2071
+ };
2072
+ /** @description Error */
2073
+ default: {
2074
+ headers: {
2075
+ [name: string]: unknown;
2076
+ };
2077
+ content: {
2078
+ "application/json": components["schemas"]["Error"];
2079
+ };
2080
+ };
2081
+ };
2082
+ };
2083
+ "assign-incident": {
2084
+ parameters: {
2085
+ query?: never;
2086
+ header?: never;
2087
+ path: {
2088
+ incidentId: string;
2089
+ };
2090
+ cookie?: never;
2091
+ };
2092
+ requestBody: {
2093
+ content: {
2094
+ "application/json": components["schemas"]["AssignIncidentRequestBody"];
2095
+ };
2096
+ };
2097
+ responses: {
2098
+ /** @description OK */
2099
+ 200: {
2100
+ headers: {
2101
+ [name: string]: unknown;
2102
+ };
2103
+ content: {
2104
+ "application/json": components["schemas"]["IncidentResource"];
2105
+ };
2106
+ };
2107
+ /** @description Error */
2108
+ default: {
2109
+ headers: {
2110
+ [name: string]: unknown;
2111
+ };
2112
+ content: {
2113
+ "application/json": components["schemas"]["Error"];
2114
+ };
2115
+ };
2116
+ };
2117
+ };
2118
+ "close-incident": {
2119
+ parameters: {
2120
+ query?: never;
2121
+ header?: never;
2122
+ path: {
2123
+ incidentId: string;
2124
+ };
2125
+ cookie?: never;
2126
+ };
2127
+ requestBody: {
2128
+ content: {
2129
+ "application/json": components["schemas"]["CloseIncidentRequestBody"];
2130
+ };
2131
+ };
2132
+ responses: {
2133
+ /** @description OK */
2134
+ 200: {
2135
+ headers: {
2136
+ [name: string]: unknown;
2137
+ };
2138
+ content: {
2139
+ "application/json": components["schemas"]["IncidentResource"];
2140
+ };
2141
+ };
2142
+ /** @description Error */
2143
+ default: {
2144
+ headers: {
2145
+ [name: string]: unknown;
2146
+ };
2147
+ content: {
2148
+ "application/json": components["schemas"]["Error"];
2149
+ };
2150
+ };
2151
+ };
2152
+ };
2153
+ "add-incident-comment": {
2154
+ parameters: {
2155
+ query?: never;
2156
+ header?: never;
2157
+ path: {
2158
+ incidentId: string;
2159
+ };
2160
+ cookie?: never;
664
2161
  };
665
- SetFollowingRequestBody: {
666
- following: boolean;
2162
+ requestBody: {
2163
+ content: {
2164
+ "application/json": components["schemas"]["AddCommentRequestBody"];
2165
+ };
667
2166
  };
668
- CursorPageIncidentActivityResource: {
669
- /** @description 这一页的内容 */
670
- items: components["schemas"]["IncidentActivityResource"][];
671
- /** @description 下一页的游标;为空表示已经到底 */
672
- next_cursor: string;
2167
+ responses: {
2168
+ /** @description OK */
2169
+ 200: {
2170
+ headers: {
2171
+ [name: string]: unknown;
2172
+ };
2173
+ content: {
2174
+ "application/json": components["schemas"]["IncidentActivityResource"];
2175
+ };
2176
+ };
2177
+ /** @description Error */
2178
+ default: {
2179
+ headers: {
2180
+ [name: string]: unknown;
2181
+ };
2182
+ content: {
2183
+ "application/json": components["schemas"]["Error"];
2184
+ };
2185
+ };
673
2186
  };
674
- MaintenancePeriodResource: {
675
- /** Format: int64 */
676
- duration_seconds: number;
677
- /**
678
- * Format: int64
679
- * @description DAILY / WEEKLY:每 N 天 / 每 N 周
680
- */
681
- every: number;
682
- /** @enum {string} */
683
- kind: "ONCE" | "DAILY" | "WEEKLY";
684
- /**
685
- * Format: int64
686
- * @description DAILY / WEEKLY:当天零点起的秒数,按窗口自己的时区算
687
- */
688
- start_time_seconds: number;
689
- /**
690
- * Format: date-time
691
- * @description 只有 ONCE 有
692
- */
693
- starts_at: string | null;
694
- /**
695
- * Format: int64
696
- * @description WEEKLY:星期几的位图,**周一是最低位**
697
- */
698
- weekdays: number;
2187
+ };
2188
+ "set-incident-following": {
2189
+ parameters: {
2190
+ query?: never;
2191
+ header?: never;
2192
+ path: {
2193
+ incidentId: string;
2194
+ };
2195
+ cookie?: never;
699
2196
  };
700
- MaintenanceWindowResource: {
701
- /** Format: date-time */
702
- active_since: string;
703
- /** Format: date-time */
704
- active_till: string;
705
- description: string;
706
- last_error: string;
707
- name: string;
708
- period: components["schemas"]["MaintenancePeriodResource"];
709
- /** Format: uuid */
710
- project_id: string;
711
- /** @description 空表示**整个项目** */
712
- server_ids: string[] | null;
713
- /** @enum {string} */
714
- sync_status: "PENDING" | "ACTIVE" | "FAILED" | "EXPIRED";
715
- timezone: string;
716
- /** Format: uuid */
717
- window_id: string;
2197
+ requestBody: {
2198
+ content: {
2199
+ "application/json": components["schemas"]["SetFollowingRequestBody"];
2200
+ };
718
2201
  };
719
- MaintenanceWindowListResponseBody: {
720
- items: components["schemas"]["MaintenanceWindowResource"][] | null;
2202
+ responses: {
2203
+ /** @description OK */
2204
+ 200: {
2205
+ headers: {
2206
+ [name: string]: unknown;
2207
+ };
2208
+ content: {
2209
+ "application/json": components["schemas"]["IncidentResource"];
2210
+ };
2211
+ };
2212
+ /** @description Error */
2213
+ default: {
2214
+ headers: {
2215
+ [name: string]: unknown;
2216
+ };
2217
+ content: {
2218
+ "application/json": components["schemas"]["Error"];
2219
+ };
2220
+ };
721
2221
  };
722
- MaintenancePeriodRequest: {
723
- /** Format: int64 */
724
- duration_seconds?: number;
725
- /**
726
- * Format: int64
727
- * @description DAILY / WEEKLY:每 N 天 / 每 N 周
728
- */
729
- every?: number;
730
- /** @enum {string} */
731
- kind: "ONCE" | "DAILY" | "WEEKLY";
732
- /**
733
- * Format: int64
734
- * @description DAILY / WEEKLY:当天零点起的秒数,按窗口自己的时区算
735
- */
736
- start_time_seconds?: number;
737
- /**
738
- * Format: date-time
739
- * @description 只有 ONCE 用得上
740
- */
741
- starts_at?: string;
742
- /**
743
- * Format: int64
744
- * @description WEEKLY:星期几的位图,**周一是最低位**
745
- */
746
- weekdays?: number;
2222
+ };
2223
+ "reopen-incident": {
2224
+ parameters: {
2225
+ query?: never;
2226
+ header?: never;
2227
+ path: {
2228
+ incidentId: string;
2229
+ };
2230
+ cookie?: never;
747
2231
  };
748
- PutMaintenanceWindowRequestBody: {
749
- /**
750
- * Format: date-time
751
- * @description 整条规则的生效区间起点
752
- */
753
- active_since: string;
754
- /** Format: date-time */
755
- active_till: string;
756
- description?: string;
757
- name: string;
758
- period: components["schemas"]["MaintenancePeriodRequest"];
759
- server_ids?: string[] | null;
760
- /** @description IANA 名字,比如 Asia/Shanghai;空即用部署配的默认 */
761
- timezone?: string;
2232
+ requestBody?: never;
2233
+ responses: {
2234
+ /** @description OK */
2235
+ 200: {
2236
+ headers: {
2237
+ [name: string]: unknown;
2238
+ };
2239
+ content: {
2240
+ "application/json": components["schemas"]["IncidentResource"];
2241
+ };
2242
+ };
2243
+ /** @description Error */
2244
+ default: {
2245
+ headers: {
2246
+ [name: string]: unknown;
2247
+ };
2248
+ content: {
2249
+ "application/json": components["schemas"]["Error"];
2250
+ };
2251
+ };
762
2252
  };
763
- CountResource: {
764
- /** Format: int64 */
765
- count: number;
766
- key: string;
2253
+ };
2254
+ "list-incident-timeline": {
2255
+ parameters: {
2256
+ query?: {
2257
+ limit?: number;
2258
+ /** @description The `next_cursor` returned by the previous page. Empty starts from the beginning */
2259
+ cursor?: string;
2260
+ };
2261
+ header?: never;
2262
+ path: {
2263
+ incidentId: string;
2264
+ };
2265
+ cookie?: never;
767
2266
  };
768
- ProjectOverviewResource: {
769
- /** Format: int64 */
770
- monitored_servers: number;
771
- problem_counts: components["schemas"]["CountResource"][] | null;
772
- reachability_counts: components["schemas"]["CountResource"][] | null;
773
- /** Format: int64 */
774
- total_servers: number;
2267
+ requestBody?: never;
2268
+ responses: {
2269
+ /** @description OK */
2270
+ 200: {
2271
+ headers: {
2272
+ [name: string]: unknown;
2273
+ };
2274
+ content: {
2275
+ "application/json": components["schemas"]["CursorPageIncidentActivityResource"];
2276
+ };
2277
+ };
2278
+ /** @description Error */
2279
+ default: {
2280
+ headers: {
2281
+ [name: string]: unknown;
2282
+ };
2283
+ content: {
2284
+ "application/json": components["schemas"]["Error"];
2285
+ };
2286
+ };
775
2287
  };
776
- ItemResource: {
777
- item_id: string;
778
- key: string;
779
- /** Format: date-time */
780
- last_collected_at: string | null;
781
- last_value: string;
782
- name: string;
783
- tags: components["schemas"]["TagResource"][] | null;
784
- units: string;
785
- /** @enum {string} */
786
- value_type: "FLOAT" | "CHARACTER" | "LOG" | "UNSIGNED" | "TEXT";
2288
+ };
2289
+ "list-maintenance-windows": {
2290
+ parameters: {
2291
+ query?: never;
2292
+ header?: never;
2293
+ path?: never;
2294
+ cookie?: never;
787
2295
  };
788
- ItemListResponseBody: {
789
- items: components["schemas"]["ItemResource"][] | null;
2296
+ requestBody?: never;
2297
+ responses: {
2298
+ /** @description OK */
2299
+ 200: {
2300
+ headers: {
2301
+ [name: string]: unknown;
2302
+ };
2303
+ content: {
2304
+ "application/json": components["schemas"]["MaintenanceWindowListResponseBody"];
2305
+ };
2306
+ };
2307
+ /** @description Error */
2308
+ default: {
2309
+ headers: {
2310
+ [name: string]: unknown;
2311
+ };
2312
+ content: {
2313
+ "application/json": components["schemas"]["Error"];
2314
+ };
2315
+ };
2316
+ };
2317
+ };
2318
+ "get-maintenance-window": {
2319
+ parameters: {
2320
+ query?: never;
2321
+ header?: never;
2322
+ path: {
2323
+ windowId: string;
2324
+ };
2325
+ cookie?: never;
790
2326
  };
791
- MetricPointResource: {
792
- /** Format: double */
793
- max_value: number;
794
- /** Format: double */
795
- min_value: number;
796
- /** Format: date-time */
797
- timestamp: string;
798
- /** Format: double */
799
- value: number;
2327
+ requestBody?: never;
2328
+ responses: {
2329
+ /** @description OK */
2330
+ 200: {
2331
+ headers: {
2332
+ [name: string]: unknown;
2333
+ };
2334
+ content: {
2335
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2336
+ };
2337
+ };
2338
+ /** @description Error */
2339
+ default: {
2340
+ headers: {
2341
+ [name: string]: unknown;
2342
+ };
2343
+ content: {
2344
+ "application/json": components["schemas"]["Error"];
2345
+ };
2346
+ };
800
2347
  };
801
- MetricSeriesResource: {
802
- item_id: string;
803
- item_key: string;
804
- item_name: string;
805
- points: components["schemas"]["MetricPointResource"][] | null;
806
- units: string;
2348
+ };
2349
+ "put-maintenance-window": {
2350
+ parameters: {
2351
+ query?: never;
2352
+ header?: never;
2353
+ path: {
2354
+ windowId: string;
2355
+ };
2356
+ cookie?: never;
807
2357
  };
808
- ItemThresholdResource: {
809
- aggregation_function: string;
810
- /** Format: int64 */
811
- evaluation_window_seconds: number;
812
- item_id: string;
813
- operator: string;
814
- severity: string;
815
- /** Format: double */
816
- threshold: number;
817
- /** @description 图例上说明这条线是什么 */
818
- trigger_name: string;
2358
+ requestBody: {
2359
+ content: {
2360
+ "application/json": components["schemas"]["PutMaintenanceWindowRequestBody"];
2361
+ };
819
2362
  };
820
- MetricResponseBody: {
821
- downsampled: boolean;
822
- /** Format: date-time */
823
- effective_from: string;
824
- /** Format: date-time */
825
- effective_to: string;
826
- /** @description 数据来自趋势表,每个点是一小时的聚合 */
827
- from_trends: boolean;
828
- series: components["schemas"]["MetricSeriesResource"][] | null;
829
- thresholds: components["schemas"]["ItemThresholdResource"][] | null;
830
- truncated: boolean;
2363
+ responses: {
2364
+ /** @description OK */
2365
+ 200: {
2366
+ headers: {
2367
+ [name: string]: unknown;
2368
+ };
2369
+ content: {
2370
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2371
+ };
2372
+ };
2373
+ /** @description Error */
2374
+ default: {
2375
+ headers: {
2376
+ [name: string]: unknown;
2377
+ };
2378
+ content: {
2379
+ "application/json": components["schemas"]["Error"];
2380
+ };
2381
+ };
831
2382
  };
832
- HostInterfaceResource: {
833
- available: boolean;
834
- dns: string;
835
- ip: string;
836
- /** Format: int64 */
837
- port: number;
838
- use_ip: boolean;
2383
+ };
2384
+ "delete-maintenance-window": {
2385
+ parameters: {
2386
+ query?: never;
2387
+ header?: never;
2388
+ path: {
2389
+ windowId: string;
2390
+ };
2391
+ cookie?: never;
839
2392
  };
840
- ServerResourcesResource: {
841
- interfaces: components["schemas"]["HostInterfaceResource"][] | null;
842
- /** @description 自动采集的硬件与系统清单:CPU、内存、操作系统等 */
843
- inventory: {
844
- [key: string]: string;
2393
+ requestBody?: never;
2394
+ responses: {
2395
+ /** @description No Content */
2396
+ 204: {
2397
+ headers: {
2398
+ [name: string]: unknown;
2399
+ };
2400
+ content?: never;
2401
+ };
2402
+ /** @description Error */
2403
+ default: {
2404
+ headers: {
2405
+ [name: string]: unknown;
2406
+ };
2407
+ content: {
2408
+ "application/json": components["schemas"]["Error"];
2409
+ };
845
2410
  };
846
- tags: components["schemas"]["TagResource"][] | null;
847
2411
  };
848
- SnapshotResource: {
849
- agent_error: string;
850
- /**
851
- * @description AGENT_DOWN 是 agent 不通但机器还活着;UNREACHABLE 是连这一点都说不上
852
- * @enum {string}
853
- */
854
- agent_reachability: "UNKNOWN" | "REACHABLE" | "AGENT_DOWN" | "UNREACHABLE";
855
- /** Format: date-time */
856
- last_collected_at: string | null;
857
- monitoring_enabled: boolean;
858
- problem_counts: components["schemas"]["CountResource"][] | null;
2412
+ };
2413
+ "get-project-overview": {
2414
+ parameters: {
2415
+ query?: never;
2416
+ header?: never;
2417
+ path?: never;
2418
+ cookie?: never;
859
2419
  };
860
- TopItemResource: {
861
- item_key: string;
862
- /** Format: uuid */
863
- server_id: string;
864
- units: string;
865
- /** Format: double */
866
- value: number;
2420
+ requestBody?: never;
2421
+ responses: {
2422
+ /** @description OK */
2423
+ 200: {
2424
+ headers: {
2425
+ [name: string]: unknown;
2426
+ };
2427
+ content: {
2428
+ "application/json": components["schemas"]["ProjectOverviewResource"];
2429
+ };
2430
+ };
2431
+ /** @description Error */
2432
+ default: {
2433
+ headers: {
2434
+ [name: string]: unknown;
2435
+ };
2436
+ content: {
2437
+ "application/json": components["schemas"]["Error"];
2438
+ };
2439
+ };
867
2440
  };
868
- TopItemListResponseBody: {
869
- items: components["schemas"]["TopItemResource"][] | null;
2441
+ };
2442
+ "list-server-items": {
2443
+ parameters: {
2444
+ query?: {
2445
+ /** @description Fuzzy match on key or name */
2446
+ keyword?: string;
2447
+ /** @description Given as `key` or `key=value`, repeatable. The `component` tags applied by the official templates (cpu, memory, filesystem and so on) are filtered through this */
2448
+ tag?: string[] | null;
2449
+ };
2450
+ header?: never;
2451
+ path: {
2452
+ serverId: string;
2453
+ };
2454
+ cookie?: never;
870
2455
  };
871
- ServerTemplateResource: {
872
- configured_secret_parameters: string[] | null;
873
- parameters: {
874
- [key: string]: string;
2456
+ requestBody?: never;
2457
+ responses: {
2458
+ /** @description OK */
2459
+ 200: {
2460
+ headers: {
2461
+ [name: string]: unknown;
2462
+ };
2463
+ content: {
2464
+ "application/json": components["schemas"]["ItemListResponseBody"];
2465
+ };
2466
+ };
2467
+ /** @description Error */
2468
+ default: {
2469
+ headers: {
2470
+ [name: string]: unknown;
2471
+ };
2472
+ content: {
2473
+ "application/json": components["schemas"]["Error"];
2474
+ };
875
2475
  };
876
- template_key: string;
877
- zabbix_template_id: string;
878
- zabbix_template_name: string;
879
2476
  };
880
- ServerResource: {
881
- address: string;
882
- /** @enum {string} */
883
- address_kind: "ip" | "dns";
884
- /** @enum {string} */
885
- agent_mode: "PASSIVE" | "ACTIVE";
886
- /** Format: int64 */
887
- agent_port: number;
888
- /** Format: date-time */
889
- created_at: string;
890
- description: string;
891
- /** Format: uuid */
892
- id: string;
893
- last_error: string;
894
- /**
895
- * @description FAILED 时看 last_error
896
- * @enum {string}
897
- */
898
- monitoring_status: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
899
- name: string;
900
- /** Format: uuid */
901
- project_id: string;
902
- templates: components["schemas"]["ServerTemplateResource"][] | null;
903
- /** Format: date-time */
904
- updated_at: string;
905
- /** @description agent 配置里的 Hostname 必须与它一致,主动式采集靠它认人 */
906
- zabbix_host_name: string;
2477
+ };
2478
+ "get-server-metric": {
2479
+ parameters: {
2480
+ query?: {
2481
+ /** @description **Prefix match**: `vfs.fs.size` returns one series per mount point. Supply this or `item_id` */
2482
+ item_key?: string;
2483
+ item_id?: string;
2484
+ /** @description Defaults to one hour ago */
2485
+ from?: string;
2486
+ to?: string;
2487
+ /** @description Number of downsampling buckets. 0 returns the collected data points unchanged */
2488
+ max_points?: number;
2489
+ /** @description Also return the thresholds currently in effect for these items */
2490
+ include_thresholds?: boolean;
2491
+ };
2492
+ header?: never;
2493
+ path: {
2494
+ serverId: string;
2495
+ };
2496
+ cookie?: never;
2497
+ };
2498
+ requestBody?: never;
2499
+ responses: {
2500
+ /** @description OK */
2501
+ 200: {
2502
+ headers: {
2503
+ [name: string]: unknown;
2504
+ };
2505
+ content: {
2506
+ "application/json": components["schemas"]["MetricResponseBody"];
2507
+ };
2508
+ };
2509
+ /** @description Error */
2510
+ default: {
2511
+ headers: {
2512
+ [name: string]: unknown;
2513
+ };
2514
+ content: {
2515
+ "application/json": components["schemas"]["Error"];
2516
+ };
2517
+ };
907
2518
  };
908
- LengthAwarePageServerResource: {
909
- /** @description 这一页的内容 */
910
- items: components["schemas"]["ServerResource"][];
911
- /**
912
- * Format: int64
913
- * @description 这一页最多几条,回显请求里的值
914
- */
915
- limit: number;
916
- /**
917
- * Format: int64
918
- * @description 跳过了多少条,回显请求里的值
919
- */
920
- offset: number;
921
- /**
922
- * Format: int64
923
- * @description 命中的总条数,不只是这一页
924
- */
925
- total: number;
2519
+ };
2520
+ "get-server-resources": {
2521
+ parameters: {
2522
+ query?: never;
2523
+ header?: never;
2524
+ path: {
2525
+ serverId: string;
2526
+ };
2527
+ cookie?: never;
926
2528
  };
927
- TemplateBindingRequest: {
928
- /** @description 模板自己声明的参数,密钥参数写明文,返回时只报名字 */
929
- parameters?: {
930
- [key: string]: string;
2529
+ requestBody?: never;
2530
+ responses: {
2531
+ /** @description OK */
2532
+ 200: {
2533
+ headers: {
2534
+ [name: string]: unknown;
2535
+ };
2536
+ content: {
2537
+ "application/json": components["schemas"]["ServerResourcesResource"];
2538
+ };
2539
+ };
2540
+ /** @description Error */
2541
+ default: {
2542
+ headers: {
2543
+ [name: string]: unknown;
2544
+ };
2545
+ content: {
2546
+ "application/json": components["schemas"]["Error"];
2547
+ };
931
2548
  };
932
- /** @enum {string} */
933
- template_key: "LINUX" | "SYSTEMD" | "DOCKER" | "ICMP_PING" | "NGINX" | "PHP_FPM" | "WEBSITE_CERTIFICATE" | "WINDOWS" | "SMART" | "NVIDIA" | "PROXMOX_VE";
934
2549
  };
935
- EnableMonitoringRequestBody: {
936
- address: string;
937
- /** @enum {string} */
938
- address_kind: "ip" | "dns";
939
- /**
940
- * @description 空即被动式:它对 agent 侧配置要求最少
941
- * @enum {string}
942
- */
943
- agent_mode?: "PASSIVE" | "ACTIVE";
944
- /**
945
- * Format: int64
946
- * @description 0 表示用默认的 10050
947
- */
948
- agent_port?: number;
949
- description?: string;
950
- name: string;
951
- template_bindings?: components["schemas"]["TemplateBindingRequest"][] | null;
2550
+ };
2551
+ "get-server-snapshot": {
2552
+ parameters: {
2553
+ query?: never;
2554
+ header?: never;
2555
+ path: {
2556
+ serverId: string;
2557
+ };
2558
+ cookie?: never;
952
2559
  };
953
- EnrollmentResource: {
954
- /** @description 含 PSK,与 tls_psk 一样只出现这一次 */
955
- install_command: string;
956
- install_script_url: string;
957
- /** @description **只出现这一次** */
958
- tls_psk: string;
959
- tls_psk_identity: string;
960
- zabbix_host_name: string;
961
- /** @description agent 配置里的 Server / ServerActive */
962
- zabbix_server_address: string;
2560
+ requestBody?: never;
2561
+ responses: {
2562
+ /** @description OK */
2563
+ 200: {
2564
+ headers: {
2565
+ [name: string]: unknown;
2566
+ };
2567
+ content: {
2568
+ "application/json": components["schemas"]["SnapshotResource"];
2569
+ };
2570
+ };
2571
+ /** @description Error */
2572
+ default: {
2573
+ headers: {
2574
+ [name: string]: unknown;
2575
+ };
2576
+ content: {
2577
+ "application/json": components["schemas"]["Error"];
2578
+ };
2579
+ };
963
2580
  };
964
- ServerEnrollmentResponseBody: {
965
- enrollment: components["schemas"]["EnrollmentResource"];
966
- server: components["schemas"]["ServerResource"];
2581
+ };
2582
+ "list-project-top-items": {
2583
+ parameters: {
2584
+ query: {
2585
+ kind: "CPU_UTILIZATION" | "MEMORY_UTILIZATION" | "ROOT_FILESYSTEM_USED";
2586
+ /** @description 0 uses the default */
2587
+ limit?: number;
2588
+ };
2589
+ header?: never;
2590
+ path?: never;
2591
+ cookie?: never;
967
2592
  };
968
- UpdateServerRequestBody: {
969
- address?: string;
970
- /**
971
- * @description 要改地址就必须和 address 一起给
972
- * @enum {string}
973
- */
974
- address_kind?: "ip" | "dns";
975
- /**
976
- * @description 改采集模式会把全部模板换成另一个变体
977
- * @enum {string}
978
- */
979
- agent_mode?: "PASSIVE" | "ACTIVE";
980
- /** Format: int64 */
981
- agent_port?: number;
982
- description?: string;
983
- name?: string;
984
- template_bindings?: components["schemas"]["TemplateBindingRequest"][];
2593
+ requestBody?: never;
2594
+ responses: {
2595
+ /** @description OK */
2596
+ 200: {
2597
+ headers: {
2598
+ [name: string]: unknown;
2599
+ };
2600
+ content: {
2601
+ "application/json": components["schemas"]["TopItemListResponseBody"];
2602
+ };
2603
+ };
2604
+ /** @description Error */
2605
+ default: {
2606
+ headers: {
2607
+ [name: string]: unknown;
2608
+ };
2609
+ content: {
2610
+ "application/json": components["schemas"]["Error"];
2611
+ };
2612
+ };
985
2613
  };
986
- WebCheckResultResource: {
987
- /** Format: date-time */
988
- checked_at: string;
989
- error: string;
990
- /**
991
- * Format: int64
992
- * @description 第几步失败的,从 1 数;healthy 时为 0
993
- */
994
- failed_step: number;
995
- healthy: boolean;
996
- /** Format: int64 */
997
- response_code: number;
998
- /** Format: double */
999
- response_time_seconds: number;
2614
+ };
2615
+ "list-servers": {
2616
+ parameters: {
2617
+ query?: {
2618
+ /** @description Maximum number of records in this page */
2619
+ limit?: number;
2620
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
2621
+ offset?: number;
2622
+ /** @description Fuzzy match on name or address */
2623
+ keyword?: string;
2624
+ monitoring_status?: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
2625
+ };
2626
+ header?: never;
2627
+ path?: never;
2628
+ cookie?: never;
1000
2629
  };
1001
- WebCheckStepResource: {
1002
- /** @description 状态码表达式,比如 200 或者 200,301-302 */
1003
- expected_status_codes: string;
1004
- follow_redirects: boolean;
1005
- name: string;
1006
- required_pattern: string;
1007
- url: string;
2630
+ requestBody?: never;
2631
+ responses: {
2632
+ /** @description OK */
2633
+ 200: {
2634
+ headers: {
2635
+ [name: string]: unknown;
2636
+ };
2637
+ content: {
2638
+ "application/json": components["schemas"]["LengthAwarePageServerResource"];
2639
+ };
2640
+ };
2641
+ /** @description Error */
2642
+ default: {
2643
+ headers: {
2644
+ [name: string]: unknown;
2645
+ };
2646
+ content: {
2647
+ "application/json": components["schemas"]["Error"];
2648
+ };
2649
+ };
1008
2650
  };
1009
- WebCheckResource: {
1010
- /** Format: uuid */
1011
- check_id: string;
1012
- /** Format: int64 */
1013
- interval_seconds: number;
1014
- last_error: string;
1015
- /** Format: int64 */
1016
- response_time_threshold_seconds: number;
1017
- /** @description null 表示这个检查还一轮都没跑过。零值会把「还不知道」显示成「响应 0 秒、状态码 0」 */
1018
- result: components["schemas"]["WebCheckResultResource"] | null;
1019
- /** Format: int64 */
1020
- retries: number;
1021
- /** Format: uuid */
1022
- server_id: string;
1023
- steps: components["schemas"]["WebCheckStepResource"][] | null;
1024
- /** @enum {string} */
1025
- sync_status: "PENDING" | "ACTIVE" | "FAILED";
1026
- /** Format: int64 */
1027
- timeout_seconds: number;
2651
+ };
2652
+ "get-server": {
2653
+ parameters: {
2654
+ query?: never;
2655
+ header?: never;
2656
+ path: {
2657
+ serverId: string;
2658
+ };
2659
+ cookie?: never;
1028
2660
  };
1029
- WebCheckStepRequest: {
1030
- /** @description 状态码表达式,比如 200 或者 200,301-302;留空表示不检查状态码 */
1031
- expected_status_codes?: string;
1032
- follow_redirects?: boolean;
1033
- name: string;
1034
- /** @description 响应体里必须出现的字符串 */
1035
- required_pattern?: string;
1036
- url: string;
2661
+ requestBody?: never;
2662
+ responses: {
2663
+ /** @description OK */
2664
+ 200: {
2665
+ headers: {
2666
+ [name: string]: unknown;
2667
+ };
2668
+ content: {
2669
+ "application/json": components["schemas"]["ServerResource"];
2670
+ };
2671
+ };
2672
+ /** @description Error */
2673
+ default: {
2674
+ headers: {
2675
+ [name: string]: unknown;
2676
+ };
2677
+ content: {
2678
+ "application/json": components["schemas"]["Error"];
2679
+ };
2680
+ };
1037
2681
  };
1038
- PutWebCheckRequestBody: {
1039
- /**
1040
- * Format: int64
1041
- * @description 0 表示用默认
1042
- */
1043
- interval_seconds?: number;
1044
- /**
1045
- * Format: int64
1046
- * @description 超过它算慢,0 表示不看响应时间
1047
- */
1048
- response_time_threshold_seconds?: number;
1049
- /** Format: int64 */
1050
- retries?: number;
1051
- steps: components["schemas"]["WebCheckStepRequest"][] | null;
1052
- /** Format: int64 */
1053
- timeout_seconds?: number;
2682
+ };
2683
+ "enable-server-monitoring": {
2684
+ parameters: {
2685
+ query?: never;
2686
+ header?: never;
2687
+ path: {
2688
+ serverId: string;
2689
+ };
2690
+ cookie?: never;
1054
2691
  };
1055
- WebCheckListResponseBody: {
1056
- items: components["schemas"]["WebCheckResource"][] | null;
2692
+ requestBody: {
2693
+ content: {
2694
+ "application/json": components["schemas"]["EnableMonitoringRequestBody"];
2695
+ };
1057
2696
  };
1058
- SLIReportRowResource: {
1059
- /** Format: int64 */
1060
- downtime_seconds: number;
1061
- /**
1062
- * Format: int64
1063
- * @description 为负表示这个周期的额度已经超支
1064
- */
1065
- error_budget_seconds: number;
1066
- /**
1067
- * Format: int64
1068
- * @description 被计划内维护排除掉的那部分
1069
- */
1070
- excluded_downtime_seconds: number;
1071
- /** Format: date-time */
1072
- period_from: string;
1073
- /** Format: date-time */
1074
- period_to: string;
1075
- /** @description 空表示这一行是项目整体 */
1076
- server_id: string;
1077
- /** Format: double */
1078
- sli_percent: number;
1079
- /** Format: int64 */
1080
- uptime_seconds: number;
2697
+ responses: {
2698
+ /** @description OK */
2699
+ 200: {
2700
+ headers: {
2701
+ [name: string]: unknown;
2702
+ };
2703
+ content: {
2704
+ "application/json": components["schemas"]["ServerEnrollmentResponseBody"];
2705
+ };
2706
+ };
2707
+ /** @description Error */
2708
+ default: {
2709
+ headers: {
2710
+ [name: string]: unknown;
2711
+ };
2712
+ content: {
2713
+ "application/json": components["schemas"]["Error"];
2714
+ };
2715
+ };
1081
2716
  };
1082
- SLIReportResponseBody: {
1083
- rows: components["schemas"]["SLIReportRowResource"][] | null;
2717
+ };
2718
+ "delete-server": {
2719
+ parameters: {
2720
+ query?: never;
2721
+ header?: never;
2722
+ path: {
2723
+ serverId: string;
2724
+ };
2725
+ cookie?: never;
1084
2726
  };
1085
- ScheduleWindowResource: {
1086
- /** Format: int64 */
1087
- end_time_seconds: number;
1088
- /** Format: int64 */
1089
- start_time_seconds: number;
1090
- /**
1091
- * Format: int64
1092
- * @description 星期几的位图,**周一是最低位**,与维护窗口同一套编码
1093
- */
1094
- weekdays: number;
2727
+ requestBody?: never;
2728
+ responses: {
2729
+ /** @description No Content */
2730
+ 204: {
2731
+ headers: {
2732
+ [name: string]: unknown;
2733
+ };
2734
+ content?: never;
2735
+ };
2736
+ /** @description Error */
2737
+ default: {
2738
+ headers: {
2739
+ [name: string]: unknown;
2740
+ };
2741
+ content: {
2742
+ "application/json": components["schemas"]["Error"];
2743
+ };
2744
+ };
1095
2745
  };
1096
- SLOResource: {
1097
- /** Format: date-time */
1098
- effective_from: string;
1099
- last_error: string;
1100
- /** @enum {string} */
1101
- min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1102
- name: string;
1103
- /** @enum {string} */
1104
- period: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1105
- /** Format: uuid */
1106
- project_id: string;
1107
- /** @description 空表示 7×24 全天候承诺 */
1108
- schedule: components["schemas"]["ScheduleWindowResource"][] | null;
1109
- /** Format: uuid */
1110
- slo_id: string;
1111
- /**
1112
- * Format: double
1113
- * @description 目标可用率,比如 99.9
1114
- */
1115
- slo_percent: number;
1116
- /** @enum {string} */
1117
- sync_status: "PENDING" | "ACTIVE" | "FAILED";
1118
- timezone: string;
2746
+ };
2747
+ "update-server": {
2748
+ parameters: {
2749
+ query?: never;
2750
+ header?: never;
2751
+ path: {
2752
+ serverId: string;
2753
+ };
2754
+ cookie?: never;
1119
2755
  };
1120
- ScheduleWindowRequest: {
1121
- /** Format: int64 */
1122
- end_time_seconds?: number;
1123
- /** Format: int64 */
1124
- start_time_seconds?: number;
1125
- /**
1126
- * Format: int64
1127
- * @description 星期几的位图,**周一是最低位**(1=周一 … 64=周日)
1128
- */
1129
- weekdays: number;
2756
+ requestBody: {
2757
+ content: {
2758
+ "application/json": components["schemas"]["UpdateServerRequestBody"];
2759
+ };
1130
2760
  };
1131
- PutSLORequestBody: {
1132
- /** Format: date-time */
1133
- effective_from?: string;
1134
- /** @enum {string} */
1135
- min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1136
- name: string;
1137
- /**
1138
- * @description 空即按月
1139
- * @enum {string}
1140
- */
1141
- period?: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1142
- schedule?: components["schemas"]["ScheduleWindowRequest"][] | null;
1143
- /** Format: uuid */
1144
- slo_id: string;
1145
- /**
1146
- * Format: double
1147
- * @description 目标可用率,比如 99.9;最多四位小数
1148
- */
1149
- slo_percent: number;
1150
- /** @description 决定统计周期的边界,即每个周期从哪一刻开始 */
1151
- timezone?: string;
2761
+ responses: {
2762
+ /** @description OK */
2763
+ 200: {
2764
+ headers: {
2765
+ [name: string]: unknown;
2766
+ };
2767
+ content: {
2768
+ "application/json": components["schemas"]["ServerResource"];
2769
+ };
2770
+ };
2771
+ /** @description Error */
2772
+ default: {
2773
+ headers: {
2774
+ [name: string]: unknown;
2775
+ };
2776
+ content: {
2777
+ "application/json": components["schemas"]["Error"];
2778
+ };
2779
+ };
1152
2780
  };
1153
2781
  };
1154
- responses: never;
1155
- parameters: never;
1156
- requestBodies: never;
1157
- headers: never;
1158
- pathItems: never;
1159
- }
1160
- export type $defs = Record<string, never>;
1161
- export interface operations {
1162
- "list-incidents": {
2782
+ "disable-server-monitoring": {
1163
2783
  parameters: {
1164
- query?: {
1165
- /** @description 这一页最多返回多少条 */
1166
- limit?: number;
1167
- /** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
1168
- offset?: number;
1169
- /** @description 只看某一台机器的 */
1170
- server_id?: string;
1171
- incident_status?: "PROBLEM" | "RESOLVED";
1172
- /** @description 按不低于该等级匹配,而非精确匹配 */
1173
- min_severity?: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1174
- started_after?: string;
1175
- started_before?: string;
1176
- /** @description 与 [active_from, active_to] **有交集**的告警,给指标图叠加故障区间要的是这个 */
1177
- active_from?: string;
1178
- active_to?: string;
1179
- /** @description 形如 key 或 key=value,可重复;多个标签之间是与关系 */
1180
- tag?: string[] | null;
1181
- assignee_user_id?: string;
1182
- /** @description 有没有人在这边把它处理完,与 incident_status 无关 */
1183
- closed?: "true" | "false";
1184
- acknowledged?: "true" | "false";
1185
- unassigned?: "true" | "false";
1186
- keyword?: string;
2784
+ query?: never;
2785
+ header?: never;
2786
+ path: {
2787
+ serverId: string;
2788
+ };
2789
+ cookie?: never;
2790
+ };
2791
+ requestBody?: never;
2792
+ responses: {
2793
+ /** @description No Content */
2794
+ 204: {
2795
+ headers: {
2796
+ [name: string]: unknown;
2797
+ };
2798
+ content?: never;
2799
+ };
2800
+ /** @description Error */
2801
+ default: {
2802
+ headers: {
2803
+ [name: string]: unknown;
2804
+ };
2805
+ content: {
2806
+ "application/json": components["schemas"]["Error"];
2807
+ };
1187
2808
  };
2809
+ };
2810
+ };
2811
+ "rotate-agent-psk": {
2812
+ parameters: {
2813
+ query?: never;
1188
2814
  header?: never;
1189
- path?: never;
2815
+ path: {
2816
+ serverId: string;
2817
+ };
1190
2818
  cookie?: never;
1191
2819
  };
1192
2820
  requestBody?: never;
@@ -1197,7 +2825,7 @@ export interface operations {
1197
2825
  [name: string]: unknown;
1198
2826
  };
1199
2827
  content: {
1200
- "application/json": components["schemas"]["LengthAwarePageIncidentResource"];
2828
+ "application/json": components["schemas"]["EnrollmentResource"];
1201
2829
  };
1202
2830
  };
1203
2831
  /** @description Error */
@@ -1211,12 +2839,13 @@ export interface operations {
1211
2839
  };
1212
2840
  };
1213
2841
  };
1214
- "get-incident": {
2842
+ "get-web-check": {
1215
2843
  parameters: {
1216
2844
  query?: never;
1217
2845
  header?: never;
1218
2846
  path: {
1219
- incidentId: string;
2847
+ serverId: string;
2848
+ checkId: string;
1220
2849
  };
1221
2850
  cookie?: never;
1222
2851
  };
@@ -1228,7 +2857,7 @@ export interface operations {
1228
2857
  [name: string]: unknown;
1229
2858
  };
1230
2859
  content: {
1231
- "application/json": components["schemas"]["IncidentResource"];
2860
+ "application/json": components["schemas"]["WebCheckResource"];
1232
2861
  };
1233
2862
  };
1234
2863
  /** @description Error */
@@ -1242,18 +2871,19 @@ export interface operations {
1242
2871
  };
1243
2872
  };
1244
2873
  };
1245
- "acknowledge-incident": {
2874
+ "put-web-check": {
1246
2875
  parameters: {
1247
2876
  query?: never;
1248
2877
  header?: never;
1249
2878
  path: {
1250
- incidentId: string;
2879
+ serverId: string;
2880
+ checkId: string;
1251
2881
  };
1252
2882
  cookie?: never;
1253
2883
  };
1254
2884
  requestBody: {
1255
2885
  content: {
1256
- "application/json": components["schemas"]["AcknowledgeIncidentRequestBody"];
2886
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
1257
2887
  };
1258
2888
  };
1259
2889
  responses: {
@@ -1263,7 +2893,7 @@ export interface operations {
1263
2893
  [name: string]: unknown;
1264
2894
  };
1265
2895
  content: {
1266
- "application/json": components["schemas"]["IncidentResource"];
2896
+ "application/json": components["schemas"]["WebCheckResource"];
1267
2897
  };
1268
2898
  };
1269
2899
  /** @description Error */
@@ -1277,20 +2907,47 @@ export interface operations {
1277
2907
  };
1278
2908
  };
1279
2909
  };
1280
- "assign-incident": {
2910
+ "delete-web-check": {
1281
2911
  parameters: {
1282
2912
  query?: never;
1283
2913
  header?: never;
1284
2914
  path: {
1285
- incidentId: string;
2915
+ serverId: string;
2916
+ checkId: string;
1286
2917
  };
1287
2918
  cookie?: never;
1288
2919
  };
1289
- requestBody: {
1290
- content: {
1291
- "application/json": components["schemas"]["AssignIncidentRequestBody"];
2920
+ requestBody?: never;
2921
+ responses: {
2922
+ /** @description No Content */
2923
+ 204: {
2924
+ headers: {
2925
+ [name: string]: unknown;
2926
+ };
2927
+ content?: never;
2928
+ };
2929
+ /** @description Error */
2930
+ default: {
2931
+ headers: {
2932
+ [name: string]: unknown;
2933
+ };
2934
+ content: {
2935
+ "application/json": components["schemas"]["Error"];
2936
+ };
2937
+ };
2938
+ };
2939
+ };
2940
+ "list-web-checks": {
2941
+ parameters: {
2942
+ query?: {
2943
+ /** @description Restrict to the checks of a single machine. Omit for the whole project */
2944
+ server_id?: string;
1292
2945
  };
2946
+ header?: never;
2947
+ path?: never;
2948
+ cookie?: never;
1293
2949
  };
2950
+ requestBody?: never;
1294
2951
  responses: {
1295
2952
  /** @description OK */
1296
2953
  200: {
@@ -1298,7 +2955,7 @@ export interface operations {
1298
2955
  [name: string]: unknown;
1299
2956
  };
1300
2957
  content: {
1301
- "application/json": components["schemas"]["IncidentResource"];
2958
+ "application/json": components["schemas"]["WebCheckListResponseBody"];
1302
2959
  };
1303
2960
  };
1304
2961
  /** @description Error */
@@ -1312,18 +2969,79 @@ export interface operations {
1312
2969
  };
1313
2970
  };
1314
2971
  };
1315
- "close-incident": {
2972
+ "get-sli-report": {
2973
+ parameters: {
2974
+ query?: {
2975
+ from?: string;
2976
+ to?: string;
2977
+ /** @description Return the most recent N complete periods. Use this or from/to, not both */
2978
+ periods?: number;
2979
+ };
2980
+ header?: never;
2981
+ path?: never;
2982
+ cookie?: never;
2983
+ };
2984
+ requestBody?: never;
2985
+ responses: {
2986
+ /** @description OK */
2987
+ 200: {
2988
+ headers: {
2989
+ [name: string]: unknown;
2990
+ };
2991
+ content: {
2992
+ "application/json": components["schemas"]["SLIReportResponseBody"];
2993
+ };
2994
+ };
2995
+ /** @description Error */
2996
+ default: {
2997
+ headers: {
2998
+ [name: string]: unknown;
2999
+ };
3000
+ content: {
3001
+ "application/json": components["schemas"]["Error"];
3002
+ };
3003
+ };
3004
+ };
3005
+ };
3006
+ "get-slo": {
1316
3007
  parameters: {
1317
3008
  query?: never;
1318
3009
  header?: never;
1319
- path: {
1320
- incidentId: string;
3010
+ path?: never;
3011
+ cookie?: never;
3012
+ };
3013
+ requestBody?: never;
3014
+ responses: {
3015
+ /** @description OK */
3016
+ 200: {
3017
+ headers: {
3018
+ [name: string]: unknown;
3019
+ };
3020
+ content: {
3021
+ "application/json": components["schemas"]["SLOResource"];
3022
+ };
3023
+ };
3024
+ /** @description Error */
3025
+ default: {
3026
+ headers: {
3027
+ [name: string]: unknown;
3028
+ };
3029
+ content: {
3030
+ "application/json": components["schemas"]["Error"];
3031
+ };
1321
3032
  };
3033
+ };
3034
+ };
3035
+ "put-slo": {
3036
+ parameters: {
3037
+ query?: never;
3038
+ header?: never;
3039
+ path?: never;
1322
3040
  cookie?: never;
1323
3041
  };
1324
3042
  requestBody: {
1325
3043
  content: {
1326
- "application/json": components["schemas"]["CloseIncidentRequestBody"];
3044
+ "application/json": components["schemas"]["PutSLORequestBody"];
1327
3045
  };
1328
3046
  };
1329
3047
  responses: {
@@ -1333,7 +3051,7 @@ export interface operations {
1333
3051
  [name: string]: unknown;
1334
3052
  };
1335
3053
  content: {
1336
- "application/json": components["schemas"]["IncidentResource"];
3054
+ "application/json": components["schemas"]["SLOResource"];
1337
3055
  };
1338
3056
  };
1339
3057
  /** @description Error */
@@ -1347,20 +3065,41 @@ export interface operations {
1347
3065
  };
1348
3066
  };
1349
3067
  };
1350
- "add-incident-comment": {
3068
+ "delete-slo": {
1351
3069
  parameters: {
1352
3070
  query?: never;
1353
3071
  header?: never;
1354
- path: {
1355
- incidentId: string;
1356
- };
3072
+ path?: never;
1357
3073
  cookie?: never;
1358
3074
  };
1359
- requestBody: {
1360
- content: {
1361
- "application/json": components["schemas"]["AddCommentRequestBody"];
3075
+ requestBody?: never;
3076
+ responses: {
3077
+ /** @description No Content */
3078
+ 204: {
3079
+ headers: {
3080
+ [name: string]: unknown;
3081
+ };
3082
+ content?: never;
1362
3083
  };
3084
+ /** @description Error */
3085
+ default: {
3086
+ headers: {
3087
+ [name: string]: unknown;
3088
+ };
3089
+ content: {
3090
+ "application/json": components["schemas"]["Error"];
3091
+ };
3092
+ };
3093
+ };
3094
+ };
3095
+ "get-status-page": {
3096
+ parameters: {
3097
+ query?: never;
3098
+ header?: never;
3099
+ path?: never;
3100
+ cookie?: never;
1363
3101
  };
3102
+ requestBody?: never;
1364
3103
  responses: {
1365
3104
  /** @description OK */
1366
3105
  200: {
@@ -1368,7 +3107,7 @@ export interface operations {
1368
3107
  [name: string]: unknown;
1369
3108
  };
1370
3109
  content: {
1371
- "application/json": components["schemas"]["IncidentActivityResource"];
3110
+ "application/json": components["schemas"]["StatusPageResource"];
1372
3111
  };
1373
3112
  };
1374
3113
  /** @description Error */
@@ -1382,18 +3121,16 @@ export interface operations {
1382
3121
  };
1383
3122
  };
1384
3123
  };
1385
- "set-incident-following": {
3124
+ "put-status-page": {
1386
3125
  parameters: {
1387
3126
  query?: never;
1388
3127
  header?: never;
1389
- path: {
1390
- incidentId: string;
1391
- };
3128
+ path?: never;
1392
3129
  cookie?: never;
1393
3130
  };
1394
3131
  requestBody: {
1395
3132
  content: {
1396
- "application/json": components["schemas"]["SetFollowingRequestBody"];
3133
+ "application/json": components["schemas"]["PutStatusPageRequestBody"];
1397
3134
  };
1398
3135
  };
1399
3136
  responses: {
@@ -1403,7 +3140,7 @@ export interface operations {
1403
3140
  [name: string]: unknown;
1404
3141
  };
1405
3142
  content: {
1406
- "application/json": components["schemas"]["IncidentResource"];
3143
+ "application/json": components["schemas"]["StatusPageResource"];
1407
3144
  };
1408
3145
  };
1409
3146
  /** @description Error */
@@ -1417,13 +3154,69 @@ export interface operations {
1417
3154
  };
1418
3155
  };
1419
3156
  };
1420
- "reopen-incident": {
3157
+ "delete-status-page": {
1421
3158
  parameters: {
1422
3159
  query?: never;
1423
3160
  header?: never;
1424
- path: {
1425
- incidentId: string;
3161
+ path?: never;
3162
+ cookie?: never;
3163
+ };
3164
+ requestBody?: never;
3165
+ responses: {
3166
+ /** @description No Content */
3167
+ 204: {
3168
+ headers: {
3169
+ [name: string]: unknown;
3170
+ };
3171
+ content?: never;
3172
+ };
3173
+ /** @description Error */
3174
+ default: {
3175
+ headers: {
3176
+ [name: string]: unknown;
3177
+ };
3178
+ content: {
3179
+ "application/json": components["schemas"]["Error"];
3180
+ };
1426
3181
  };
3182
+ };
3183
+ };
3184
+ "put-status-page-order": {
3185
+ parameters: {
3186
+ query?: never;
3187
+ header?: never;
3188
+ path?: never;
3189
+ cookie?: never;
3190
+ };
3191
+ requestBody: {
3192
+ content: {
3193
+ "application/json": components["schemas"]["PutStatusPageOrderRequestBody"];
3194
+ };
3195
+ };
3196
+ responses: {
3197
+ /** @description No Content */
3198
+ 204: {
3199
+ headers: {
3200
+ [name: string]: unknown;
3201
+ };
3202
+ content?: never;
3203
+ };
3204
+ /** @description Error */
3205
+ default: {
3206
+ headers: {
3207
+ [name: string]: unknown;
3208
+ };
3209
+ content: {
3210
+ "application/json": components["schemas"]["Error"];
3211
+ };
3212
+ };
3213
+ };
3214
+ };
3215
+ "list-status-page-groups": {
3216
+ parameters: {
3217
+ query?: never;
3218
+ header?: never;
3219
+ path?: never;
1427
3220
  cookie?: never;
1428
3221
  };
1429
3222
  requestBody?: never;
@@ -1434,7 +3227,40 @@ export interface operations {
1434
3227
  [name: string]: unknown;
1435
3228
  };
1436
3229
  content: {
1437
- "application/json": components["schemas"]["IncidentResource"];
3230
+ "application/json": components["schemas"]["StatusPageGroupListResponseBody"];
3231
+ };
3232
+ };
3233
+ /** @description Error */
3234
+ default: {
3235
+ headers: {
3236
+ [name: string]: unknown;
3237
+ };
3238
+ content: {
3239
+ "application/json": components["schemas"]["Error"];
3240
+ };
3241
+ };
3242
+ };
3243
+ };
3244
+ "create-status-page-group": {
3245
+ parameters: {
3246
+ query?: never;
3247
+ header?: never;
3248
+ path?: never;
3249
+ cookie?: never;
3250
+ };
3251
+ requestBody: {
3252
+ content: {
3253
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3254
+ };
3255
+ };
3256
+ responses: {
3257
+ /** @description Created */
3258
+ 201: {
3259
+ headers: {
3260
+ [name: string]: unknown;
3261
+ };
3262
+ content: {
3263
+ "application/json": components["schemas"]["StatusPageGroupResource"];
1438
3264
  };
1439
3265
  };
1440
3266
  /** @description Error */
@@ -1448,20 +3274,20 @@ export interface operations {
1448
3274
  };
1449
3275
  };
1450
3276
  };
1451
- "list-incident-timeline": {
3277
+ "update-status-page-group": {
1452
3278
  parameters: {
1453
- query?: {
1454
- limit?: number;
1455
- /** @description 上一页返回的 next_cursor,空即从头开始 */
1456
- cursor?: string;
1457
- };
3279
+ query?: never;
1458
3280
  header?: never;
1459
3281
  path: {
1460
- incidentId: string;
3282
+ groupId: string;
1461
3283
  };
1462
3284
  cookie?: never;
1463
3285
  };
1464
- requestBody?: never;
3286
+ requestBody: {
3287
+ content: {
3288
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3289
+ };
3290
+ };
1465
3291
  responses: {
1466
3292
  /** @description OK */
1467
3293
  200: {
@@ -1469,7 +3295,7 @@ export interface operations {
1469
3295
  [name: string]: unknown;
1470
3296
  };
1471
3297
  content: {
1472
- "application/json": components["schemas"]["CursorPageIncidentActivityResource"];
3298
+ "application/json": components["schemas"]["StatusPageGroupResource"];
1473
3299
  };
1474
3300
  };
1475
3301
  /** @description Error */
@@ -1483,23 +3309,23 @@ export interface operations {
1483
3309
  };
1484
3310
  };
1485
3311
  };
1486
- "list-maintenance-windows": {
3312
+ "delete-status-page-group": {
1487
3313
  parameters: {
1488
3314
  query?: never;
1489
3315
  header?: never;
1490
- path?: never;
3316
+ path: {
3317
+ groupId: string;
3318
+ };
1491
3319
  cookie?: never;
1492
3320
  };
1493
3321
  requestBody?: never;
1494
3322
  responses: {
1495
- /** @description OK */
1496
- 200: {
3323
+ /** @description No Content */
3324
+ 204: {
1497
3325
  headers: {
1498
3326
  [name: string]: unknown;
1499
3327
  };
1500
- content: {
1501
- "application/json": components["schemas"]["MaintenanceWindowListResponseBody"];
1502
- };
3328
+ content?: never;
1503
3329
  };
1504
3330
  /** @description Error */
1505
3331
  default: {
@@ -1512,25 +3338,27 @@ export interface operations {
1512
3338
  };
1513
3339
  };
1514
3340
  };
1515
- "get-maintenance-window": {
3341
+ "put-status-page-group-order": {
1516
3342
  parameters: {
1517
3343
  query?: never;
1518
3344
  header?: never;
1519
3345
  path: {
1520
- windowId: string;
3346
+ groupId: string;
1521
3347
  };
1522
3348
  cookie?: never;
1523
3349
  };
1524
- requestBody?: never;
3350
+ requestBody: {
3351
+ content: {
3352
+ "application/json": components["schemas"]["PutStatusPageGroupOrderRequestBody"];
3353
+ };
3354
+ };
1525
3355
  responses: {
1526
- /** @description OK */
1527
- 200: {
3356
+ /** @description No Content */
3357
+ 204: {
1528
3358
  headers: {
1529
3359
  [name: string]: unknown;
1530
3360
  };
1531
- content: {
1532
- "application/json": components["schemas"]["MaintenanceWindowResource"];
1533
- };
3361
+ content?: never;
1534
3362
  };
1535
3363
  /** @description Error */
1536
3364
  default: {
@@ -1543,20 +3371,14 @@ export interface operations {
1543
3371
  };
1544
3372
  };
1545
3373
  };
1546
- "put-maintenance-window": {
3374
+ "list-status-page-components": {
1547
3375
  parameters: {
1548
3376
  query?: never;
1549
3377
  header?: never;
1550
- path: {
1551
- windowId: string;
1552
- };
3378
+ path?: never;
1553
3379
  cookie?: never;
1554
3380
  };
1555
- requestBody: {
1556
- content: {
1557
- "application/json": components["schemas"]["PutMaintenanceWindowRequestBody"];
1558
- };
1559
- };
3381
+ requestBody?: never;
1560
3382
  responses: {
1561
3383
  /** @description OK */
1562
3384
  200: {
@@ -1564,7 +3386,7 @@ export interface operations {
1564
3386
  [name: string]: unknown;
1565
3387
  };
1566
3388
  content: {
1567
- "application/json": components["schemas"]["MaintenanceWindowResource"];
3389
+ "application/json": components["schemas"]["StatusPageComponentListResponseBody"];
1568
3390
  };
1569
3391
  };
1570
3392
  /** @description Error */
@@ -1578,23 +3400,27 @@ export interface operations {
1578
3400
  };
1579
3401
  };
1580
3402
  };
1581
- "delete-maintenance-window": {
3403
+ "create-status-page-component": {
1582
3404
  parameters: {
1583
3405
  query?: never;
1584
3406
  header?: never;
1585
- path: {
1586
- windowId: string;
1587
- };
3407
+ path?: never;
1588
3408
  cookie?: never;
1589
3409
  };
1590
- requestBody?: never;
3410
+ requestBody: {
3411
+ content: {
3412
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3413
+ };
3414
+ };
1591
3415
  responses: {
1592
- /** @description No Content */
1593
- 204: {
3416
+ /** @description Created */
3417
+ 201: {
1594
3418
  headers: {
1595
3419
  [name: string]: unknown;
1596
3420
  };
1597
- content?: never;
3421
+ content: {
3422
+ "application/json": components["schemas"]["StatusPageComponentResource"];
3423
+ };
1598
3424
  };
1599
3425
  /** @description Error */
1600
3426
  default: {
@@ -1607,11 +3433,13 @@ export interface operations {
1607
3433
  };
1608
3434
  };
1609
3435
  };
1610
- "get-project-overview": {
3436
+ "get-status-page-component": {
1611
3437
  parameters: {
1612
3438
  query?: never;
1613
3439
  header?: never;
1614
- path?: never;
3440
+ path: {
3441
+ componentId: string;
3442
+ };
1615
3443
  cookie?: never;
1616
3444
  };
1617
3445
  requestBody?: never;
@@ -1622,7 +3450,7 @@ export interface operations {
1622
3450
  [name: string]: unknown;
1623
3451
  };
1624
3452
  content: {
1625
- "application/json": components["schemas"]["ProjectOverviewResource"];
3453
+ "application/json": components["schemas"]["StatusPageComponentResource"];
1626
3454
  };
1627
3455
  };
1628
3456
  /** @description Error */
@@ -1636,21 +3464,20 @@ export interface operations {
1636
3464
  };
1637
3465
  };
1638
3466
  };
1639
- "list-server-items": {
3467
+ "update-status-page-component": {
1640
3468
  parameters: {
1641
- query?: {
1642
- /** @description 按 key 或名字模糊匹配 */
1643
- keyword?: string;
1644
- /** @description 形如 key 或 key=value,可重复。官方模板打好的 component 标签(cpu / memory / filesystem…)就是靠它筛 */
1645
- tag?: string[] | null;
1646
- };
3469
+ query?: never;
1647
3470
  header?: never;
1648
3471
  path: {
1649
- serverId: string;
3472
+ componentId: string;
1650
3473
  };
1651
3474
  cookie?: never;
1652
3475
  };
1653
- requestBody?: never;
3476
+ requestBody: {
3477
+ content: {
3478
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3479
+ };
3480
+ };
1654
3481
  responses: {
1655
3482
  /** @description OK */
1656
3483
  200: {
@@ -1658,7 +3485,7 @@ export interface operations {
1658
3485
  [name: string]: unknown;
1659
3486
  };
1660
3487
  content: {
1661
- "application/json": components["schemas"]["ItemListResponseBody"];
3488
+ "application/json": components["schemas"]["StatusPageComponentResource"];
1662
3489
  };
1663
3490
  };
1664
3491
  /** @description Error */
@@ -1672,36 +3499,23 @@ export interface operations {
1672
3499
  };
1673
3500
  };
1674
3501
  };
1675
- "get-server-metric": {
3502
+ "delete-status-page-component": {
1676
3503
  parameters: {
1677
- query?: {
1678
- /** @description **前缀匹配**:vfs.fs.size 一次拿回每个挂载点一条线。与 item_id 至少给一个 */
1679
- item_key?: string;
1680
- item_id?: string;
1681
- /** @description 不给就是一小时前 */
1682
- from?: string;
1683
- to?: string;
1684
- /** @description 降采样的桶数,0 表示原样返回采集到的数据点 */
1685
- max_points?: number;
1686
- /** @description 顺带取这些监控项当前生效的阈值线 */
1687
- include_thresholds?: boolean;
1688
- };
3504
+ query?: never;
1689
3505
  header?: never;
1690
3506
  path: {
1691
- serverId: string;
3507
+ componentId: string;
1692
3508
  };
1693
3509
  cookie?: never;
1694
3510
  };
1695
3511
  requestBody?: never;
1696
3512
  responses: {
1697
- /** @description OK */
1698
- 200: {
3513
+ /** @description No Content */
3514
+ 204: {
1699
3515
  headers: {
1700
3516
  [name: string]: unknown;
1701
3517
  };
1702
- content: {
1703
- "application/json": components["schemas"]["MetricResponseBody"];
1704
- };
3518
+ content?: never;
1705
3519
  };
1706
3520
  /** @description Error */
1707
3521
  default: {
@@ -1714,12 +3528,12 @@ export interface operations {
1714
3528
  };
1715
3529
  };
1716
3530
  };
1717
- "get-server-resources": {
3531
+ "list-status-page-component-sources": {
1718
3532
  parameters: {
1719
3533
  query?: never;
1720
3534
  header?: never;
1721
3535
  path: {
1722
- serverId: string;
3536
+ componentId: string;
1723
3537
  };
1724
3538
  cookie?: never;
1725
3539
  };
@@ -1731,7 +3545,7 @@ export interface operations {
1731
3545
  [name: string]: unknown;
1732
3546
  };
1733
3547
  content: {
1734
- "application/json": components["schemas"]["ServerResourcesResource"];
3548
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
1735
3549
  };
1736
3550
  };
1737
3551
  /** @description Error */
@@ -1745,16 +3559,20 @@ export interface operations {
1745
3559
  };
1746
3560
  };
1747
3561
  };
1748
- "get-server-snapshot": {
3562
+ "put-status-page-component-sources": {
1749
3563
  parameters: {
1750
3564
  query?: never;
1751
3565
  header?: never;
1752
3566
  path: {
1753
- serverId: string;
3567
+ componentId: string;
1754
3568
  };
1755
3569
  cookie?: never;
1756
3570
  };
1757
- requestBody?: never;
3571
+ requestBody: {
3572
+ content: {
3573
+ "application/json": components["schemas"]["PutStatusPageComponentSourcesRequestBody"];
3574
+ };
3575
+ };
1758
3576
  responses: {
1759
3577
  /** @description OK */
1760
3578
  200: {
@@ -1762,7 +3580,7 @@ export interface operations {
1762
3580
  [name: string]: unknown;
1763
3581
  };
1764
3582
  content: {
1765
- "application/json": components["schemas"]["SnapshotResource"];
3583
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
1766
3584
  };
1767
3585
  };
1768
3586
  /** @description Error */
@@ -1776,12 +3594,12 @@ export interface operations {
1776
3594
  };
1777
3595
  };
1778
3596
  };
1779
- "list-project-top-items": {
3597
+ "list-status-page-incidents": {
1780
3598
  parameters: {
1781
- query: {
1782
- kind: "CPU_UTILIZATION" | "MEMORY_UTILIZATION" | "ROOT_FILESYSTEM_USED";
1783
- /** @description 0 表示用默认 */
3599
+ query?: {
3600
+ /** @description Maximum number of records in this page */
1784
3601
  limit?: number;
3602
+ offset?: number;
1785
3603
  };
1786
3604
  header?: never;
1787
3605
  path?: never;
@@ -1795,7 +3613,7 @@ export interface operations {
1795
3613
  [name: string]: unknown;
1796
3614
  };
1797
3615
  content: {
1798
- "application/json": components["schemas"]["TopItemListResponseBody"];
3616
+ "application/json": components["schemas"]["LengthAwarePageStatusPageIncidentResource"];
1799
3617
  };
1800
3618
  };
1801
3619
  /** @description Error */
@@ -1809,30 +3627,26 @@ export interface operations {
1809
3627
  };
1810
3628
  };
1811
3629
  };
1812
- "list-servers": {
3630
+ "publish-status-page-incident": {
1813
3631
  parameters: {
1814
- query?: {
1815
- /** @description 这一页最多返回多少条 */
1816
- limit?: number;
1817
- /** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
1818
- offset?: number;
1819
- /** @description 按名字或地址模糊匹配 */
1820
- keyword?: string;
1821
- monitoring_status?: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
1822
- };
3632
+ query?: never;
1823
3633
  header?: never;
1824
3634
  path?: never;
1825
3635
  cookie?: never;
1826
3636
  };
1827
- requestBody?: never;
3637
+ requestBody: {
3638
+ content: {
3639
+ "application/json": components["schemas"]["PublishStatusPageIncidentRequestBody"];
3640
+ };
3641
+ };
1828
3642
  responses: {
1829
- /** @description OK */
1830
- 200: {
3643
+ /** @description Created */
3644
+ 201: {
1831
3645
  headers: {
1832
3646
  [name: string]: unknown;
1833
3647
  };
1834
3648
  content: {
1835
- "application/json": components["schemas"]["LengthAwarePageServerResource"];
3649
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1836
3650
  };
1837
3651
  };
1838
3652
  /** @description Error */
@@ -1846,12 +3660,12 @@ export interface operations {
1846
3660
  };
1847
3661
  };
1848
3662
  };
1849
- "get-server": {
3663
+ "get-status-page-incident": {
1850
3664
  parameters: {
1851
3665
  query?: never;
1852
3666
  header?: never;
1853
3667
  path: {
1854
- serverId: string;
3668
+ incidentId: string;
1855
3669
  };
1856
3670
  cookie?: never;
1857
3671
  };
@@ -1863,7 +3677,7 @@ export interface operations {
1863
3677
  [name: string]: unknown;
1864
3678
  };
1865
3679
  content: {
1866
- "application/json": components["schemas"]["ServerResource"];
3680
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1867
3681
  };
1868
3682
  };
1869
3683
  /** @description Error */
@@ -1877,18 +3691,18 @@ export interface operations {
1877
3691
  };
1878
3692
  };
1879
3693
  };
1880
- "enable-server-monitoring": {
3694
+ "post-status-page-incident-update": {
1881
3695
  parameters: {
1882
3696
  query?: never;
1883
3697
  header?: never;
1884
3698
  path: {
1885
- serverId: string;
3699
+ incidentId: string;
1886
3700
  };
1887
3701
  cookie?: never;
1888
3702
  };
1889
3703
  requestBody: {
1890
3704
  content: {
1891
- "application/json": components["schemas"]["EnableMonitoringRequestBody"];
3705
+ "application/json": components["schemas"]["PostStatusPageIncidentUpdateRequestBody"];
1892
3706
  };
1893
3707
  };
1894
3708
  responses: {
@@ -1898,7 +3712,7 @@ export interface operations {
1898
3712
  [name: string]: unknown;
1899
3713
  };
1900
3714
  content: {
1901
- "application/json": components["schemas"]["ServerEnrollmentResponseBody"];
3715
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1902
3716
  };
1903
3717
  };
1904
3718
  /** @description Error */
@@ -1912,23 +3726,27 @@ export interface operations {
1912
3726
  };
1913
3727
  };
1914
3728
  };
1915
- "delete-server": {
3729
+ "list-status-page-maintenances": {
1916
3730
  parameters: {
1917
- query?: never;
1918
- header?: never;
1919
- path: {
1920
- serverId: string;
3731
+ query?: {
3732
+ /** @description Maximum number of records in this page */
3733
+ limit?: number;
3734
+ offset?: number;
1921
3735
  };
3736
+ header?: never;
3737
+ path?: never;
1922
3738
  cookie?: never;
1923
3739
  };
1924
3740
  requestBody?: never;
1925
3741
  responses: {
1926
- /** @description No Content */
1927
- 204: {
3742
+ /** @description OK */
3743
+ 200: {
1928
3744
  headers: {
1929
3745
  [name: string]: unknown;
1930
3746
  };
1931
- content?: never;
3747
+ content: {
3748
+ "application/json": components["schemas"]["LengthAwarePageStatusPageMaintenanceResource"];
3749
+ };
1932
3750
  };
1933
3751
  /** @description Error */
1934
3752
  default: {
@@ -1941,28 +3759,26 @@ export interface operations {
1941
3759
  };
1942
3760
  };
1943
3761
  };
1944
- "update-server": {
3762
+ "schedule-status-page-maintenance": {
1945
3763
  parameters: {
1946
3764
  query?: never;
1947
3765
  header?: never;
1948
- path: {
1949
- serverId: string;
1950
- };
3766
+ path?: never;
1951
3767
  cookie?: never;
1952
3768
  };
1953
3769
  requestBody: {
1954
3770
  content: {
1955
- "application/json": components["schemas"]["UpdateServerRequestBody"];
3771
+ "application/json": components["schemas"]["ScheduleStatusPageMaintenanceRequestBody"];
1956
3772
  };
1957
3773
  };
1958
3774
  responses: {
1959
- /** @description OK */
1960
- 200: {
3775
+ /** @description Created */
3776
+ 201: {
1961
3777
  headers: {
1962
3778
  [name: string]: unknown;
1963
3779
  };
1964
3780
  content: {
1965
- "application/json": components["schemas"]["ServerResource"];
3781
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
1966
3782
  };
1967
3783
  };
1968
3784
  /** @description Error */
@@ -1976,23 +3792,25 @@ export interface operations {
1976
3792
  };
1977
3793
  };
1978
3794
  };
1979
- "disable-server-monitoring": {
3795
+ "get-status-page-maintenance": {
1980
3796
  parameters: {
1981
3797
  query?: never;
1982
3798
  header?: never;
1983
3799
  path: {
1984
- serverId: string;
3800
+ maintenanceId: string;
1985
3801
  };
1986
3802
  cookie?: never;
1987
3803
  };
1988
3804
  requestBody?: never;
1989
3805
  responses: {
1990
- /** @description No Content */
1991
- 204: {
3806
+ /** @description OK */
3807
+ 200: {
1992
3808
  headers: {
1993
3809
  [name: string]: unknown;
1994
3810
  };
1995
- content?: never;
3811
+ content: {
3812
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3813
+ };
1996
3814
  };
1997
3815
  /** @description Error */
1998
3816
  default: {
@@ -2005,12 +3823,12 @@ export interface operations {
2005
3823
  };
2006
3824
  };
2007
3825
  };
2008
- "rotate-agent-psk": {
3826
+ "cancel-status-page-maintenance": {
2009
3827
  parameters: {
2010
3828
  query?: never;
2011
3829
  header?: never;
2012
3830
  path: {
2013
- serverId: string;
3831
+ maintenanceId: string;
2014
3832
  };
2015
3833
  cookie?: never;
2016
3834
  };
@@ -2022,7 +3840,7 @@ export interface operations {
2022
3840
  [name: string]: unknown;
2023
3841
  };
2024
3842
  content: {
2025
- "application/json": components["schemas"]["EnrollmentResource"];
3843
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
2026
3844
  };
2027
3845
  };
2028
3846
  /** @description Error */
@@ -2036,13 +3854,12 @@ export interface operations {
2036
3854
  };
2037
3855
  };
2038
3856
  };
2039
- "get-web-check": {
3857
+ "complete-status-page-maintenance": {
2040
3858
  parameters: {
2041
3859
  query?: never;
2042
3860
  header?: never;
2043
3861
  path: {
2044
- serverId: string;
2045
- checkId: string;
3862
+ maintenanceId: string;
2046
3863
  };
2047
3864
  cookie?: never;
2048
3865
  };
@@ -2054,7 +3871,7 @@ export interface operations {
2054
3871
  [name: string]: unknown;
2055
3872
  };
2056
3873
  content: {
2057
- "application/json": components["schemas"]["WebCheckResource"];
3874
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
2058
3875
  };
2059
3876
  };
2060
3877
  /** @description Error */
@@ -2068,21 +3885,16 @@ export interface operations {
2068
3885
  };
2069
3886
  };
2070
3887
  };
2071
- "put-web-check": {
3888
+ "get-project-web-check": {
2072
3889
  parameters: {
2073
3890
  query?: never;
2074
3891
  header?: never;
2075
3892
  path: {
2076
- serverId: string;
2077
3893
  checkId: string;
2078
3894
  };
2079
3895
  cookie?: never;
2080
3896
  };
2081
- requestBody: {
2082
- content: {
2083
- "application/json": components["schemas"]["PutWebCheckRequestBody"];
2084
- };
2085
- };
3897
+ requestBody?: never;
2086
3898
  responses: {
2087
3899
  /** @description OK */
2088
3900
  200: {
@@ -2104,47 +3916,20 @@ export interface operations {
2104
3916
  };
2105
3917
  };
2106
3918
  };
2107
- "delete-web-check": {
3919
+ "put-project-web-check": {
2108
3920
  parameters: {
2109
3921
  query?: never;
2110
3922
  header?: never;
2111
3923
  path: {
2112
- serverId: string;
2113
3924
  checkId: string;
2114
3925
  };
2115
3926
  cookie?: never;
2116
3927
  };
2117
- requestBody?: never;
2118
- responses: {
2119
- /** @description No Content */
2120
- 204: {
2121
- headers: {
2122
- [name: string]: unknown;
2123
- };
2124
- content?: never;
2125
- };
2126
- /** @description Error */
2127
- default: {
2128
- headers: {
2129
- [name: string]: unknown;
2130
- };
2131
- content: {
2132
- "application/json": components["schemas"]["Error"];
2133
- };
2134
- };
2135
- };
2136
- };
2137
- "list-web-checks": {
2138
- parameters: {
2139
- query?: {
2140
- /** @description 只看某一台机器的检查;不给就是整个项目的 */
2141
- server_id?: string;
3928
+ requestBody: {
3929
+ content: {
3930
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
2142
3931
  };
2143
- header?: never;
2144
- path?: never;
2145
- cookie?: never;
2146
3932
  };
2147
- requestBody?: never;
2148
3933
  responses: {
2149
3934
  /** @description OK */
2150
3935
  200: {
@@ -2152,7 +3937,7 @@ export interface operations {
2152
3937
  [name: string]: unknown;
2153
3938
  };
2154
3939
  content: {
2155
- "application/json": components["schemas"]["WebCheckListResponseBody"];
3940
+ "application/json": components["schemas"]["WebCheckResource"];
2156
3941
  };
2157
3942
  };
2158
3943
  /** @description Error */
@@ -2166,28 +3951,23 @@ export interface operations {
2166
3951
  };
2167
3952
  };
2168
3953
  };
2169
- "get-sli-report": {
3954
+ "delete-project-web-check": {
2170
3955
  parameters: {
2171
- query?: {
2172
- from?: string;
2173
- to?: string;
2174
- /** @description 取最近 N 个完整周期,与 from/to 二选一 */
2175
- periods?: number;
2176
- };
3956
+ query?: never;
2177
3957
  header?: never;
2178
- path?: never;
3958
+ path: {
3959
+ checkId: string;
3960
+ };
2179
3961
  cookie?: never;
2180
3962
  };
2181
3963
  requestBody?: never;
2182
3964
  responses: {
2183
- /** @description OK */
2184
- 200: {
3965
+ /** @description No Content */
3966
+ 204: {
2185
3967
  headers: {
2186
3968
  [name: string]: unknown;
2187
3969
  };
2188
- content: {
2189
- "application/json": components["schemas"]["SLIReportResponseBody"];
2190
- };
3970
+ content?: never;
2191
3971
  };
2192
3972
  /** @description Error */
2193
3973
  default: {
@@ -2200,7 +3980,7 @@ export interface operations {
2200
3980
  };
2201
3981
  };
2202
3982
  };
2203
- "get-slo": {
3983
+ "get-status-page-domain": {
2204
3984
  parameters: {
2205
3985
  query?: never;
2206
3986
  header?: never;
@@ -2215,7 +3995,7 @@ export interface operations {
2215
3995
  [name: string]: unknown;
2216
3996
  };
2217
3997
  content: {
2218
- "application/json": components["schemas"]["SLOResource"];
3998
+ "application/json": components["schemas"]["StatusPageDomainResource"];
2219
3999
  };
2220
4000
  };
2221
4001
  /** @description Error */
@@ -2229,7 +4009,7 @@ export interface operations {
2229
4009
  };
2230
4010
  };
2231
4011
  };
2232
- "put-slo": {
4012
+ "put-status-page-domain": {
2233
4013
  parameters: {
2234
4014
  query?: never;
2235
4015
  header?: never;
@@ -2238,7 +4018,7 @@ export interface operations {
2238
4018
  };
2239
4019
  requestBody: {
2240
4020
  content: {
2241
- "application/json": components["schemas"]["PutSLORequestBody"];
4021
+ "application/json": components["schemas"]["PutStatusPageDomainRequestBody"];
2242
4022
  };
2243
4023
  };
2244
4024
  responses: {
@@ -2248,7 +4028,7 @@ export interface operations {
2248
4028
  [name: string]: unknown;
2249
4029
  };
2250
4030
  content: {
2251
- "application/json": components["schemas"]["SLOResource"];
4031
+ "application/json": components["schemas"]["StatusPageDomainResource"];
2252
4032
  };
2253
4033
  };
2254
4034
  /** @description Error */
@@ -2262,7 +4042,7 @@ export interface operations {
2262
4042
  };
2263
4043
  };
2264
4044
  };
2265
- "delete-slo": {
4045
+ "delete-status-page-domain": {
2266
4046
  parameters: {
2267
4047
  query?: never;
2268
4048
  header?: never;