v0.0.19 | Internet Gateway / Routing Table 관리 API 추가
All checks were successful
Build And Test / build-and-push (push) Successful in 13s
All checks were successful
Build And Test / build-and-push (push) Successful in 13s
- ApiVpc에 IGW CRUD 추가 (/v2.0/internetgateways, external_network_id 사용) - IGW/RoutingTable/Subnet-attach View 및 URL 신규 (모두 동기) - API_SPEC.md 3.7.1~3.7.8 네트워크 섹션 추가 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -196,6 +196,46 @@ class ApiVpc(BaseAPI):
|
||||
payload = {"routingtable_id": routingtable_id}
|
||||
return self._put(url, payload)
|
||||
|
||||
# ==================== Internet Gateway ====================
|
||||
|
||||
def get_internet_gateway_list(self) -> dict:
|
||||
"""인터넷 게이트웨이 목록 조회"""
|
||||
url = f"{self.vpc_url}/v2.0/internetgateways"
|
||||
logger.info(f"[NHN API] IGW 목록 조회 요청 - URL={url}")
|
||||
result = self._get(url)
|
||||
count = len(result.get("internetgateways", []))
|
||||
logger.info(f"[NHN API] IGW 목록 조회 완료 - count={count}")
|
||||
return result
|
||||
|
||||
def get_internet_gateway_info(self, internetgateway_id: str) -> dict:
|
||||
"""인터넷 게이트웨이 상세 조회"""
|
||||
url = f"{self.vpc_url}/v2.0/internetgateways/{internetgateway_id}"
|
||||
return self._get(url)
|
||||
|
||||
def create_internet_gateway(self, name: str, external_network_id: str) -> dict:
|
||||
"""
|
||||
인터넷 게이트웨이 생성
|
||||
|
||||
Args:
|
||||
name: IGW 이름
|
||||
external_network_id: 외부 네트워크 ID (get_external_network_id 로 조회)
|
||||
"""
|
||||
url = f"{self.vpc_url}/v2.0/internetgateways"
|
||||
payload = {
|
||||
"internetgateway": {
|
||||
"name": name,
|
||||
"external_network_id": external_network_id,
|
||||
}
|
||||
}
|
||||
logger.info(f"IGW 생성 요청: {name} (external_network={external_network_id})")
|
||||
return self._post(url, payload)
|
||||
|
||||
def delete_internet_gateway(self, internetgateway_id: str) -> dict:
|
||||
"""인터넷 게이트웨이 삭제"""
|
||||
url = f"{self.vpc_url}/v2.0/internetgateways/{internetgateway_id}"
|
||||
logger.info(f"IGW 삭제 요청: {internetgateway_id}")
|
||||
return self._delete(url)
|
||||
|
||||
# ==================== Floating IP ====================
|
||||
|
||||
def get_external_network_id(self) -> dict:
|
||||
|
||||
Reference in New Issue
Block a user