Files
pyGoEdge-UserPanel/reference/goedge 文档/NodeService.md
2025-11-18 03:36:49 +08:00

43 KiB
Raw Blame History

NodeService

边缘节点管理服务


checkNodeLatestVersion

检查新版本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/checkNodeLatestVersion
  • RPCrpc checkNodeLatestVersion (CheckNodeLatestVersionRequest) returns (CheckNodeLatestVersionResponse);

请求对象 (CheckNodeLatestVersionRequest)

{
  "os": "string",
  "arch": "string",
  "currentVersion": "string"
}

响应对象 (CheckNodeLatestVersionResponse)

{
  "hasNewVersion": "bool",
  "newVersion": "string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/checkNodeLatestVersion" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

copyNodeActionsToNodeCluster

复制动作设置到集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeCluster
  • RPCrpc copyNodeActionsToNodeCluster(CopyNodeActionsToNodeClusterRequest) returns (RPCSuccess);

请求对象 (CopyNodeActionsToNodeClusterRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

copyNodeActionsToNodeGroup

复制动作设置到分组

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeGroup
  • RPCrpc copyNodeActionsToNodeGroup(CopyNodeActionsToNodeGroupRequest) returns (RPCSuccess);

请求对象 (CopyNodeActionsToNodeGroupRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/copyNodeActionsToNodeGroup" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledNodes

所有可用的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllEnabledNodes
  • RPCrpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledNodesRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodes" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledNodesMatch

计算匹配的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllEnabledNodesMatch
  • RPCrpc countAllEnabledNodesMatch (CountAllEnabledNodesMatchRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledNodesMatchRequest)

{
  "nodeClusterId": "int64 // 集群ID",
  "installState": "int32",
  "activeState": "int32",
  "keyword": "string // 关键词",
  "nodeGroupId": "int64",
  "nodeRegionId": "int64",
  "level": "int32"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesMatch" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledNodesWithNodeGrantId

计算使用某个认证的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGrantId
  • RPCrpc countAllEnabledNodesWithNodeGrantId (CountAllEnabledNodesWithNodeGrantIdRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledNodesWithNodeGrantIdRequest)

{
  "nodeGrantId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGrantId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledNodesWithNodeGroupId

计算某个节点分组内的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGroupId
  • RPCrpc countAllEnabledNodesWithNodeGroupId (CountAllEnabledNodesWithNodeGroupIdRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledNodesWithNodeGroupIdRequest)

{
  "nodeGroupId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeGroupId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledNodesWithNodeRegionId

计算某个区域下的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeRegionId
  • RPCrpc countAllEnabledNodesWithNodeRegionId (CountAllEnabledNodesWithNodeRegionIdRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledNodesWithNodeRegionIdRequest)

{
  "nodeRegionId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllEnabledNodesWithNodeRegionId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllNodeRegionInfo

查找节点区域信息数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllNodeRegionInfo
  • RPCrpc countAllNodeRegionInfo(CountAllNodeRegionInfoRequest) returns (RPCCountResponse);

请求对象 (CountAllNodeRegionInfoRequest)

{
  "nodeRegionId": "int64 // 区域ID可选"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllNodeRegionInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllNotInstalledNodesWithNodeClusterId

计算没有安装的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllNotInstalledNodesWithNodeClusterId
  • RPCrpc countAllNotInstalledNodesWithNodeClusterId (CountAllNotInstalledNodesWithNodeClusterIdRequest) returns (RPCCountResponse);

请求对象 (CountAllNotInstalledNodesWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllNotInstalledNodesWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllUpgradeNodesWithNodeClusterId

计算需要升级的节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countAllUpgradeNodesWithNodeClusterId
  • RPCrpc countAllUpgradeNodesWithNodeClusterId (CountAllUpgradeNodesWithNodeClusterIdRequest) returns (RPCCountResponse);

请求对象 (CountAllUpgradeNodesWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countAllUpgradeNodesWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countNodeInitScript

查找节点区域信息数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/countNodeInitScript
  • RPCrpc countNodeInitScript(CountNodeInitScriptRequest) returns (RPCCountResponse);

请求对象 (CountNodeInitScriptRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/countNodeInitScript" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNode

创建节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/createNode
  • RPCrpc createNode (CreateNodeRequest) returns (CreateNodeResponse);

请求对象 (CreateNodeRequest)

{
  "name": "string // 节点名称",
  "nodeClusterId": "int64 // 节点所属集群",
  "nodeLogin": "NodeLogin // 节点登录信息",
  "nodeGroupId": "int64 // 节点所属分组",
  "dnsRoutes": "[]string // 节点DNS线路列表",
  "nodeRegionId": "int64 // 节点所属区域"
}

响应对象 (CreateNodeResponse)

{
  "nodeId": "int64 // 节点ID"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/createNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNodeInitScript

创建节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/createNodeInitScript
  • RPCrpc createNodeInitScript(CreateNodeInitScriptRequest) returns (CreateNodeInitScriptResponse);

请求对象 (CreateNodeInitScriptRequest)

{
  "name": "string // 脚本名称",
  "code": "string // 脚本代码"
}

响应对象 (CreateNodeInitScriptResponse)

{
  "scriptId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/createNodeInitScript" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNode

删除节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/deleteNode
  • RPCrpc deleteNode (DeleteNodeRequest) returns (RPCSuccess);

请求对象 (DeleteNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/deleteNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNodeFromNodeCluster

从集群中删除节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/deleteNodeFromNodeCluster
  • RPCrpc deleteNodeFromNodeCluster (DeleteNodeFromNodeClusterRequest) returns (RPCSuccess);

请求对象 (DeleteNodeFromNodeClusterRequest)

{
  "nodeId": "int64 // 节点ID",
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/deleteNodeFromNodeCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNodeInitScript

删除节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/deleteNodeInitScript
  • RPCrpc deleteNodeInitScript(DeleteNodeInitScriptRequest) returns(RPCSuccess);

请求对象 (DeleteNodeInitScriptRequest)

{
  "scriptId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllEnabledNodesDNSWithNodeClusterId
  • RPCrpc findAllEnabledNodesDNSWithNodeClusterId (FindAllEnabledNodesDNSWithNodeClusterIdRequest) returns (FindAllEnabledNodesDNSWithNodeClusterIdResponse);

请求对象 (FindAllEnabledNodesDNSWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID",
  "isInstalled": "bool"
}

响应对象 (FindAllEnabledNodesDNSWithNodeClusterIdResponse)

{
  "nodes": "[]NodeDNSInfo"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesDNSWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllEnabledNodesWithNodeClusterId

根据集群查找所有节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeClusterId
  • RPCrpc findAllEnabledNodesWithNodeClusterId (FindAllEnabledNodesWithNodeClusterIdRequest) returns (FindAllEnabledNodesWithNodeClusterIdResponse);

请求对象 (FindAllEnabledNodesWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID",
  "includeSecondary": "bool // 是否检查节点的从集群如果为false则只检查主集群ID"
}

响应对象 (FindAllEnabledNodesWithNodeClusterIdResponse)

{
  "nodes": "[]Node"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllEnabledNodesWithNodeGrantId

查找使用某个认证的所有节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeGrantId
  • RPCrpc findAllEnabledNodesWithNodeGrantId (FindAllEnabledNodesWithNodeGrantIdRequest) returns (FindAllEnabledNodesWithNodeGrantIdResponse);

请求对象 (FindAllEnabledNodesWithNodeGrantIdRequest)

{
  "nodeGrantId": "int64"
}

响应对象 (FindAllEnabledNodesWithNodeGrantIdResponse)

{
  "nodes": "[]Node"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllEnabledNodesWithNodeGrantId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllNodeInitScripts

获取一共节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllNodeInitScripts
  • RPCrpc findAllNodeInitScripts(FindAllNodeInitScriptsRequest) returns (FindAllNodeInitScriptsResponse);

请求对象 (FindAllNodeInitScriptsRequest)

{}

响应对象 (FindAllNodeInitScriptsResponse)

{
  "nodeInitScripts": "[]NodeInitScript"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllNodeInitScripts" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllNodeScheduleInfoWithNodeClusterId

查找集群的节点调度信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllNodeScheduleInfoWithNodeClusterId
  • RPCrpc findAllNodeScheduleInfoWithNodeClusterId(FindAllNodeScheduleInfoWithNodeClusterIdRequest) returns (FindAllNodeScheduleInfoWithNodeClusterIdResponse);

请求对象 (FindAllNodeScheduleInfoWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (FindAllNodeScheduleInfoWithNodeClusterIdResponse)

{
  "nodes": "[]ScheduleInfo // 调动信息列表",
  "nodeId": "int64 // 节点ID",
  "nodeName": "string // 节点名称",
  "nodeGroupId": "int64 // 节点分组ID",
  "nodeGroupName": "string // 节点分组名称",
  "offlineDay": "string // 下线日期格式YYYYMMDD",
  "isBackupForCluster": "bool // 是否为集群备份节点",
  "isBackupForGroup": "bool // 是否为分组备份节点",
  "backupIPs": "[]string // 备用IP",
  "actionStatusJSON": "bytes // 动作状态"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllNodeScheduleInfoWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllNotInstalledNodesWithNodeClusterId

列出所有未安装的节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllNotInstalledNodesWithNodeClusterId
  • RPCrpc findAllNotInstalledNodesWithNodeClusterId (FindAllNotInstalledNodesWithNodeClusterIdRequest) returns (FindAllNotInstalledNodesWithNodeClusterIdResponse);

请求对象 (FindAllNotInstalledNodesWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (FindAllNotInstalledNodesWithNodeClusterIdResponse)

{
  "nodes": "[]Node"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllNotInstalledNodesWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllUpgradeNodesWithNodeClusterId

列出所有需要升级的节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findAllUpgradeNodesWithNodeClusterId
  • RPCrpc findAllUpgradeNodesWithNodeClusterId (FindAllUpgradeNodesWithNodeClusterIdRequest) returns (FindAllUpgradeNodesWithNodeClusterIdResponse);

请求对象 (FindAllUpgradeNodesWithNodeClusterIdRequest)

{
  "nodeClusterId": "int64 // 集群ID"
}

响应对象 (FindAllUpgradeNodesWithNodeClusterIdResponse)

{
  "nodes": "[]NodeUpgrade",
  "node": "Node",
  "os": "string",
  "arch": "string",
  "oldVersion": "string",
  "newVersion": "string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findAllUpgradeNodesWithNodeClusterId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledBasicNode

获取单个节点基本信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findEnabledBasicNode
  • RPCrpc findEnabledBasicNode (FindEnabledBasicNodeRequest) returns (FindEnabledBasicNodeResponse);

请求对象 (FindEnabledBasicNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindEnabledBasicNodeResponse)

{
  "node": "BasicNode // 节点基本信息"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledBasicNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledNode

获取单个节点信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findEnabledNode
  • RPCrpc findEnabledNode (FindEnabledNodeRequest) returns (FindEnabledNodeResponse);

请求对象 (FindEnabledNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindEnabledNodeResponse)

{
  "node": "Node // 节点信息"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledNodeConfigInfo

取得节点的配置概要信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findEnabledNodeConfigInfo
  • RPCrpc findEnabledNodeConfigInfo (FindEnabledNodeConfigInfoRequest) returns (FindEnabledNodeConfigInfoResponse);

请求对象 (FindEnabledNodeConfigInfoRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindEnabledNodeConfigInfoResponse)

{
  "hasDNSInfo": "bool // 是否有DNS设置",
  "hasCacheInfo": "bool // 是否有缓存设置",
  "hasThresholds": "bool // 是否有阈值设置",
  "hasSSH": "bool // 是否有SSH设置",
  "hasSystemSettings": "bool // 是否有系统设置",
  "hasDDoSProtection": "bool // 是否有DDoS防护设置",
  "hasScheduleSettings": "bool // 是否有调度设置"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findEnabledNodeConfigInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledNodeDNS

查找单个节点的域名解析信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findEnabledNodeDNS
  • RPCrpc findEnabledNodeDNS (FindEnabledNodeDNSRequest) returns (FindEnabledNodeDNSResponse);

请求对象 (FindEnabledNodeDNSRequest)

{
  "nodeId": "int64 // 节点ID",
  "nodeClusterId": "int64 // 集群ID",
  "nodeIPAddrId": "int64"
}

响应对象 (FindEnabledNodeDNSResponse)

{
  "node": "NodeDNSInfo"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findEnabledNodesWithIds
  • RPCrpc findEnabledNodesWithIds (FindEnabledNodesWithIdsRequest) returns (FindEnabledNodesWithIdsResponse);

请求对象 (FindEnabledNodesWithIdsRequest)

{
  "nodeIds": "[]int64"
}

响应对象 (FindEnabledNodesWithIdsResponse)

{
  "nodes": "[]Node"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeAPIConfig
  • RPCrpc findNodeAPIConfig(FindNodeAPIConfigRequest) returns (FindNodeAPIConfigResponse);

请求对象 (FindNodeAPIConfigRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeAPIConfigResponse)

{
  "apiNodeAddrsJSON": "bytes"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeDDoSProtection
  • RPCrpc findNodeDDoSProtection(FindNodeDDoSProtectionRequest) returns (FindNodeDDoSProtectionResponse);

请求对象 (FindNodeDDoSProtectionRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeDDoSProtectionResponse)

{
  "ddosProtectionJSON": "bytes"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeDNSResolver
  • RPCrpc findNodeDNSResolver(FindNodeDNSResolverRequest) returns (FindNodeDNSResolverResponse);

请求对象 (FindNodeDNSResolverRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeDNSResolverResponse)

{
  "dnsResolverJSON": "bytes"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeGlobalServerConfig
  • RPCrpc findNodeGlobalServerConfig(FindNodeGlobalServerConfigRequest) returns (FindNodeGlobalServerConfigResponse);

请求对象 (FindNodeGlobalServerConfigRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeGlobalServerConfigResponse)

{
  "globalServerConfigJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findNodeGlobalServerConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNodeInitScript

获取节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeInitScript
  • RPCrpc findNodeInitScript(FindNodeInitScriptRequest) returns (FindNodeInitScriptResponse);

请求对象 (FindNodeInitScriptRequest)

{
  "scriptId": "int64"
}

响应对象 (FindNodeInitScriptResponse)

{
  "nodeInitScript": "NodeInitScript"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findNodeInitScript" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNodeInstallStatus

读取节点安装状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeInstallStatus
  • RPCrpc findNodeInstallStatus (FindNodeInstallStatusRequest) returns (FindNodeInstallStatusResponse);

请求对象 (FindNodeInstallStatusRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeInstallStatusResponse)

{
  "installStatus": "NodeInstallStatus"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findNodeInstallStatus" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNodeScheduleInfo

查找节点调度信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/findNodeScheduleInfo
  • RPCrpc findNodeScheduleInfo(FindNodeScheduleInfoRequest) returns (FindNodeScheduleInfoResponse);

请求对象 (FindNodeScheduleInfoRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (FindNodeScheduleInfoResponse)

{
  "scheduleInfo": "ScheduleInfo // 调度信息",
  "offlineDay": "string // 下线日期格式YYYYMMDD",
  "isBackupForCluster": "bool // 是否为集群备份节点",
  "isBackupForGroup": "bool // 是否为分组备份节点",
  "backupIPs": "[]string // 备用IP",
  "actionStatusJSON": "bytes // 动作状态"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/findNodeScheduleInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

installNode

安装节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/installNode
  • RPCrpc installNode (InstallNodeRequest) returns (InstallNodeResponse);

请求对象 (InstallNodeRequest)

{
  "nodeId": "int64 // 节点ID",
  "initScriptId": "int64"
}

响应对象 (InstallNodeResponse)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/installNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listEnabledNodesMatch

列出单页节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/listEnabledNodesMatch
  • RPCrpc listEnabledNodesMatch (ListEnabledNodesMatchRequest) returns (ListEnabledNodesMatchResponse);

请求对象 (ListEnabledNodesMatchRequest)

{
  "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)

{
  "nodes": "[]Node"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/listEnabledNodesMatch" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listNodeInitScript

列表节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/listNodeInitScript
  • RPCrpc listNodeInitScript(ListNodeInitScriptRequest) returns (ListNodeInitScriptResponse);

请求对象 (ListNodeInitScriptRequest)

{
  "offset": "int64 // 读取位置",
  "size": "int64 // 读取数量"
}

响应对象 (ListNodeInitScriptResponse)

{
  "nodeInitScripts": "[]NodeInitScript"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/listNodeInitScript" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listNodeRegionInfo

列出单页节点区域信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/listNodeRegionInfo
  • RPCrpc listNodeRegionInfo(ListNodeRegionInfoRequest) returns (ListNodeRegionInfoResponse);

请求对象 (ListNodeRegionInfoRequest)

{
  "nodeRegionId": "int64 // 区域ID可选",
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListNodeRegionInfoResponse)

{
  "infoList": "[]Info",
  "id": "int64",
  "name": "string // 名称",
  "nodeRegion": "NodeRegion",
  "nodeCluster": "NodeCluster"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/listNodeRegionInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

resetNodeActionStatus

重置节点动作状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/resetNodeActionStatus
  • RPCrpc resetNodeActionStatus(ResetNodeActionStatusRequest) returns (RPCSuccess);

请求对象 (ResetNodeActionStatusRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/resetNodeActionStatus" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

sendCommandToNode

向节点发送命令

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/sendCommandToNode
  • RPCrpc sendCommandToNode (NodeStreamMessage) returns (NodeStreamMessage);

请求对象 (NodeStreamMessage)

{
  "nodeId": "int64 // 节点ID",
  "requestId": "int64",
  "timeoutSeconds": "int32",
  "code": "string",
  "dataJSON": "bytes",
  "isOk": "bool",
  "message": "string"
}

响应对象 (NodeStreamMessage)

{
  "nodeId": "int64 // 节点ID",
  "requestId": "int64",
  "timeoutSeconds": "int32",
  "code": "string",
  "dataJSON": "bytes",
  "isOk": "bool",
  "message": "string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/sendCommandToNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

startNode

启动节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/startNode
  • RPCrpc startNode (StartNodeRequest) returns (StartNodeResponse);

请求对象 (StartNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (StartNodeResponse)

{
  "isOk": "bool",
  "error": "string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/startNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

stopNode

停止节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/stopNode
  • RPCrpc stopNode (StopNodeRequest) returns (StopNodeResponse);

请求对象 (StopNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (StopNodeResponse)

{
  "isOk": "bool // 是否成功",
  "error": "string // 失败时的错误信息"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/stopNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

uninstallNode

卸载节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/uninstallNode
  • RPCrpc uninstallNode(UninstallNodeRequest) returns (UninstallNodeResponse);

请求对象 (UninstallNodeRequest)

{
  "nodeId": "int64 // 节点ID"
}

响应对象 (UninstallNodeResponse)

{
  "isOk": "bool // 是否成功",
  "error": "string // 失败时的错误信息"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/uninstallNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNode

修改节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNode
  • RPCrpc updateNode (UpdateNodeRequest) returns (RPCSuccess);

请求对象 (UpdateNodeRequest)

{
  "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)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeAPIConfig
  • RPCrpc updateNodeAPIConfig(UpdateNodeAPIConfigRequest) returns (RPCSuccess);

请求对象 (UpdateNodeAPIConfigRequest)

{
  "nodeId": "int64 // 节点ID",
  "apiNodeAddrsJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeAPIConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeBypassMobile

修改节点是否过移动

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeBypassMobile
  • RPCrpc updateNodeBypassMobile(UpdateNodeBypassMobile) returns (RPCSuccess);

请求对象 (UpdateNodeBypassMobile)

{
  "nodeId": "int64 // 节点ID",
  "bypassMobile": "int32"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeBypassMobile" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeCache

修改节点缓存设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeCache
  • RPCrpc updateNodeCache(UpdateNodeCacheRequest) returns (RPCSuccess);

请求对象 (UpdateNodeCacheRequest)

{
  "nodeId": "int64 // 节点ID",
  "maxCacheDiskCapacity": "SizeCapacity // 磁盘容量限制",
  "maxCacheMemoryCapacity": "SizeCapacity // 内存容量限制",
  "cacheDiskDir": "string // 磁盘缓存目录",
  "cacheDiskSubDirsJSON": "bytes // 磁盘缓存子目录"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeDDoSProtection
  • RPCrpc updateNodeDDoSProtection(UpdateNodeDDoSProtectionRequest) returns (RPCSuccess);

请求对象 (UpdateNodeDDoSProtectionRequest)

{
  "nodeId": "int64 // 节点ID",
  "ddosProtectionJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeDNS
  • RPCrpc updateNodeDNS (UpdateNodeDNSRequest) returns (RPCSuccess);

请求对象 (UpdateNodeDNSRequest)

{
  "nodeId": "int64 // 节点ID",
  "ipAddr": "string",
  "nodeIPAddressId": "int64",
  "dnsDomainId": "int64",
  "routes": "[]string"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeDNSResolver
  • RPCrpc updateNodeDNSResolver(UpdateNodeDNSResolverRequest) returns (RPCSuccess);

请求对象 (UpdateNodeDNSResolverRequest)

{
  "nodeId": "int64 // 节点ID",
  "dnsResolverJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeDNSResolver" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeInitScript

更新节点初始化脚本

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeInitScript
  • RPCrpc updateNodeInitScript(UpdateNodeInitScriptRequest) returns (RPCSuccess);

请求对象 (UpdateNodeInitScriptRequest)

{
  "scriptId": "int64",
  "name": "string // 名称",
  "code": "string"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeInitScript" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeIsInstalled

修改节点安装状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeIsInstalled
  • RPCrpc updateNodeIsInstalled (UpdateNodeIsInstalledRequest) returns (RPCSuccess);

请求对象 (UpdateNodeIsInstalledRequest)

{
  "nodeId": "int64 // 节点ID",
  "isInstalled": "bool"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeIsInstalled" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeIsOn

修改节点的启用状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeIsOn
  • RPCrpc updateNodeIsOn(UpdateNodeIsOnRequest) returns (RPCSuccess);

请求对象 (UpdateNodeIsOnRequest)

{
  "nodeId": "int64 // 节点ID",
  "isOn": "bool // 是否启用"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeIsOn" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeLogin

修改节点登录信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeLogin
  • RPCrpc updateNodeLogin (UpdateNodeLoginRequest) returns (RPCSuccess);

请求对象 (UpdateNodeLoginRequest)

{
  "nodeId": "int64 // 节点ID",
  "nodeLogin": "NodeLogin"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeLogin" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeRegionInfo

修改节点区域信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeRegionInfo
  • RPCrpc updateNodeRegionInfo(UpdateNodeRegionInfoRequest) returns (RPCSuccess);

请求对象 (UpdateNodeRegionInfoRequest)

{
  "nodeId": "int64 // 节点ID",
  "nodeRegionId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeRegionInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeScheduleInfo

修改节点调度信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeScheduleInfo
  • RPCrpc updateNodeScheduleInfo(UpdateNodeScheduleInfoRequest) returns (RPCSuccess);

请求对象 (UpdateNodeScheduleInfoRequest)

{
  "nodeId": "int64 // 节点ID",
  "offlineDay": "string // 下线日期格式YYYYMMDD",
  "isBackupForCluster": "bool // 是否为集群备份节点",
  "isBackupForGroup": "bool // 是否为分组备份节点",
  "backupIPs": "[]string // 备用IP"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeScheduleInfo" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeSystem

修改节点系统信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeSystem
  • RPCrpc updateNodeSystem(UpdateNodeSystemRequest) returns (RPCSuccess);

请求对象 (UpdateNodeSystemRequest)

{
  "nodeId": "int64 // 节点ID",
  "maxCPU": "int32"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeSystem" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNodeUp

设置节点上线状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/updateNodeUp
  • RPCrpc updateNodeUp (UpdateNodeUpRequest) returns (RPCSuccess);

请求对象 (UpdateNodeUpRequest)

{
  "nodeId": "int64 // 节点ID",
  "isUp": "bool"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/updateNodeUp" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

upgradeNode

升级节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NodeService/upgradeNode
  • RPCrpc upgradeNode (UpgradeNodeRequest) returns (UpgradeNodeResponse);

请求对象 (UpgradeNodeRequest)

{
  "nodeId": "int64 // 节点ID",
  "initScriptId": "int64"
}

响应对象 (UpgradeNodeResponse)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NodeService/upgradeNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'