Skip to content

Commit

Permalink
Fix: VPC Response DTO 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
nareunhang committed Nov 26, 2024
1 parent 9f8196f commit f67372c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
@Getter
public class VpcTotalResponseDto {
private String vpcId;
private List<String> tags;
private String vpcName;
private List<String> subnets;
private List<String> routingTables;

// Constructor, Getter, Setter
public VpcTotalResponseDto(String vpcId, List<String> tags, List<String> subnets, List<String> routingTables) {
public VpcTotalResponseDto(String vpcId, String vpcName, List<String> subnets, List<String> routingTables) {
this.vpcId = vpcId;
this.tags = tags;
this.vpcName = vpcName;
this.subnets = subnets;
this.routingTables = routingTables;
}
Expand Down
25 changes: 14 additions & 11 deletions src/main/java/AIWA/McpBackend/service/gcp/GcpResourceService.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ public ListResult<SubnetResponseDto> listSubnets(String projectId, String userId
}
}

// VPC 정보와 서브넷 및 라우팅 테이블 조회
// VPC 정보와 서브넷 및 라우팅 테이블 조회
public ResponseEntity<?> listVpcsWithDetails(String projectId, String userId) {
List<VpcTotalResponseDto> vpcList = new ArrayList<>();

Expand All @@ -208,15 +206,15 @@ public ResponseEntity<?> listVpcsWithDetails(String projectId, String userId) {

// 페이징된 네트워크 목록을 순회
for (Network network : response.iterateAll()) {
// VPC ID 추출
String vpcId = String.valueOf(network.getId()); // Network 객체에서 ID는 long 타입일 수 있으므로 문자열로 변환
// VPC 이름 추출
String vpcName = network.getName(); // VPC의 이름을 가져옴

// VPC에 관련된 태그를 처리하기 위한 방법
// VPC 태그 정보가 네트워크 객체에 포함되지 않으면 다른 방법을 사용해야 할 수 있음
List<String> tags = new ArrayList<>(); // 태그 정보는 네트워크 리소스에서 별도로 처리할 수 있음.
// VPC ID (optional)
String vpcId = String.valueOf(network.getId()); // ID는 long 타입일 수 있으므로 문자열로 변환

// SubnetworksClient를 사용하여 서브넷 목록 조회
// VPC와 연관된 서브넷 목록 조회
List<String> subnets = new ArrayList<>();
List<String> cidrBlocks = new ArrayList<>();
try (SubnetworksClient subnetworksClient = SubnetworksClient.create(SubnetworksSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credentials))
.build())) {
Expand All @@ -227,7 +225,11 @@ public ResponseEntity<?> listVpcsWithDetails(String projectId, String userId) {
projectId, region);

for (Subnetwork subnetwork : subnetworkResponse.iterateAll()) {
subnets.add(subnetwork.getName());
// 서브넷의 VPC를 확인하여 해당 VPC에 속한 서브넷만 추가
if (subnetwork.getNetwork().contains(network.getSelfLink())) {
subnets.add(subnetwork.getName());
cidrBlocks.add(subnetwork.getIpCidrRange());
}
}
}

Expand All @@ -247,8 +249,8 @@ public ResponseEntity<?> listVpcsWithDetails(String projectId, String userId) {
}
}

// VPC 정보 DTO 생성
VpcTotalResponseDto vpcDto = new VpcTotalResponseDto(vpcId, tags, subnets, routingTables);
// VPC 정보 DTO 생성 (이제 이름도 포함)
VpcTotalResponseDto vpcDto = new VpcTotalResponseDto(vpcId, vpcName, subnets, routingTables);
vpcList.add(vpcDto);
}

Expand All @@ -263,6 +265,7 @@ public ResponseEntity<?> listVpcsWithDetails(String projectId, String userId) {
}



//static ip 조회
public List<StaticIpDto> getStaticIpsFromGCP(String projectId, String userId) {
String region = "asia-northeast3";
Expand Down

0 comments on commit f67372c

Please sign in to comment.