Files
pyGoEdge-UserPanel/reference/goedge 文档/NodeService.md

2271 lines
43 KiB
Markdown
Raw Normal View History

2025-11-18 03:36:49 +08:00
# 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 '{
...
}'
```
---