Skip to content

Commit dcbd0e0

Browse files
Add all params to viewer/nodes swagger (#9366)
1 parent f6426fb commit dcbd0e0

File tree

1 file changed

+181
-78
lines changed

1 file changed

+181
-78
lines changed

ydb/core/viewer/viewer_nodes.h

Lines changed: 181 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -2179,84 +2179,187 @@ class TJsonNodes : public TViewerPipeClient {
21792179
}
21802180

21812181
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;
22602363
}
22612364
};
22622365

0 commit comments

Comments
 (0)