@daocloud-proto/skoala 0.40.1-8 → 0.41.0-2

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.
@@ -8,6 +8,25 @@ import * as InsightIoApiMetricV1alpha1Metric from "../../metric/v1alpha1/metric.
8
8
  import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb"
9
9
  import * as InsightIoApiAlertV1alpha1Notify from "./notify.pb"
10
10
  import * as InsightIoApiAlertV1alpha1Type from "./type.pb"
11
+
12
+ export enum ValidateGroupCode {
13
+ ERR_CODE_UNSPECIFIED = "ERR_CODE_UNSPECIFIED",
14
+ ERR_YAML_UNMARSHAL = "ERR_YAML_UNMARSHAL",
15
+ ERR_GROUP_NAME = "ERR_GROUP_NAME",
16
+ ERR_GROUP_RULES = "ERR_GROUP_RULES",
17
+ ERR_GROUP_NAME_DUPLICATED = "ERR_GROUP_NAME_DUPLICATED",
18
+ ERR_RULE = "ERR_RULE",
19
+ ERR_RULE_ALERT = "ERR_RULE_ALERT",
20
+ ERR_RULE_RECORD = "ERR_RULE_RECORD",
21
+ ERR_RULE_FOR = "ERR_RULE_FOR",
22
+ ERR_RULE_EXPR = "ERR_RULE_EXPR",
23
+ ERR_RULE_SEVERITY = "ERR_RULE_SEVERITY",
24
+ ERR_RULE_ANNOTATIONS = "ERR_RULE_ANNOTATIONS",
25
+ ERR_RULE_LABELS = "ERR_RULE_LABELS",
26
+ ERR_RULE_ALERT_DUPLICATED = "ERR_RULE_ALERT_DUPLICATED",
27
+ ERR_RULE_DESCRIPTION = "ERR_RULE_DESCRIPTION",
28
+ }
29
+
11
30
  export type ID = {
12
31
  id?: string
13
32
  }
@@ -85,6 +104,23 @@ export type Group = {
85
104
  updateAt?: string
86
105
  }
87
106
 
107
+ export type ValidateGroupRequest = {
108
+ yamlString?: string
109
+ clusterName?: string
110
+ namespace?: string
111
+ }
112
+
113
+ export type ValidateGroupError = {
114
+ code?: ValidateGroupCode
115
+ message?: string
116
+ }
117
+
118
+ export type ValidateGroupResponse = {
119
+ valid?: boolean
120
+ errors?: ValidateGroupError[]
121
+ params?: CreateGroupRequest
122
+ }
123
+
88
124
  export type UpdateGroupRequest = {
89
125
  id?: string
90
126
  description?: string
@@ -202,6 +238,7 @@ export type ListAlertsRequest = {
202
238
  page?: number
203
239
  pageSize?: number
204
240
  sorts?: string[]
241
+ status?: InsightIoApiAlertV1alpha1Type.AlertStatus[]
205
242
  }
206
243
 
207
244
  export type ListAlertsResponse = {
@@ -226,6 +263,8 @@ export type AlertSummary = {
226
263
  startAt?: string
227
264
  updateAt?: string
228
265
  lastSent?: string
266
+ builtin?: boolean
267
+ status?: InsightIoApiAlertV1alpha1Type.AlertStatus
229
268
  }
230
269
 
231
270
  export type GetAlertRequest = {
@@ -327,20 +366,10 @@ export type PreviewRuleRequestGroup = {
327
366
  targets?: string[]
328
367
  }
329
368
 
330
- export type PreviewRuleRequestAlertRule = {
331
- source?: InsightIoApiAlertV1alpha1Type.RuleSource
332
- expr?: string
333
- thresholdSymbol?: string
334
- thresholdNum?: number
335
- duration?: string
336
- logFilterCondition?: InsightIoApiAlertV1alpha1Type.RuleFilterCondition
337
- logQueryString?: string
338
- }
339
-
340
369
  export type PreviewRuleRequest = {
341
370
  params?: PreviewRuleRequestParams
342
371
  group?: PreviewRuleRequestGroup
343
- rule?: PreviewRuleRequestAlertRule
372
+ rule?: CreateGroupRule
344
373
  }
345
374
 
346
375
  export type PreviewRuleResponse = {
@@ -349,4 +378,56 @@ export type PreviewRuleResponse = {
349
378
 
350
379
  export type GetSMTPStatusResponse = {
351
380
  enabled?: boolean
381
+ }
382
+
383
+ export type RuleTemplate = {
384
+ id?: string
385
+ name?: string
386
+ description?: string
387
+ targetType?: InsightIoApiAlertV1alpha1Type.TargetType
388
+ count?: number
389
+ rules?: CreateGroupRule[]
390
+ createAt?: string
391
+ updateAt?: string
392
+ }
393
+
394
+ export type RuleTemplateSummary = {
395
+ id?: string
396
+ name?: string
397
+ targetType?: InsightIoApiAlertV1alpha1Type.TargetType
398
+ }
399
+
400
+ export type ListRuleTemplateSummaryRequest = {
401
+ targetType?: InsightIoApiAlertV1alpha1Type.TargetType
402
+ }
403
+
404
+ export type ListRuleTemplateSummaryResponse = {
405
+ items?: RuleTemplateSummary[]
406
+ }
407
+
408
+ export type ListRuleTemplatesRequest = {
409
+ builtin?: boolean
410
+ name?: string
411
+ page?: number
412
+ pageSize?: number
413
+ sorts?: string[]
414
+ targetType?: InsightIoApiAlertV1alpha1Type.TargetType
415
+ }
416
+
417
+ export type ListRuleTemplatesResponse = {
418
+ items?: RuleTemplate[]
419
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
420
+ }
421
+
422
+ export type CreateRuleTemplateRequest = {
423
+ name?: string
424
+ description?: string
425
+ targetType?: InsightIoApiAlertV1alpha1Type.TargetType
426
+ rules?: CreateGroupRule[]
427
+ }
428
+
429
+ export type UpdateRuleTemplateRequest = {
430
+ id?: string
431
+ description?: string
432
+ rules?: CreateGroupRule[]
352
433
  }
@@ -0,0 +1,56 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb"
8
+ import * as InsightIoApiAlertV1alpha1Silence from "./silence.pb"
9
+ export type InhibitionName = {
10
+ name?: string
11
+ }
12
+
13
+ export type Inhibition = {
14
+ id?: string
15
+ name?: string
16
+ clusterName?: string
17
+ namespace?: string
18
+ description?: string
19
+ sourceMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
20
+ targetMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
21
+ equal?: string[]
22
+ createAt?: string
23
+ updateAt?: string
24
+ }
25
+
26
+ export type CreateInhibitionRequest = {
27
+ name?: string
28
+ clusterName?: string
29
+ namespace?: string
30
+ description?: string
31
+ sourceMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
32
+ targetMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
33
+ equal?: string[]
34
+ }
35
+
36
+ export type UpdateInhibitionRequest = {
37
+ id?: string
38
+ description?: string
39
+ sourceMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
40
+ targetMatchers?: InsightIoApiAlertV1alpha1Silence.match[]
41
+ equal?: string[]
42
+ }
43
+
44
+ export type ListInhibitionsRequest = {
45
+ name?: string
46
+ clusterName?: string
47
+ namespace?: string
48
+ page?: number
49
+ pageSize?: number
50
+ sorts?: string[]
51
+ }
52
+
53
+ export type InhibitionList = {
54
+ items?: Inhibition[]
55
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
56
+ }
@@ -22,6 +22,8 @@ export enum ReceiverType {
22
22
  dingtalk = "dingtalk",
23
23
  wecom = "wecom",
24
24
  sms = "sms",
25
+ message = "message",
26
+ lark = "lark",
25
27
  }
26
28
 
27
29
  export enum ProviderType {
@@ -37,10 +39,11 @@ type BaseReceiver = {
37
39
  type?: ReceiverType
38
40
  createAt?: string
39
41
  updateAt?: string
42
+ description?: string
40
43
  }
41
44
 
42
45
  export type Receiver = BaseReceiver
43
- & OneOf<{ webhook: WebhookConfig; email: EmailConfig; wecom: WecomConfig; dingtalk: DingtalkConfig; sms: SmsConfig }>
46
+ & OneOf<{ webhook: WebhookConfig; email: EmailConfig; wecom: WecomConfig; dingtalk: DingtalkConfig; sms: SmsConfig; message: MessageConfig; lark: LarkConfig }>
44
47
 
45
48
  export type WebhookConfig = {
46
49
  url?: string
@@ -53,6 +56,12 @@ export type WecomConfig = {
53
56
 
54
57
  export type DingtalkConfig = {
55
58
  webhook?: string
59
+ secret?: string
60
+ }
61
+
62
+ export type LarkConfig = {
63
+ webhook?: string
64
+ secret?: string
56
65
  }
57
66
 
58
67
  export type EmailConfig = {
@@ -69,6 +78,15 @@ export type SmsConfigContact = {
69
78
  phone?: string
70
79
  }
71
80
 
81
+ export type MessageConfigUser = {
82
+ name?: string
83
+ userId?: string
84
+ }
85
+
86
+ export type MessageConfig = {
87
+ users?: MessageConfigUser[]
88
+ }
89
+
72
90
  export type ListReceiversRequest = {
73
91
  name?: string
74
92
  type?: ReceiverType
@@ -100,6 +118,7 @@ export type HTTPConfig = {
100
118
  basicAuth?: BasicAuth
101
119
  bearerToken?: string
102
120
  tlsConfig?: SafeTLSConfig
121
+ headers?: HTTPHeader[]
103
122
  }
104
123
 
105
124
  export type BasicAuth = {
@@ -107,6 +126,11 @@ export type BasicAuth = {
107
126
  password?: string
108
127
  }
109
128
 
129
+ export type HTTPHeader = {
130
+ name?: string
131
+ value?: string
132
+ }
133
+
110
134
  export type SafeTLSConfig = {
111
135
  insecureSkipVerify?: boolean
112
136
  }
@@ -117,13 +141,19 @@ export type ListTemplatesRequest = {
117
141
  pageSize?: number
118
142
  sorts?: string[]
119
143
  exactSearch?: boolean
144
+ builtin?: boolean
120
145
  }
121
146
 
122
- export type ListTemplatesResponse = {
147
+ export type ListTemplateSummaryResponse = {
123
148
  items?: TemplateSummary[]
124
149
  pagination?: InsightIoApiTypeV1alpha1Page.Pagination
125
150
  }
126
151
 
152
+ export type ListTemplatesResponse = {
153
+ items?: Template[]
154
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
155
+ }
156
+
127
157
  export type TemplateSummary = {
128
158
  name?: string
129
159
  description?: string
@@ -155,6 +185,8 @@ export type TemplateBody = {
155
185
  wecom?: string
156
186
  dingtalk?: string
157
187
  webhook?: string
188
+ message?: string
189
+ lark?: string
158
190
  }
159
191
 
160
192
  export type emailBody = {
@@ -39,8 +39,10 @@ export enum RuleStatus {
39
39
 
40
40
  export enum AlertStatus {
41
41
  ALERT_STATUS_UNSPECIFIED = "ALERT_STATUS_UNSPECIFIED",
42
- ALERT_STATUS_FIRING = "ALERT_STATUS_FIRING",
43
- ALERT_STATUS_RESOLVED = "ALERT_STATUS_RESOLVED",
42
+ firing = "firing",
43
+ resolved = "resolved",
44
+ silenced = "silenced",
45
+ inhibited = "inhibited",
44
46
  }
45
47
 
46
48
  export enum RuleFilterCondition {
@@ -317,7 +317,7 @@ type BaseIstioPlugin = {
317
317
  }
318
318
 
319
319
  export type IstioPlugin = BaseIstioPlugin
320
- & OneOf<{ wasmPlugin: WasmPlugin; authPlugin: AuthPlugin; jwtPlugin: JwtPlugin; rateLimitPlugin: RateLimitPlugin }>
320
+ & OneOf<{ wasmPlugin: WasmPlugin; authPlugin: AuthPlugin; jwtPlugin: JwtPlugin; rateLimitPlugin: RateLimitPlugin; extprocPlugin: ExtprocPlugin }>
321
321
 
322
322
  export type CreateServiceIstioPluginRes = {
323
323
  }
@@ -544,6 +544,10 @@ export type RateLimitPlugin = {
544
544
  domain?: string
545
545
  }
546
546
 
547
+ export type ExtprocPlugin = {
548
+ extprocPluginName?: string
549
+ }
550
+
547
551
  export type WasmPlugin = {
548
552
  wasmPluginName?: string
549
553
  imagePullPolicy?: ImagePullPolicy
@@ -6,6 +6,15 @@
6
6
 
7
7
  import * as SkoalaApiGeneralV1alpha1Common from "../../general/v1alpha1/common.pb"
8
8
  import * as SkoalaApiGeneralV1alpha2Ratelimit from "../../general/v1alpha2/ratelimit.pb"
9
+
10
+ type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
11
+ type OneOf<T> =
12
+ | { [k in keyof T]?: undefined }
13
+ | (
14
+ keyof T extends infer K ?
15
+ (K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
16
+ : never)
17
+ : never);
9
18
  export type ListRLSDomainRulesReq = {
10
19
  workspaceId?: string
11
20
  pluginName?: string
@@ -13,6 +22,104 @@ export type ListRLSDomainRulesReq = {
13
22
  rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType
14
23
  }
15
24
 
25
+ export type CreateRatelimitRuleReq = {
26
+ workspaceId?: string
27
+ name?: string
28
+ ruleConfig?: RatelimitRuleConfig[]
29
+ }
30
+
31
+ export type UpdateRatelimitRuleReq = {
32
+ workspaceId?: string
33
+ name?: string
34
+ ruleConfig?: RatelimitRuleConfig[]
35
+ }
36
+
37
+ export type DeleteRatelimitRuleReq = {
38
+ workspaceId?: string
39
+ name?: string
40
+ }
41
+
42
+ export type ListRatelimitRuleReq = {
43
+ workspaceId?: string
44
+ name?: string
45
+ page?: number
46
+ pageSize?: number
47
+ }
48
+
49
+ export type ListRatelimitRuleRes = {
50
+ items?: RatelimitRuleInfo[]
51
+ pagination?: SkoalaApiGeneralV1alpha1Common.Pagination
52
+ }
53
+
54
+ export type RatelimitRuleInfo = {
55
+ name?: string
56
+ domainType?: DomainType[]
57
+ }
58
+
59
+ export type DomainType = {
60
+ domain?: string
61
+ rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType[]
62
+ }
63
+
64
+ export type RatelimitRuleConfig = {
65
+ domain?: string
66
+ rules?: RatelimitRule[]
67
+ }
68
+
69
+
70
+ type BaseRatelimitRule = {
71
+ rlsRuleType?: SkoalaApiGeneralV1alpha2Ratelimit.RLSRuleType
72
+ }
73
+
74
+ export type RatelimitRule = BaseRatelimitRule
75
+ & OneOf<{ generic: GenericKVRule; ip: IPRule; requestHeader: RequestHeaderRule }>
76
+
77
+ export type GenericKVRuleKeyValueRatelimit = {
78
+ name?: string
79
+ key?: string
80
+ value?: string
81
+ ratelimit?: RLSRatelimit
82
+ next?: GenericKVRuleKeyValueRatelimit[]
83
+ }
84
+
85
+ export type GenericKVRule = {
86
+ ratelimit?: GenericKVRuleKeyValueRatelimit[]
87
+ }
88
+
89
+ export type RequestHeaderRule = {
90
+ ratelimit?: HeaderValueRatelimit[]
91
+ }
92
+
93
+ export type HeaderValueRatelimitHeaderRatelimit = {
94
+ value?: string
95
+ ratelimit?: RLSRatelimit
96
+ name?: string
97
+ }
98
+
99
+ export type HeaderValueRatelimit = {
100
+ header?: string
101
+ ratelimit?: HeaderValueRatelimitHeaderRatelimit[]
102
+ }
103
+
104
+ export type IPRuleIPRatelimit = {
105
+ ip?: string
106
+ name?: string
107
+ ratelimit?: RLSRatelimit
108
+ }
109
+
110
+ export type IPRule = {
111
+ ratelimit?: IPRuleIPRatelimit[]
112
+ }
113
+
114
+ export type GetRatelimitRuleReq = {
115
+ workspaceId?: string
116
+ name?: string
117
+ }
118
+
119
+ export type GetRatelimitRuleRes = {
120
+ items?: RatelimitRuleConfig[]
121
+ }
122
+
16
123
  export type ListRLSDomainRulesRes = {
17
124
  rules?: PluginRLSRule[]
18
125
  }
@@ -32,12 +139,14 @@ export type GenericKVRLSRule = {
32
139
 
33
140
  export type IPRLSRule = {
34
141
  ip?: string
142
+ name?: string
35
143
  ratelimit?: RLSRatelimit
36
144
  }
37
145
 
38
146
  export type RequestHeaderRLSRuleHeaderValueRatelimit = {
39
147
  value?: string
40
148
  ratelimit?: RLSRatelimit
149
+ name?: string
41
150
  }
42
151
 
43
152
  export type RequestHeaderRLSRule = {
@@ -91,6 +91,7 @@ export enum PluginUrlLoadBalance {
91
91
  export type CreateSkoalaPluginTemplateReq = {
92
92
  workspaceId?: string
93
93
  disabled?: boolean
94
+ displayName?: string
94
95
  pluginTemplateName?: string
95
96
  describe?: string
96
97
  pluginType?: PluginType
@@ -102,6 +103,7 @@ export type UpdateSkoalaPluginTemplateReq = {
102
103
  workspaceId?: string
103
104
  disabled?: boolean
104
105
  pluginTemplateName?: string
106
+ displayName?: string
105
107
  describe?: string
106
108
  pluginType?: PluginType
107
109
  image?: string[]
@@ -133,6 +135,7 @@ export type SkoalaPluginTemplateInfo = {
133
135
  templateType?: TemplateType
134
136
  describe?: string
135
137
  images?: string[]
138
+ displayName?: string
136
139
  }
137
140
 
138
141
  export type GetSkoalaPluginTemplateReq = {
@@ -150,11 +153,13 @@ export type GetSkoalaPluginTemplateRes = {
150
153
  pluginType?: PluginType
151
154
  templateType?: TemplateType
152
155
  createdAt?: string
156
+ displayName?: string
153
157
  updatedAt?: string
154
158
  disabled?: boolean
155
159
  describe?: string
156
160
  icon?: string
157
- address?: string[]
161
+ images?: string[]
162
+ items?: SkoalaPluginInfo[]
158
163
  }
159
164
 
160
165
 
@@ -674,7 +674,7 @@ export class Gateway {
674
674
  return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway.DeleteGatewayCheckReq, SkoalaApiHostedV1alpha1Gateway.DeleteGatewayCheckRes>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}/deletecheck?${fm.renderURLSearchParams(req, ["workspaceId", "clusterName", "namespaceName", "gatewayName"])}`, {...initReq, method: "GET"})
675
675
  }
676
676
  static Delete(req: SkoalaApiHostedV1alpha1Gateway.DeleteGatewayReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
677
- return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway.DeleteGatewayReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}`, {...initReq, method: "DELETE"})
677
+ return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway.DeleteGatewayReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}`, {...initReq, method: "DELETE", body: JSON.stringify(req, fm.replacer)})
678
678
  }
679
679
  static GetWorkingComponents(req: SkoalaApiHostedV1alpha1Gateway.GetGatewayComponentsReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha1Gateway.GetGatewayComponentsRes> {
680
680
  return fm.fetchReq<SkoalaApiHostedV1alpha1Gateway.GetGatewayComponentsReq, SkoalaApiHostedV1alpha1Gateway.GetGatewayComponentsRes>(`/apis/sesame.skoala.io/v1alpha1/workspaces/${req["workspaceId"]}/clusters/${req["clusterName"]}/namespaces/${req["namespaceName"]}/gateways/${req["gatewayName"]}/components?${fm.renderURLSearchParams(req, ["workspaceId", "clusterName", "namespaceName", "gatewayName"])}`, {...initReq, method: "GET"})
@@ -75,6 +75,21 @@ export class Skoala {
75
75
  }
76
76
  }
77
77
  export class GlobalRatelimitRule {
78
+ static CreateRatelimitRule(req: SkoalaApiHostedV1alpha2Ratelimit_rule.CreateRatelimitRuleReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
79
+ return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.CreateRatelimitRuleReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/ratelimit/rules`, {...initReq, method: "POST", body: JSON.stringify(req, fm.replacer)})
80
+ }
81
+ static UpdateRatelimitRule(req: SkoalaApiHostedV1alpha2Ratelimit_rule.UpdateRatelimitRuleReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
82
+ return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.UpdateRatelimitRuleReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/ratelimit/rules/${req["name"]}`, {...initReq, method: "PUT", body: JSON.stringify(req, fm.replacer)})
83
+ }
84
+ static ListRatelimitRule(req: SkoalaApiHostedV1alpha2Ratelimit_rule.ListRatelimitRuleReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRatelimitRuleRes> {
85
+ return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRatelimitRuleReq, SkoalaApiHostedV1alpha2Ratelimit_rule.ListRatelimitRuleRes>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/ratelimit/rules?${fm.renderURLSearchParams(req, ["workspaceId"])}`, {...initReq, method: "GET"})
86
+ }
87
+ static GetRatelimitRule(req: SkoalaApiHostedV1alpha2Ratelimit_rule.GetRatelimitRuleReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Ratelimit_rule.GetRatelimitRuleRes> {
88
+ return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.GetRatelimitRuleReq, SkoalaApiHostedV1alpha2Ratelimit_rule.GetRatelimitRuleRes>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/ratelimit/rules/${req["name"]}?${fm.renderURLSearchParams(req, ["workspaceId", "name"])}`, {...initReq, method: "GET"})
89
+ }
90
+ static DeleteRatelimitRule(req: SkoalaApiHostedV1alpha2Ratelimit_rule.DeleteRatelimitRuleReq, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
91
+ return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.DeleteRatelimitRuleReq, GoogleProtobufEmpty.Empty>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/ratelimit/rules/${req["name"]}`, {...initReq, method: "DELETE"})
92
+ }
78
93
  static ListRLSDomainRules(req: SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesReq, initReq?: fm.InitReq): Promise<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesRes> {
79
94
  return fm.fetchReq<SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesReq, SkoalaApiHostedV1alpha2Ratelimit_rule.ListRLSDomainRulesRes>(`/apis/sesame.skoala.io/v1alpha2/workspaces/${req["workspaceId"]}/plugins/rls/${req["pluginName"]}/domain/${req["domain"]}?${fm.renderURLSearchParams(req, ["workspaceId", "pluginName", "domain"])}`, {...initReq, method: "GET"})
80
95
  }
@@ -102,6 +102,8 @@ export type Event = {
102
102
  involveObject?: EventInvolvedObject
103
103
  clusterUuid?: string
104
104
  timestamp?: string
105
+ action?: string
106
+ eventTime?: string
105
107
  }
106
108
 
107
109
  export type QueryEventCountRequest = {
@@ -10,6 +10,8 @@ export enum FeatureGateIDEnum {
10
10
  TRACING = "TRACING",
11
11
  GRAPH_VIRTUAL_NODE = "GRAPH_VIRTUAL_NODE",
12
12
  LOG_ALERT = "LOG_ALERT",
13
+ NET_FLOW = "NET_FLOW",
14
+ EVENT = "EVENT",
13
15
  }
14
16
 
15
17
  export type FeatureGateID = {
@@ -151,6 +151,8 @@ export type BaseGraphQuery = {
151
151
  clusterNames?: string[]
152
152
  filters?: Filter
153
153
  showVirtualNode?: boolean
154
+ showUpDownRelatedNode?: boolean
155
+ workloads?: string[]
154
156
  }
155
157
 
156
158
  export type BaseMetricsQuery = {
@@ -60,6 +60,7 @@ export type LogQuerySystemFilter = {
60
60
  clusterFilter?: string[]
61
61
  nodeFilter?: string[]
62
62
  fileFilter?: string[]
63
+ luceneFilter?: string
63
64
  }
64
65
 
65
66
  export type LogQueryEventFilter = {
@@ -149,10 +150,14 @@ export type DownloadLogResponse = {
149
150
  url?: string
150
151
  }
151
152
 
152
- export type ListLogFilePathsRequest = {
153
- cluster?: string
153
+
154
+ type BaseListLogFilePathsRequest = {
155
+ node?: string
154
156
  }
155
157
 
158
+ export type ListLogFilePathsRequest = BaseListLogFilePathsRequest
159
+ & OneOf<{ cluster: string; clusterName: string }>
160
+
156
161
  export type ListLogFilePathsResponse = {
157
162
  paths?: string[]
158
163
  }
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+ export type GetConfigResponse = {
7
+ grafanaUrl?: string
8
+ }
@@ -0,0 +1,95 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ import * as InsightIoApiMetricV1alpha1Metric from "../../metric/v1alpha1/metric.pb"
8
+ import * as InsightIoApiSpan_metricV1alpha1Otelspankind from "../../span_metric/v1alpha1/otelspankind.pb"
9
+
10
+ export enum GetResourcesCountRequestResourcesFilter {
11
+ RESOURCE_TYPE_UNSPECIFIED = "RESOURCE_TYPE_UNSPECIFIED",
12
+ CLUSTER_NORMAL_TOTAL = "CLUSTER_NORMAL_TOTAL",
13
+ CLUSTER_TOTAL = "CLUSTER_TOTAL",
14
+ NODE_NORMAL_TOTAL = "NODE_NORMAL_TOTAL",
15
+ NODE_TOTAL = "NODE_TOTAL",
16
+ DEPLOYMENT_NORMAL_TOTAL = "DEPLOYMENT_NORMAL_TOTAL",
17
+ DEPLOYMENT_TOTAL = "DEPLOYMENT_TOTAL",
18
+ STATEFULSET_NORMAL_TOTAL = "STATEFULSET_NORMAL_TOTAL",
19
+ STATEFULSET_TOTAL = "STATEFULSET_TOTAL",
20
+ DAEMONSET_NORMAL_TOTAL = "DAEMONSET_NORMAL_TOTAL",
21
+ DAEMONSET_TOTAL = "DAEMONSET_TOTAL",
22
+ JOB_NORMAL_TOTAL = "JOB_NORMAL_TOTAL",
23
+ JOB_TOTAL = "JOB_TOTAL",
24
+ POD_NORMAL_TOTAL = "POD_NORMAL_TOTAL",
25
+ POD_TOTAL = "POD_TOTAL",
26
+ LOG_TOTAL = "LOG_TOTAL",
27
+ TRACE_TOTAL = "TRACE_TOTAL",
28
+ }
29
+
30
+ export enum GetResourcesRangeRequestResourceFilter {
31
+ RESOURCE_TYPE_UNSPECIFIED = "RESOURCE_TYPE_UNSPECIFIED",
32
+ NODE_TOTAL = "NODE_TOTAL",
33
+ POD_TOTAL = "POD_TOTAL",
34
+ POD_ABNORMAL_TOTAL = "POD_ABNORMAL_TOTAL",
35
+ POD_NORMAL_TOTAL = "POD_NORMAL_TOTAL",
36
+ }
37
+
38
+ export enum GetResourcesUsageRequestResourceFilters {
39
+ RESOURCE_TYPE_UNSPECIFIED = "RESOURCE_TYPE_UNSPECIFIED",
40
+ CLUSTER_CPU_USAGE = "CLUSTER_CPU_USAGE",
41
+ CLUSTER_MEM_USAGE = "CLUSTER_MEM_USAGE",
42
+ CLUSTER_DISK_USAGE = "CLUSTER_DISK_USAGE",
43
+ NODE_CPU_USAGE = "NODE_CPU_USAGE",
44
+ NODE_MEM_USAGE = "NODE_MEM_USAGE",
45
+ NODE_DISK_USAGE = "NODE_DISK_USAGE",
46
+ }
47
+
48
+ export enum GetServicesMonitorRequestMonitorFilter {
49
+ MONITOR_TYPE_UNSPECIFIED = "MONITOR_TYPE_UNSPECIFIED",
50
+ AVG_LATENCY = "AVG_LATENCY",
51
+ ERR_RATE = "ERR_RATE",
52
+ }
53
+
54
+ export type GetResourcesCountRequest = {
55
+ time?: string
56
+ filters?: GetResourcesCountRequestResourcesFilter[]
57
+ }
58
+
59
+ export type GetResourcesCountResponse = {
60
+ data?: InsightIoApiMetricV1alpha1Metric.BatchQueryResult[]
61
+ }
62
+
63
+ export type GetResourcesRangeRequest = {
64
+ filters?: GetResourcesRangeRequestResourceFilter[]
65
+ start?: string
66
+ end?: string
67
+ step?: number
68
+ }
69
+
70
+ export type GetResourcesRangeResponse = {
71
+ data?: InsightIoApiMetricV1alpha1Metric.BatchQueryRangeResult[]
72
+ }
73
+
74
+ export type GetResourcesUsageRequest = {
75
+ filters?: GetResourcesUsageRequestResourceFilters[]
76
+ limit?: number
77
+ start?: string
78
+ end?: string
79
+ step?: number
80
+ }
81
+
82
+ export type GetResourcesUsageResponse = {
83
+ data?: InsightIoApiMetricV1alpha1Metric.BatchQueryRangeResult[]
84
+ }
85
+
86
+ export type GetServicesMonitorRequest = {
87
+ filters?: GetServicesMonitorRequestMonitorFilter[]
88
+ limit?: number
89
+ time?: string
90
+ spanKinds?: InsightIoApiSpan_metricV1alpha1Otelspankind.SpanKind[]
91
+ }
92
+
93
+ export type GetServicesMonitorResponse = {
94
+ data?: InsightIoApiMetricV1alpha1Metric.BatchQueryResult[]
95
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daocloud-proto/skoala",
3
- "version": "0.40.1-8",
3
+ "version": "0.41.0-2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,132 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ import * as InsightIoApiTypeV1alpha1Objectmeta from "../../type/v1alpha1/objectmeta.pb"
8
+ import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb"
9
+
10
+ export enum StatusPhase {
11
+ Pending = "Pending",
12
+ Running = "Running",
13
+ Failed = "Failed",
14
+ }
15
+
16
+ export type BaseProbeRequest = {
17
+ clusterName?: string
18
+ namespace?: string
19
+ jobName?: string
20
+ }
21
+
22
+ export type CreateProbeRequest = {
23
+ clusterName?: string
24
+ namespace?: string
25
+ probe?: ProbeSpec
26
+ }
27
+
28
+ export type UpdateProbeRequest = {
29
+ clusterName?: string
30
+ namespace?: string
31
+ jobName?: string
32
+ module?: string
33
+ targets?: Targets
34
+ interval?: string
35
+ scrapeTimeout?: string
36
+ }
37
+
38
+ export type Status = {
39
+ phase?: StatusPhase
40
+ }
41
+
42
+ export type Probe = {
43
+ kind?: string
44
+ apiVersion?: string
45
+ metadata?: InsightIoApiTypeV1alpha1Objectmeta.ObjectMeta
46
+ spec?: ProbeSpec
47
+ status?: Status
48
+ }
49
+
50
+ export type ProbeSpec = {
51
+ jobName?: string
52
+ module?: string
53
+ prober?: ProberSpec
54
+ targets?: Targets
55
+ interval?: string
56
+ scrapeTimeout?: string
57
+ relabelings?: RelabelConfig[]
58
+ proxyUrl?: string
59
+ enableHttp2?: boolean
60
+ filterRunning?: boolean
61
+ honorTimestamps?: boolean
62
+ honorLabels?: boolean
63
+ metricRelabelings?: RelabelConfig[]
64
+ followRedirects?: boolean
65
+ sampleLimit?: string
66
+ }
67
+
68
+ export type ProberSpec = {
69
+ url?: string
70
+ scheme?: string
71
+ path?: string
72
+ proxyUrl?: string
73
+ name?: string
74
+ }
75
+
76
+ export type RelabelConfig = {
77
+ sourceLabels?: string[]
78
+ separator?: string
79
+ targetLabel?: string
80
+ regex?: string
81
+ modulus?: string
82
+ replacement?: string
83
+ action?: string
84
+ }
85
+
86
+ export type TargetsStaticConfig = {
87
+ static?: string[]
88
+ labels?: {[key: string]: string}
89
+ relabelingConfigs?: RelabelConfig[]
90
+ }
91
+
92
+ export type TargetsIngress = {
93
+ }
94
+
95
+ export type Targets = {
96
+ staticConfig?: TargetsStaticConfig
97
+ }
98
+
99
+ export type ListProbesRequest = {
100
+ clusterName?: string
101
+ namespace?: string
102
+ fuzzyName?: string
103
+ page?: number
104
+ pageSize?: number
105
+ sorts?: string
106
+ }
107
+
108
+ export type ListProbesResponse = {
109
+ items?: Probe[]
110
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
111
+ }
112
+
113
+ export type GetProbersRequest = {
114
+ clusterName?: string
115
+ }
116
+
117
+ export type ClusterProbersResponseProber = {
118
+ prober?: ProberSpec
119
+ modules?: string[]
120
+ configmapMeta?: ClusterProbersResponseConfigmapMeta
121
+ }
122
+
123
+ export type ClusterProbersResponseConfigmapMeta = {
124
+ clusterName?: string
125
+ namespace?: string
126
+ name?: string
127
+ data?: string
128
+ }
129
+
130
+ export type ClusterProbersResponse = {
131
+ probers?: ClusterProbersResponseProber[]
132
+ }
@@ -38,6 +38,7 @@ export enum InsightAgentStatus {
38
38
  NOT_INSTALLED = "NOT_INSTALLED",
39
39
  HEALTHY = "HEALTHY",
40
40
  UNHEALTHY = "UNHEALTHY",
41
+ OFFLINE = "OFFLINE",
41
42
  }
42
43
 
43
44
  export enum Role {
@@ -124,19 +125,6 @@ export type insightAgentState = {
124
125
  traceStatus?: InsightAgentStatus
125
126
  }
126
127
 
127
- export type ListNamespacesRequest = {
128
- cluster?: string
129
- }
130
-
131
- export type ListNamespacesResponse = {
132
- namespaces?: Namespace[]
133
- }
134
-
135
- export type Namespace = {
136
- name?: string
137
- role?: Role
138
- }
139
-
140
128
  export type GetAgentSummaryRequest = {
141
129
  cluster?: string
142
130
  }
@@ -92,4 +92,22 @@ export type Job = {
92
92
  createTimestamp?: string
93
93
  jobPodNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
94
94
  conditions?: InsightIoApiResourceV1alpha1Type.Condition[]
95
+ }
96
+
97
+ export type GetJobPodsRequest = {
98
+ cluster?: string
99
+ namespace?: string
100
+ name?: string
101
+ pod?: string
102
+ page?: number
103
+ pageSize?: number
104
+ }
105
+
106
+ export type GetCronjobPodsRequest = {
107
+ cluster?: string
108
+ namespace?: string
109
+ name?: string
110
+ pod?: string
111
+ page?: number
112
+ pageSize?: number
95
113
  }
@@ -0,0 +1,43 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ import * as InsightIoApiResourceV1alpha1Cluster from "./cluster.pb"
8
+ import * as InsightIoApiResourceV1alpha1Type from "./type.pb"
9
+
10
+ export enum NamespacePhase {
11
+ NAMESPACE_PHASE_UNSPECIFIED = "NAMESPACE_PHASE_UNSPECIFIED",
12
+ Active = "Active",
13
+ Terminating = "Terminating",
14
+ }
15
+
16
+ export type ListNamespacesRequest = {
17
+ cluster?: string
18
+ }
19
+
20
+ export type ListNamespacesResponse = {
21
+ namespaces?: Namespace[]
22
+ }
23
+
24
+ export type Namespace = {
25
+ name?: string
26
+ role?: InsightIoApiResourceV1alpha1Cluster.Role
27
+ }
28
+
29
+ export type GetNamespaceRequest = {
30
+ cluster?: string
31
+ name?: string
32
+ }
33
+
34
+ export type NamespaceDetail = {
35
+ name?: string
36
+ cluster?: string
37
+ phase?: NamespacePhase
38
+ creationTimestamp?: string
39
+ deploymentNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
40
+ statefulsetNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
41
+ daemonsetNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
42
+ podNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
43
+ }
@@ -31,6 +31,7 @@ export type NodeSummary = {
31
31
  name?: string
32
32
  phase?: NodePhase
33
33
  podNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
34
+ gpuVendors?: string[]
34
35
  }
35
36
 
36
37
  export type GetNodeRequest = {
@@ -71,4 +72,25 @@ export type usage = {
71
72
  storageCapacity?: string
72
73
  storageAllocated?: string
73
74
  storageUsage?: number
75
+ }
76
+
77
+ export type GPUDashboardURL = {
78
+ vendor?: string
79
+ en?: string
80
+ zh?: string
81
+ }
82
+
83
+ export type GetGPUResponse = {
84
+ urls?: GPUDashboardURL[]
85
+ }
86
+
87
+ export type GetNodeGPUDashboardRequest = {
88
+ cluster?: string
89
+ name?: string
90
+ }
91
+
92
+ export type GetPodGPUDashboardRequest = {
93
+ cluster?: string
94
+ namespace?: string
95
+ name?: string
74
96
  }
@@ -7,15 +7,6 @@
7
7
  import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb"
8
8
  import * as InsightIoApiResourceV1alpha1Type from "./type.pb"
9
9
 
10
- type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
11
- type OneOf<T> =
12
- | { [k in keyof T]?: undefined }
13
- | (
14
- keyof T extends infer K ?
15
- (K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
16
- : never)
17
- : never);
18
-
19
10
  export enum PodPhase {
20
11
  POD_PHASE_UNSPECIFIED = "POD_PHASE_UNSPECIFIED",
21
12
  POD_PHASE_UNKNOWN = "POD_PHASE_UNKNOWN",
@@ -58,6 +49,11 @@ export type PodSummary = {
58
49
  phase?: PodPhase
59
50
  containerNumSummary?: InsightIoApiResourceV1alpha1Type.ResourceNumSummary
60
51
  podIp?: string
52
+ nodeName?: string
53
+ restartCount?: number
54
+ cpuUsage?: number
55
+ memoryUsage?: number
56
+ startTime?: string
61
57
  }
62
58
 
63
59
  export type GetPodRequest = {
@@ -66,8 +62,8 @@ export type GetPodRequest = {
66
62
  name?: string
67
63
  }
68
64
 
69
-
70
- type BasePodJVMRequest = {
65
+ export type GetPodJVMDashboardsRequest = {
66
+ cluster?: string
71
67
  namespace?: string
72
68
  name?: string
73
69
  start?: string
@@ -75,9 +71,6 @@ type BasePodJVMRequest = {
75
71
  step?: number
76
72
  }
77
73
 
78
- export type PodJVMRequest = BasePodJVMRequest
79
- & OneOf<{ cluster: string; clusterName: string }>
80
-
81
74
  export type Pod = {
82
75
  name?: string
83
76
  cluster?: string
@@ -90,7 +83,7 @@ export type Pod = {
90
83
  conditions?: InsightIoApiResourceV1alpha1Type.Condition[]
91
84
  }
92
85
 
93
- export type PodJVMInfo = {
86
+ export type GetPodJVMDashboardsResponse = {
94
87
  type?: JVMType
95
88
  urls?: JVMUrls
96
89
  }
@@ -68,4 +68,31 @@ export type workloadUsage = {
68
68
  memoryLimit?: string
69
69
  memoryUsage?: string
70
70
  networkUsage?: string
71
+ }
72
+
73
+ export type GetDeploymentPodsRequest = {
74
+ cluster?: string
75
+ namespace?: string
76
+ name?: string
77
+ pod?: string
78
+ page?: number
79
+ pageSize?: number
80
+ }
81
+
82
+ export type GetStatefulsetPodsRequest = {
83
+ cluster?: string
84
+ namespace?: string
85
+ name?: string
86
+ pod?: string
87
+ page?: number
88
+ pageSize?: number
89
+ }
90
+
91
+ export type GetDaemonsetPodsRequest = {
92
+ cluster?: string
93
+ namespace?: string
94
+ name?: string
95
+ pod?: string
96
+ page?: number
97
+ pageSize?: number
71
98
  }
@@ -111,4 +111,32 @@ export type ServiceItem = {
111
111
  export type GetServicesResponse = {
112
112
  items?: ServiceItem[]
113
113
  pagination?: InsightIoApiTypeV1alpha1Page.Pagination
114
+ }
115
+
116
+ export type GetServicePodsRequest = {
117
+ clusterName?: string
118
+ namespace?: string
119
+ name?: string
120
+ sort?: string
121
+ page?: number
122
+ pageSize?: number
123
+ extensionFilters?: string
124
+ endTime?: string
125
+ lookback?: string
126
+ step?: string
127
+ ratePer?: string
128
+ spanKinds?: InsightIoApiSpan_metricV1alpha1Otelspankind.SpanKind[]
129
+ }
130
+
131
+ export type PodItem = {
132
+ podName?: string
133
+ clusterName?: string
134
+ namespace?: string
135
+ metricsMap?: {[key: string]: MetricsEntity}
136
+ reqPercentage?: number
137
+ }
138
+
139
+ export type GetServicePodsResponse = {
140
+ items?: PodItem[]
141
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
114
142
  }
@@ -0,0 +1,67 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ export enum WorkloadState {
8
+ WORKLOAD_STATE_UNSPECIFIED = "WORKLOAD_STATE_UNSPECIFIED",
9
+ Running = "Running",
10
+ Deleting = "Deleting",
11
+ Not_Ready = "Not_Ready",
12
+ Stopped = "Stopped",
13
+ Waiting = "Waiting",
14
+ }
15
+
16
+ export type OwnerReference = {
17
+ uid?: string
18
+ controller?: boolean
19
+ name?: string
20
+ kind?: string
21
+ }
22
+
23
+ export type ObjectMeta = {
24
+ name?: string
25
+ namespace?: string
26
+ uid?: string
27
+ resourceVersion?: string
28
+ creationTimestamp?: string
29
+ deletionTimestamp?: string
30
+ labels?: {[key: string]: string}
31
+ annotations?: {[key: string]: string}
32
+ ownerReferences?: OwnerReference[]
33
+ }
34
+
35
+ export type Selector = {
36
+ matchLabels?: {[key: string]: string}
37
+ }
38
+
39
+ export type LabelSelector = {
40
+ matchLabels?: {[key: string]: string}
41
+ matchExpressions?: LabelSelectorRequirement[]
42
+ }
43
+
44
+ export type LabelSelectorRequirement = {
45
+ key?: string
46
+ operator?: string
47
+ values?: string[]
48
+ }
49
+
50
+ export type RollingUpdate = {
51
+ maxSurge?: string
52
+ maxUnavailable?: string
53
+ }
54
+
55
+ export type UpdateStrategy = {
56
+ rollingUpdate?: RollingUpdate
57
+ type?: string
58
+ }
59
+
60
+ export type Condition = {
61
+ lastTransitionTime?: string
62
+ lastUpdateTime?: string
63
+ message?: string
64
+ reason?: string
65
+ status?: string
66
+ type?: string
67
+ }
@@ -0,0 +1,23 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ /*
4
+ * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
5
+ */
6
+
7
+ import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb"
8
+ export type ListUsersRequest = {
9
+ search?: string
10
+ pageSize?: number
11
+ page?: number
12
+ }
13
+
14
+ export type User = {
15
+ id?: string
16
+ name?: string
17
+ enabled?: boolean
18
+ }
19
+
20
+ export type ListUsersResponse = {
21
+ items?: User[]
22
+ pagination?: InsightIoApiTypeV1alpha1Page.Pagination
23
+ }