Files
2025-11-18 03:36:49 +08:00

2271 lines
43 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NodeService
> 边缘节点管理服务
---
## checkNodeLatestVersion
> 检查新版本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/checkNodeLatestVersion`
- RPC`rpc checkNodeLatestVersion (CheckNodeLatestVersionRequest) returns (CheckNodeLatestVersionResponse);`
**请求对象 (`CheckNodeLatestVersionRequest`)**
```json
{
"os": "string",
"arch": "string",
"currentVersion": "string"
}
```
**响应对象 (`CheckNodeLatestVersionResponse`)**
```json
{
"hasNewVersion": "bool",
"newVersion": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/checkNodeLatestVersion" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## copyNodeActionsToNodeCluster
> 复制动作设置到集群
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeCluster`
- RPC`rpc copyNodeActionsToNodeCluster(CopyNodeActionsToNodeClusterRequest) returns (RPCSuccess);`
**请求对象 (`CopyNodeActionsToNodeClusterRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeCluster" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## copyNodeActionsToNodeGroup
> 复制动作设置到分组
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeGroup`
- RPC`rpc copyNodeActionsToNodeGroup(CopyNodeActionsToNodeGroupRequest) returns (RPCSuccess);`
**请求对象 (`CopyNodeActionsToNodeGroupRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeGroup" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllEnabledNodes
> 所有可用的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllEnabledNodes`
- RPC`rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllEnabledNodesRequest`)**
```json
{}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodes" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllEnabledNodesMatch
> 计算匹配的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllEnabledNodesMatch`
- RPC`rpc countAllEnabledNodesMatch (CountAllEnabledNodesMatchRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllEnabledNodesMatchRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID",
"installState": "int32",
"activeState": "int32",
"keyword": "string // 关键词",
"nodeGroupId": "int64",
"nodeRegionId": "int64",
"level": "int32"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesMatch" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllEnabledNodesWithNodeGrantId
> 计算使用某个认证的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGrantId`
- RPC`rpc countAllEnabledNodesWithNodeGrantId (CountAllEnabledNodesWithNodeGrantIdRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllEnabledNodesWithNodeGrantIdRequest`)**
```json
{
"nodeGrantId": "int64"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGrantId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllEnabledNodesWithNodeGroupId
> 计算某个节点分组内的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGroupId`
- RPC`rpc countAllEnabledNodesWithNodeGroupId (CountAllEnabledNodesWithNodeGroupIdRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllEnabledNodesWithNodeGroupIdRequest`)**
```json
{
"nodeGroupId": "int64"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGroupId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllEnabledNodesWithNodeRegionId
> 计算某个区域下的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeRegionId`
- RPC`rpc countAllEnabledNodesWithNodeRegionId (CountAllEnabledNodesWithNodeRegionIdRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllEnabledNodesWithNodeRegionIdRequest`)**
```json
{
"nodeRegionId": "int64"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeRegionId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllNodeRegionInfo
> 查找节点区域信息数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllNodeRegionInfo`
- RPC`rpc countAllNodeRegionInfo(CountAllNodeRegionInfoRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllNodeRegionInfoRequest`)**
```json
{
"nodeRegionId": "int64 // 区域ID可选"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllNodeRegionInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllNotInstalledNodesWithNodeClusterId
> 计算没有安装的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllNotInstalledNodesWithNodeClusterId`
- RPC`rpc countAllNotInstalledNodesWithNodeClusterId (CountAllNotInstalledNodesWithNodeClusterIdRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllNotInstalledNodesWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllNotInstalledNodesWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countAllUpgradeNodesWithNodeClusterId
> 计算需要升级的节点数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countAllUpgradeNodesWithNodeClusterId`
- RPC`rpc countAllUpgradeNodesWithNodeClusterId (CountAllUpgradeNodesWithNodeClusterIdRequest) returns (RPCCountResponse);`
**请求对象 (`CountAllUpgradeNodesWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countAllUpgradeNodesWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## countNodeInitScript
> 查找节点区域信息数量
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/countNodeInitScript`
- RPC`rpc countNodeInitScript(CountNodeInitScriptRequest) returns (RPCCountResponse);`
**请求对象 (`CountNodeInitScriptRequest`)**
```json
{}
```
**响应对象 (`RPCCountResponse`)**
```json
{
"count": "int64 // 数量"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/countNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## createNode
> 创建节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/createNode`
- RPC`rpc createNode (CreateNodeRequest) returns (CreateNodeResponse);`
**请求对象 (`CreateNodeRequest`)**
```json
{
"name": "string // 节点名称",
"nodeClusterId": "int64 // 节点所属集群",
"nodeLogin": "NodeLogin // 节点登录信息",
"nodeGroupId": "int64 // 节点所属分组",
"dnsRoutes": "[]string // 节点DNS线路列表",
"nodeRegionId": "int64 // 节点所属区域"
}
```
**响应对象 (`CreateNodeResponse`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/createNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## createNodeInitScript
> 创建节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/createNodeInitScript`
- RPC`rpc createNodeInitScript(CreateNodeInitScriptRequest) returns (CreateNodeInitScriptResponse);`
**请求对象 (`CreateNodeInitScriptRequest`)**
```json
{
"name": "string // 脚本名称",
"code": "string // 脚本代码"
}
```
**响应对象 (`CreateNodeInitScriptResponse`)**
```json
{
"scriptId": "int64"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/createNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## deleteNode
> 删除节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/deleteNode`
- RPC`rpc deleteNode (DeleteNodeRequest) returns (RPCSuccess);`
**请求对象 (`DeleteNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/deleteNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## deleteNodeFromNodeCluster
> 从集群中删除节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/deleteNodeFromNodeCluster`
- RPC`rpc deleteNodeFromNodeCluster (DeleteNodeFromNodeClusterRequest) returns (RPCSuccess);`
**请求对象 (`DeleteNodeFromNodeClusterRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/deleteNodeFromNodeCluster" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## deleteNodeInitScript
> 删除节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/deleteNodeInitScript`
- RPC`rpc deleteNodeInitScript(DeleteNodeInitScriptRequest) returns(RPCSuccess);`
**请求对象 (`DeleteNodeInitScriptRequest`)**
```json
{
"scriptId": "int64"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/deleteNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllEnabledNodesDNSWithNodeClusterId
> 取得某个集群下的所有节点DNS信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllEnabledNodesDNSWithNodeClusterId`
- RPC`rpc findAllEnabledNodesDNSWithNodeClusterId (FindAllEnabledNodesDNSWithNodeClusterIdRequest) returns (FindAllEnabledNodesDNSWithNodeClusterIdResponse);`
**请求对象 (`FindAllEnabledNodesDNSWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID",
"isInstalled": "bool"
}
```
**响应对象 (`FindAllEnabledNodesDNSWithNodeClusterIdResponse`)**
```json
{
"nodes": "[]NodeDNSInfo"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesDNSWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllEnabledNodesWithNodeClusterId
> 根据集群查找所有节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeClusterId`
- RPC`rpc findAllEnabledNodesWithNodeClusterId (FindAllEnabledNodesWithNodeClusterIdRequest) returns (FindAllEnabledNodesWithNodeClusterIdResponse);`
**请求对象 (`FindAllEnabledNodesWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID",
"includeSecondary": "bool // 是否检查节点的从集群如果为false则只检查主集群ID"
}
```
**响应对象 (`FindAllEnabledNodesWithNodeClusterIdResponse`)**
```json
{
"nodes": "[]Node"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllEnabledNodesWithNodeGrantId
> 查找使用某个认证的所有节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeGrantId`
- RPC`rpc findAllEnabledNodesWithNodeGrantId (FindAllEnabledNodesWithNodeGrantIdRequest) returns (FindAllEnabledNodesWithNodeGrantIdResponse);`
**请求对象 (`FindAllEnabledNodesWithNodeGrantIdRequest`)**
```json
{
"nodeGrantId": "int64"
}
```
**响应对象 (`FindAllEnabledNodesWithNodeGrantIdResponse`)**
```json
{
"nodes": "[]Node"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeGrantId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllNodeInitScripts
> 获取一共节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllNodeInitScripts`
- RPC`rpc findAllNodeInitScripts(FindAllNodeInitScriptsRequest) returns (FindAllNodeInitScriptsResponse);`
**请求对象 (`FindAllNodeInitScriptsRequest`)**
```json
{}
```
**响应对象 (`FindAllNodeInitScriptsResponse`)**
```json
{
"nodeInitScripts": "[]NodeInitScript"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllNodeInitScripts" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllNodeScheduleInfoWithNodeClusterId
> 查找集群的节点调度信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllNodeScheduleInfoWithNodeClusterId`
- RPC`rpc findAllNodeScheduleInfoWithNodeClusterId(FindAllNodeScheduleInfoWithNodeClusterIdRequest) returns (FindAllNodeScheduleInfoWithNodeClusterIdResponse);`
**请求对象 (`FindAllNodeScheduleInfoWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`FindAllNodeScheduleInfoWithNodeClusterIdResponse`)**
```json
{
"nodes": "[]ScheduleInfo // 调动信息列表",
"nodeId": "int64 // 节点ID",
"nodeName": "string // 节点名称",
"nodeGroupId": "int64 // 节点分组ID",
"nodeGroupName": "string // 节点分组名称",
"offlineDay": "string // 下线日期格式YYYYMMDD",
"isBackupForCluster": "bool // 是否为集群备份节点",
"isBackupForGroup": "bool // 是否为分组备份节点",
"backupIPs": "[]string // 备用IP",
"actionStatusJSON": "bytes // 动作状态"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllNodeScheduleInfoWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllNotInstalledNodesWithNodeClusterId
> 列出所有未安装的节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllNotInstalledNodesWithNodeClusterId`
- RPC`rpc findAllNotInstalledNodesWithNodeClusterId (FindAllNotInstalledNodesWithNodeClusterIdRequest) returns (FindAllNotInstalledNodesWithNodeClusterIdResponse);`
**请求对象 (`FindAllNotInstalledNodesWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`FindAllNotInstalledNodesWithNodeClusterIdResponse`)**
```json
{
"nodes": "[]Node"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllNotInstalledNodesWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findAllUpgradeNodesWithNodeClusterId
> 列出所有需要升级的节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findAllUpgradeNodesWithNodeClusterId`
- RPC`rpc findAllUpgradeNodesWithNodeClusterId (FindAllUpgradeNodesWithNodeClusterIdRequest) returns (FindAllUpgradeNodesWithNodeClusterIdResponse);`
**请求对象 (`FindAllUpgradeNodesWithNodeClusterIdRequest`)**
```json
{
"nodeClusterId": "int64 // 集群ID"
}
```
**响应对象 (`FindAllUpgradeNodesWithNodeClusterIdResponse`)**
```json
{
"nodes": "[]NodeUpgrade",
"node": "Node",
"os": "string",
"arch": "string",
"oldVersion": "string",
"newVersion": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findAllUpgradeNodesWithNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findEnabledBasicNode
> 获取单个节点基本信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findEnabledBasicNode`
- RPC`rpc findEnabledBasicNode (FindEnabledBasicNodeRequest) returns (FindEnabledBasicNodeResponse);`
**请求对象 (`FindEnabledBasicNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindEnabledBasicNodeResponse`)**
```json
{
"node": "BasicNode // 节点基本信息"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledBasicNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findEnabledNode
> 获取单个节点信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findEnabledNode`
- RPC`rpc findEnabledNode (FindEnabledNodeRequest) returns (FindEnabledNodeResponse);`
**请求对象 (`FindEnabledNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindEnabledNodeResponse`)**
```json
{
"node": "Node // 节点信息"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findEnabledNodeConfigInfo
> 取得节点的配置概要信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findEnabledNodeConfigInfo`
- RPC`rpc findEnabledNodeConfigInfo (FindEnabledNodeConfigInfoRequest) returns (FindEnabledNodeConfigInfoResponse);`
**请求对象 (`FindEnabledNodeConfigInfoRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindEnabledNodeConfigInfoResponse`)**
```json
{
"hasDNSInfo": "bool // 是否有DNS设置",
"hasCacheInfo": "bool // 是否有缓存设置",
"hasThresholds": "bool // 是否有阈值设置",
"hasSSH": "bool // 是否有SSH设置",
"hasSystemSettings": "bool // 是否有系统设置",
"hasDDoSProtection": "bool // 是否有DDoS防护设置",
"hasScheduleSettings": "bool // 是否有调度设置"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNodeConfigInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findEnabledNodeDNS
> 查找单个节点的域名解析信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findEnabledNodeDNS`
- RPC`rpc findEnabledNodeDNS (FindEnabledNodeDNSRequest) returns (FindEnabledNodeDNSResponse);`
**请求对象 (`FindEnabledNodeDNSRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"nodeClusterId": "int64 // 集群ID",
"nodeIPAddrId": "int64"
}
```
**响应对象 (`FindEnabledNodeDNSResponse`)**
```json
{
"node": "NodeDNSInfo"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNodeDNS" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findEnabledNodesWithIds
> 根据一组ID获取节点信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findEnabledNodesWithIds`
- RPC`rpc findEnabledNodesWithIds (FindEnabledNodesWithIdsRequest) returns (FindEnabledNodesWithIdsResponse);`
**请求对象 (`FindEnabledNodesWithIdsRequest`)**
```json
{
"nodeIds": "[]int64"
}
```
**响应对象 (`FindEnabledNodesWithIdsResponse`)**
```json
{
"nodes": "[]Node"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNodesWithIds" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeAPIConfig
> 查找单个节点的API相关配置
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeAPIConfig`
- RPC`rpc findNodeAPIConfig(FindNodeAPIConfigRequest) returns (FindNodeAPIConfigResponse);`
**请求对象 (`FindNodeAPIConfigRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeAPIConfigResponse`)**
```json
{
"apiNodeAddrsJSON": "bytes"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeAPIConfig" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeDDoSProtection
> 获取节点的DDoS设置
- 角色:`node`, `admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeDDoSProtection`
- RPC`rpc findNodeDDoSProtection(FindNodeDDoSProtectionRequest) returns (FindNodeDDoSProtectionResponse);`
**请求对象 (`FindNodeDDoSProtectionRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeDDoSProtectionResponse`)**
```json
{
"ddosProtectionJSON": "bytes"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeDDoSProtection" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeDNSResolver
> 读取节点DNS Resolver
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeDNSResolver`
- RPC`rpc findNodeDNSResolver(FindNodeDNSResolverRequest) returns (FindNodeDNSResolverResponse);`
**请求对象 (`FindNodeDNSResolverRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeDNSResolverResponse`)**
```json
{
"dnsResolverJSON": "bytes"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeDNSResolver" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeGlobalServerConfig
> 取得节点的服务全局配置
- 角色:`node`, `admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeGlobalServerConfig`
- RPC`rpc findNodeGlobalServerConfig(FindNodeGlobalServerConfigRequest) returns (FindNodeGlobalServerConfigResponse);`
**请求对象 (`FindNodeGlobalServerConfigRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeGlobalServerConfigResponse`)**
```json
{
"globalServerConfigJSON": "bytes"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeGlobalServerConfig" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeInitScript
> 获取节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeInitScript`
- RPC`rpc findNodeInitScript(FindNodeInitScriptRequest) returns (FindNodeInitScriptResponse);`
**请求对象 (`FindNodeInitScriptRequest`)**
```json
{
"scriptId": "int64"
}
```
**响应对象 (`FindNodeInitScriptResponse`)**
```json
{
"nodeInitScript": "NodeInitScript"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeInstallStatus
> 读取节点安装状态
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeInstallStatus`
- RPC`rpc findNodeInstallStatus (FindNodeInstallStatusRequest) returns (FindNodeInstallStatusResponse);`
**请求对象 (`FindNodeInstallStatusRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeInstallStatusResponse`)**
```json
{
"installStatus": "NodeInstallStatus"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeInstallStatus" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## findNodeScheduleInfo
> 查找节点调度信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/findNodeScheduleInfo`
- RPC`rpc findNodeScheduleInfo(FindNodeScheduleInfoRequest) returns (FindNodeScheduleInfoResponse);`
**请求对象 (`FindNodeScheduleInfoRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`FindNodeScheduleInfoResponse`)**
```json
{
"scheduleInfo": "ScheduleInfo // 调度信息",
"offlineDay": "string // 下线日期格式YYYYMMDD",
"isBackupForCluster": "bool // 是否为集群备份节点",
"isBackupForGroup": "bool // 是否为分组备份节点",
"backupIPs": "[]string // 备用IP",
"actionStatusJSON": "bytes // 动作状态"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/findNodeScheduleInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## installNode
> 安装节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/installNode`
- RPC`rpc installNode (InstallNodeRequest) returns (InstallNodeResponse);`
**请求对象 (`InstallNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"initScriptId": "int64"
}
```
**响应对象 (`InstallNodeResponse`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/installNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## listEnabledNodesMatch
> 列出单页节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/listEnabledNodesMatch`
- RPC`rpc listEnabledNodesMatch (ListEnabledNodesMatchRequest) returns (ListEnabledNodesMatchResponse);`
**请求对象 (`ListEnabledNodesMatchRequest`)**
```json
{
"offset": "int64 // 读取位置",
"size": "int64 // 读取数量",
"nodeClusterId": "int64 // 集群ID",
"installState": "int32 // 安装状态",
"activeState": "int32 // 在线状态",
"keyword": "string // 关键词",
"nodeGroupId": "int64 // 节点分组ID",
"nodeRegionId": "int64 // 节点区域ID",
"level": "int32 // 节点级别目前只有1L1和2L2",
"cpuAsc": "bool",
"cpuDesc": "bool",
"memoryAsc": "bool",
"memoryDesc": "bool",
"trafficInAsc": "bool",
"trafficInDesc": "bool",
"trafficOutAsc": "bool",
"trafficOutDesc": "bool",
"loadAsc": "bool",
"loadDesc": "bool",
"connectionsAsc": "bool",
"connectionsDesc": "bool"
}
```
**响应对象 (`ListEnabledNodesMatchResponse`)**
```json
{
"nodes": "[]Node"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/listEnabledNodesMatch" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## listNodeInitScript
> 列表节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/listNodeInitScript`
- RPC`rpc listNodeInitScript(ListNodeInitScriptRequest) returns (ListNodeInitScriptResponse);`
**请求对象 (`ListNodeInitScriptRequest`)**
```json
{
"offset": "int64 // 读取位置",
"size": "int64 // 读取数量"
}
```
**响应对象 (`ListNodeInitScriptResponse`)**
```json
{
"nodeInitScripts": "[]NodeInitScript"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/listNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## listNodeRegionInfo
> 列出单页节点区域信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/listNodeRegionInfo`
- RPC`rpc listNodeRegionInfo(ListNodeRegionInfoRequest) returns (ListNodeRegionInfoResponse);`
**请求对象 (`ListNodeRegionInfoRequest`)**
```json
{
"nodeRegionId": "int64 // 区域ID可选",
"offset": "int64 // 读取位置",
"size": "int64 // 数量通常不能小于0"
}
```
**响应对象 (`ListNodeRegionInfoResponse`)**
```json
{
"infoList": "[]Info",
"id": "int64",
"name": "string // 名称",
"nodeRegion": "NodeRegion",
"nodeCluster": "NodeCluster"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/listNodeRegionInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## resetNodeActionStatus
> 重置节点动作状态
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/resetNodeActionStatus`
- RPC`rpc resetNodeActionStatus(ResetNodeActionStatusRequest) returns (RPCSuccess);`
**请求对象 (`ResetNodeActionStatusRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/resetNodeActionStatus" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## sendCommandToNode
> 向节点发送命令
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/sendCommandToNode`
- RPC`rpc sendCommandToNode (NodeStreamMessage) returns (NodeStreamMessage);`
**请求对象 (`NodeStreamMessage`)**
```json
{
"nodeId": "int64 // 节点ID",
"requestId": "int64",
"timeoutSeconds": "int32",
"code": "string",
"dataJSON": "bytes",
"isOk": "bool",
"message": "string"
}
```
**响应对象 (`NodeStreamMessage`)**
```json
{
"nodeId": "int64 // 节点ID",
"requestId": "int64",
"timeoutSeconds": "int32",
"code": "string",
"dataJSON": "bytes",
"isOk": "bool",
"message": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/sendCommandToNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## startNode
> 启动节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/startNode`
- RPC`rpc startNode (StartNodeRequest) returns (StartNodeResponse);`
**请求对象 (`StartNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`StartNodeResponse`)**
```json
{
"isOk": "bool",
"error": "string"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/startNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## stopNode
> 停止节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/stopNode`
- RPC`rpc stopNode (StopNodeRequest) returns (StopNodeResponse);`
**请求对象 (`StopNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`StopNodeResponse`)**
```json
{
"isOk": "bool // 是否成功",
"error": "string // 失败时的错误信息"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/stopNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## uninstallNode
> 卸载节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/uninstallNode`
- RPC`rpc uninstallNode(UninstallNodeRequest) returns (UninstallNodeResponse);`
**请求对象 (`UninstallNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID"
}
```
**响应对象 (`UninstallNodeResponse`)**
```json
{
"isOk": "bool // 是否成功",
"error": "string // 失败时的错误信息"
}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/uninstallNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNode
> 修改节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNode`
- RPC`rpc updateNode (UpdateNodeRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"name": "string // 名称",
"nodeClusterId": "int64 // 集群ID",
"secondaryNodeClusterIds": "[]int64",
"isOn": "bool // 是否启用",
"nodeGroupId": "int64",
"nodeRegionId": "int64",
"level": "int32",
"lnAddrs": "[]string // Ln节点访问地址",
"enableIPLists": "bool // 是否启用IP名单"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeAPIConfig
> 修改某个节点的API相关配置
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeAPIConfig`
- RPC`rpc updateNodeAPIConfig(UpdateNodeAPIConfigRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeAPIConfigRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"apiNodeAddrsJSON": "bytes"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeAPIConfig" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeBypassMobile
> 修改节点是否过移动
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeBypassMobile`
- RPC`rpc updateNodeBypassMobile(UpdateNodeBypassMobile) returns (RPCSuccess);`
**请求对象 (`UpdateNodeBypassMobile`)**
```json
{
"nodeId": "int64 // 节点ID",
"bypassMobile": "int32"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeBypassMobile" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeCache
> 修改节点缓存设置
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeCache`
- RPC`rpc updateNodeCache(UpdateNodeCacheRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeCacheRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"maxCacheDiskCapacity": "SizeCapacity // 磁盘容量限制",
"maxCacheMemoryCapacity": "SizeCapacity // 内存容量限制",
"cacheDiskDir": "string // 磁盘缓存目录",
"cacheDiskSubDirsJSON": "bytes // 磁盘缓存子目录"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeCache" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeDDoSProtection
> 修改节点的DDoS设置
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeDDoSProtection`
- RPC`rpc updateNodeDDoSProtection(UpdateNodeDDoSProtectionRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeDDoSProtectionRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"ddosProtectionJSON": "bytes"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeDDoSProtection" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeDNS
> 修改节点的DNS解析信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeDNS`
- RPC`rpc updateNodeDNS (UpdateNodeDNSRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeDNSRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"ipAddr": "string",
"nodeIPAddressId": "int64",
"dnsDomainId": "int64",
"routes": "[]string"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeDNS" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeDNSResolver
> 修改DNS Resolver
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeDNSResolver`
- RPC`rpc updateNodeDNSResolver(UpdateNodeDNSResolverRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeDNSResolverRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"dnsResolverJSON": "bytes"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeDNSResolver" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeInitScript
> 更新节点初始化脚本
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeInitScript`
- RPC`rpc updateNodeInitScript(UpdateNodeInitScriptRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeInitScriptRequest`)**
```json
{
"scriptId": "int64",
"name": "string // 名称",
"code": "string"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeInitScript" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeIsInstalled
> 修改节点安装状态
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeIsInstalled`
- RPC`rpc updateNodeIsInstalled (UpdateNodeIsInstalledRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeIsInstalledRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"isInstalled": "bool"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeIsInstalled" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeIsOn
> 修改节点的启用状态
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeIsOn`
- RPC`rpc updateNodeIsOn(UpdateNodeIsOnRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeIsOnRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"isOn": "bool // 是否启用"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeIsOn" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeLogin
> 修改节点登录信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeLogin`
- RPC`rpc updateNodeLogin (UpdateNodeLoginRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeLoginRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"nodeLogin": "NodeLogin"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeLogin" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeRegionInfo
> 修改节点区域信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeRegionInfo`
- RPC`rpc updateNodeRegionInfo(UpdateNodeRegionInfoRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeRegionInfoRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"nodeRegionId": "int64"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeRegionInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeScheduleInfo
> 修改节点调度信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeScheduleInfo`
- RPC`rpc updateNodeScheduleInfo(UpdateNodeScheduleInfoRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeScheduleInfoRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"offlineDay": "string // 下线日期格式YYYYMMDD",
"isBackupForCluster": "bool // 是否为集群备份节点",
"isBackupForGroup": "bool // 是否为分组备份节点",
"backupIPs": "[]string // 备用IP"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeScheduleInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeSystem
> 修改节点系统信息
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeSystem`
- RPC`rpc updateNodeSystem(UpdateNodeSystemRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeSystemRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"maxCPU": "int32"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeSystem" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## updateNodeUp
> 设置节点上线状态
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/updateNodeUp`
- RPC`rpc updateNodeUp (UpdateNodeUpRequest) returns (RPCSuccess);`
**请求对象 (`UpdateNodeUpRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"isUp": "bool"
}
```
**响应对象 (`RPCSuccess`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeUp" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---
## upgradeNode
> 升级节点
- 角色:`admin`
- HTTP`POST https://backend.dooki.cloud/NodeService/upgradeNode`
- RPC`rpc upgradeNode (UpgradeNodeRequest) returns (UpgradeNodeResponse);`
**请求对象 (`UpgradeNodeRequest`)**
```json
{
"nodeId": "int64 // 节点ID",
"initScriptId": "int64"
}
```
**响应对象 (`UpgradeNodeResponse`)**
```json
{}
```
**调用示例**
```bash
curl -X POST "https://backend.dooki.cloud/NodeService/upgradeNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
```
---