@@ -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