2025-08-28 08:31:56 +00:00
|
|
|
package com.unisinsight.project.feign;
|
|
|
|
|
|
|
|
|
|
import com.unisinsight.project.config.FeignConfig;
|
|
|
|
|
import com.unisinsight.project.entity.dto.ApiResponse;
|
2025-08-29 08:17:57 +00:00
|
|
|
import com.unisinsight.project.entity.dto.Network;
|
2025-08-28 10:08:48 +00:00
|
|
|
import com.unisinsight.project.entity.dto.NetworkData;
|
|
|
|
|
import com.unisinsight.project.entity.dto.StoragePoolData;
|
2025-08-28 08:31:56 +00:00
|
|
|
import com.unisinsight.project.entity.req.NetworkManageReq;
|
|
|
|
|
import com.unisinsight.project.entity.req.StoragePoolReq;
|
|
|
|
|
import org.springframework.cloud.openfeign.FeignClient;
|
2025-08-28 10:08:48 +00:00
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
2025-08-28 08:31:56 +00:00
|
|
|
/**
|
|
|
|
|
* 第三方API客户端
|
|
|
|
|
*/
|
|
|
|
|
@FeignClient(
|
|
|
|
|
name = "external-api-client",
|
|
|
|
|
url = "${external.api.url:http://10.100.51.118:8000}",
|
|
|
|
|
configuration = FeignConfig.class
|
|
|
|
|
)
|
|
|
|
|
public interface ExternalApiClient {
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/network/create")
|
2025-08-29 08:17:57 +00:00
|
|
|
ApiResponse createNetwork(@RequestBody Network network);
|
2025-08-28 08:31:56 +00:00
|
|
|
|
|
|
|
|
@DeleteMapping("/api/v1/network/{network_name}")
|
|
|
|
|
ApiResponse deleteNetwork(@PathVariable("network_name") String networkName);
|
|
|
|
|
|
2025-09-02 06:25:00 +00:00
|
|
|
@PutMapping("/api/v1/network/update")
|
|
|
|
|
ApiResponse updateNetwork(@RequestBody Network network);
|
2025-08-28 08:31:56 +00:00
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/network/start")
|
|
|
|
|
ApiResponse startNetwork(@RequestBody NetworkManageReq networkManageReq);
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/network/stop")
|
|
|
|
|
ApiResponse stopNetwork(@RequestBody NetworkManageReq networkManageReq);
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/storage/pools")
|
|
|
|
|
ApiResponse createStorage(@RequestBody StoragePoolReq storagePoolReq);
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/storage/pools/start")
|
|
|
|
|
ApiResponse startStorage(@RequestBody StoragePoolReq storagePoolReq);
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/v1/storage/pools/stop")
|
|
|
|
|
ApiResponse stopStorage(@RequestBody StoragePoolReq storagePoolReq);
|
|
|
|
|
|
|
|
|
|
@DeleteMapping("/api/v1/storage/pools/{pool_name}")
|
|
|
|
|
ApiResponse deleteStorage(@PathVariable("pool_name") String poolName);
|
|
|
|
|
|
2025-08-28 10:08:48 +00:00
|
|
|
@GetMapping("/api/v1/network/list")
|
|
|
|
|
ApiResponse<NetworkData> list(@RequestParam("page")int page, @RequestParam("page_size")int pageSize);
|
|
|
|
|
|
|
|
|
|
@GetMapping("/api/v1/storage/pools")
|
|
|
|
|
ApiResponse<StoragePoolData> listStorage(@RequestParam("page")int page, @RequestParam("page_size")int pageSize);
|
2025-08-28 08:31:56 +00:00
|
|
|
}
|