@@ -2179,84 +2179,187 @@ class TJsonNodes : public TViewerPipeClient {
2179
2179
}
2180
2180
2181
2181
static YAML::Node GetSwagger () {
2182
- TSimpleYamlBuilder yaml ({
2183
- .Method = " get" ,
2184
- .Tag = " viewer" ,
2185
- .Summary = " Nodes info" ,
2186
- .Description = " Information about nodes" ,
2187
- });
2188
- yaml.AddParameter ({
2189
- .Name = " path" ,
2190
- .Description = " path to schema object" ,
2191
- .Type = " string" ,
2192
- });
2193
- yaml.AddParameter ({
2194
- .Name = " with" ,
2195
- .Description = " filter nodes by missing disks or space" ,
2196
- .Type = " string" ,
2197
- });
2198
- yaml.AddParameter ({
2199
- .Name = " storage" ,
2200
- .Description = " return storage info" ,
2201
- .Type = " boolean" ,
2202
- });
2203
- yaml.AddParameter ({
2204
- .Name = " tablets" ,
2205
- .Description = " return tablets info" ,
2206
- .Type = " boolean" ,
2207
- });
2208
- yaml.AddParameter ({
2209
- .Name = " sort" ,
2210
- .Description = " sort by (NodeId,Host,NodeName,DC,Rack,Version,Uptime,Missing)" ,
2211
- .Type = " string" ,
2212
- });
2213
- yaml.AddParameter ({
2214
- .Name = " group" ,
2215
- .Description = " group by (NodeId,Host,NodeName,DC,Rack,Version,Uptime,Missing)" ,
2216
- .Type = " string" ,
2217
- });
2218
- yaml.AddParameter ({
2219
- .Name = " offset" ,
2220
- .Description = " skip N nodes" ,
2221
- .Type = " integer" ,
2222
- });
2223
- yaml.AddParameter ({
2224
- .Name = " limit" ,
2225
- .Description = " limit to N nodes" ,
2226
- .Type = " integer" ,
2227
- });
2228
- yaml.AddParameter ({
2229
- .Name = " timeout" ,
2230
- .Description = " timeout in ms" ,
2231
- .Type = " integer" ,
2232
- });
2233
- yaml.AddParameter ({
2234
- .Name = " uptime" ,
2235
- .Description = " return only nodes with less uptime in sec." ,
2236
- .Type = " integer" ,
2237
- });
2238
- yaml.AddParameter ({
2239
- .Name = " problems_only" ,
2240
- .Description = " return only problem nodes" ,
2241
- .Type = " boolean" ,
2242
- });
2243
- yaml.AddParameter ({
2244
- .Name = " filter" ,
2245
- .Description = " filter nodes by id or host" ,
2246
- .Type = " string" ,
2247
- });
2248
- yaml.AddParameter ({
2249
- .Name = " filter_group_by" ,
2250
- .Description = " filter group by (NodeId,Host,NodeName,DC,Rack,Version,Uptime,Missing)" ,
2251
- .Type = " string" ,
2252
- });
2253
- yaml.AddParameter ({
2254
- .Name = " filter_group" ,
2255
- .Description = " content for filter group by" ,
2256
- .Type = " string" ,
2257
- });
2258
- yaml.SetResponseSchema (TProtoToYaml::ProtoToYamlSchema<NKikimrViewer::TNodesInfo>());
2259
- return yaml;
2182
+ YAML::Node node = YAML::Load (R"___(
2183
+ get:
2184
+ tags:
2185
+ - viewer
2186
+ summary: Nodes info
2187
+ description: Information about nodes
2188
+ parameters:
2189
+ - name: database
2190
+ in: query
2191
+ description: database name
2192
+ required: false
2193
+ type: string
2194
+ - name: path
2195
+ in: query
2196
+ description: path to schema object
2197
+ required: false
2198
+ type: string
2199
+ - name: node_id
2200
+ in: query
2201
+ description: node id
2202
+ required: false
2203
+ type: integer
2204
+ - name: group_id
2205
+ in: query
2206
+ description: group id
2207
+ required: false
2208
+ type: integer
2209
+ - name: pool
2210
+ in: query
2211
+ description: storage pool name
2212
+ required: false
2213
+ type: string
2214
+ - name: type
2215
+ in: query
2216
+ description: >
2217
+ return nodes of specific type:
2218
+ * `static`
2219
+ * `dynamic`
2220
+ * `any`
2221
+ - name: with
2222
+ in: query
2223
+ description: >
2224
+ filter groups by missing or space:
2225
+ * `missing`
2226
+ * `space`
2227
+ - name: storage
2228
+ in: query
2229
+ description: return storage info
2230
+ required: false
2231
+ type: boolean
2232
+ - name: tablets
2233
+ in: query
2234
+ description: return tablets info
2235
+ required: false
2236
+ type: boolean
2237
+ - name: problems_only
2238
+ in: query
2239
+ description: return only problem nodes
2240
+ required: false
2241
+ type: boolean
2242
+ - name: uptime
2243
+ in: query
2244
+ description: return only nodes with less uptime in sec.
2245
+ required: false
2246
+ type: integer
2247
+ - name: filter
2248
+ in: query
2249
+ description: filter nodes by id or host
2250
+ required: false
2251
+ type: string
2252
+ - name: sort
2253
+ in: query
2254
+ description: >
2255
+ sort by:
2256
+ * `NodeId`
2257
+ * `Host`
2258
+ * `NodeName`
2259
+ * `DC`
2260
+ * `Rack`
2261
+ * `Version`
2262
+ * `Uptime`
2263
+ required: false
2264
+ type: string
2265
+ - name: group
2266
+ in: query
2267
+ description: >
2268
+ group by:
2269
+ * `NodeId`
2270
+ * `Host`
2271
+ * `NodeName`
2272
+ * `Database`
2273
+ * `DiskSpaceUsage`
2274
+ * `DC`
2275
+ * `Rack`
2276
+ * `Missing`
2277
+ * `Uptime`
2278
+ * `Version`
2279
+ required: false
2280
+ type: string
2281
+ - name: filter_group_by
2282
+ in: query
2283
+ description: >
2284
+ group by:
2285
+ * `NodeId`
2286
+ * `Host`
2287
+ * `NodeName`
2288
+ * `Database`
2289
+ * `DiskSpaceUsage`
2290
+ * `DC`
2291
+ * `Rack`
2292
+ * `Missing`
2293
+ * `Uptime`
2294
+ * `Version`
2295
+ required: false
2296
+ type: string
2297
+ - name: filter_group
2298
+ in: query
2299
+ description: content for filter group by
2300
+ required: false
2301
+ type: string
2302
+ - name: fields_required
2303
+ in: query
2304
+ description: >
2305
+ list of fields required in response, the more - the heavier could be request. `all` for all fields:
2306
+ * `NodeId` (always required)
2307
+ * `SystemState`
2308
+ * `PDisks`
2309
+ * `VDisks`
2310
+ * `Tablets`
2311
+ * `Host`
2312
+ * `NodeName`
2313
+ * `DC`
2314
+ * `Rack`
2315
+ * `Version`
2316
+ * `Uptime`
2317
+ * `Memory`
2318
+ * `CPU`
2319
+ * `LoadAverage`
2320
+ * `Missing`
2321
+ * `DiskSpaceUsage`
2322
+ * `SubDomainKey`
2323
+ * `DisconnectTime`
2324
+ * `Database`
2325
+ required: false
2326
+ type: string
2327
+ - name: offset
2328
+ in: query
2329
+ description: skip N nodes
2330
+ required: false
2331
+ type: integer
2332
+ - name: limit
2333
+ in: query
2334
+ description: limit to N nodes
2335
+ required: false
2336
+ type: integer
2337
+ - name: timeout
2338
+ in: query
2339
+ description: timeout in ms
2340
+ required: false
2341
+ type: integer
2342
+ - name: direct
2343
+ in: query
2344
+ description: fulfill request on the target node without redirects
2345
+ required: false
2346
+ type: boolean
2347
+ responses:
2348
+ 200:
2349
+ description: OK
2350
+ content:
2351
+ application/json:
2352
+ schema:
2353
+ type: object
2354
+ 400:
2355
+ description: Bad Request
2356
+ 403:
2357
+ description: Forbidden
2358
+ 504:
2359
+ description: Gateway Timeout
2360
+ )___" );
2361
+ node[" get" ][" responses" ][" 200" ][" content" ][" application/json" ][" schema" ] = TProtoToYaml::ProtoToYamlSchema<NKikimrViewer::TNodesInfo>();
2362
+ return node;
2260
2363
}
2261
2364
};
2262
2365
0 commit comments