v0.0.17 | 보안그룹 관리 API 추가 (CRUD + 규칙 CRUD)
All checks were successful
Build And Test / build-and-push (push) Successful in 53s
All checks were successful
Build And Test / build-and-push (push) Successful in 53s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -119,6 +119,92 @@ class SubnetSerializer(serializers.Serializer):
|
||||
)
|
||||
|
||||
|
||||
# ==================== Security Group ====================
|
||||
|
||||
|
||||
class SecurityGroupSerializer(serializers.Serializer):
|
||||
"""보안 그룹 생성 요청"""
|
||||
|
||||
name = serializers.CharField(
|
||||
help_text="보안 그룹 이름",
|
||||
max_length=255,
|
||||
)
|
||||
description = serializers.CharField(
|
||||
help_text="설명",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
default="",
|
||||
)
|
||||
|
||||
|
||||
class SecurityGroupUpdateSerializer(serializers.Serializer):
|
||||
"""보안 그룹 수정 요청"""
|
||||
|
||||
name = serializers.CharField(
|
||||
help_text="보안 그룹 이름",
|
||||
required=False,
|
||||
max_length=255,
|
||||
)
|
||||
description = serializers.CharField(
|
||||
help_text="설명",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
|
||||
|
||||
class SecurityGroupRuleSerializer(serializers.Serializer):
|
||||
"""보안 그룹 규칙 생성 요청"""
|
||||
|
||||
security_group_id = serializers.CharField(
|
||||
help_text="보안 그룹 ID",
|
||||
)
|
||||
direction = serializers.ChoiceField(
|
||||
choices=["ingress", "egress"],
|
||||
help_text="방향 (ingress: 인바운드, egress: 아웃바운드)",
|
||||
)
|
||||
ethertype = serializers.ChoiceField(
|
||||
choices=["IPv4", "IPv6"],
|
||||
help_text="IP 버전",
|
||||
default="IPv4",
|
||||
)
|
||||
protocol = serializers.ChoiceField(
|
||||
choices=["tcp", "udp", "icmp", ""],
|
||||
help_text="프로토콜 (tcp, udp, icmp, 빈값=전체)",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
port_range_min = serializers.IntegerField(
|
||||
help_text="최소 포트 번호",
|
||||
required=False,
|
||||
allow_null=True,
|
||||
min_value=1,
|
||||
max_value=65535,
|
||||
)
|
||||
port_range_max = serializers.IntegerField(
|
||||
help_text="최대 포트 번호",
|
||||
required=False,
|
||||
allow_null=True,
|
||||
min_value=1,
|
||||
max_value=65535,
|
||||
)
|
||||
remote_ip_prefix = serializers.CharField(
|
||||
help_text="원격 IP 대역 (CIDR, 예: 0.0.0.0/0)",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
remote_group_id = serializers.CharField(
|
||||
help_text="원격 보안 그룹 ID",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
)
|
||||
description = serializers.CharField(
|
||||
help_text="설명",
|
||||
required=False,
|
||||
allow_blank=True,
|
||||
default="",
|
||||
)
|
||||
|
||||
|
||||
# ==================== NKS ====================
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user