Files
msa-django-nhn/nhn/urls.py
icurfer 7136e76d63
All checks were successful
Build And Test / build-and-push (push) Successful in 53s
v0.0.9 | Add Load Balancer API
- 로드밸런서 CRUD API 추가
- 리스너, 풀, 멤버, 헬스 모니터 API 추가
- L7 정책/룰, IP ACL 그룹/타깃 API 추가
- 쿼타 조회 API 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:14:03 +09:00

143 lines
10 KiB
Python

"""
NHN Cloud API URL Configuration
"""
from django.urls import path
from . import views
urlpatterns = [
# ==================== Token ====================
path("token/", views.TokenCreateView.as_view(), name="token-create"),
# ==================== Compute ====================
path("compute/flavors/", views.ComputeFlavorListView.as_view(), name="compute-flavor-list"),
path("compute/keypairs/", views.ComputeKeypairListView.as_view(), name="compute-keypair-list"),
path("compute/images/", views.ComputeImageListView.as_view(), name="compute-image-list"),
path("compute/instances/", views.ComputeInstanceListView.as_view(), name="compute-instance-list"),
path("compute/instances/create/", views.ComputeInstanceCreateView.as_view(), name="compute-instance-create"),
path("compute/instances/<str:server_id>/", views.ComputeInstanceDetailView.as_view(), name="compute-instance-detail"),
path("compute/instances/<str:server_id>/action/", views.ComputeInstanceActionView.as_view(), name="compute-instance-action"),
# ==================== VPC ====================
path("vpc/", views.VpcListView.as_view(), name="vpc-list"),
path("vpc/create/", views.VpcCreateView.as_view(), name="vpc-create"),
path("vpc/<str:vpc_id>/", views.VpcDetailView.as_view(), name="vpc-detail"),
# ==================== Subnet ====================
path("subnet/", views.SubnetListView.as_view(), name="subnet-list"),
path("subnet/create/", views.SubnetCreateView.as_view(), name="subnet-create"),
path("subnet/<str:subnet_id>/", views.SubnetDetailView.as_view(), name="subnet-detail"),
# ==================== Floating IP ====================
path("floatingip/", views.FloatingIpListView.as_view(), name="floatingip-list"),
# ==================== Security Group ====================
path("securitygroup/", views.SecurityGroupListView.as_view(), name="securitygroup-list"),
# ==================== Async Task ====================
path("tasks/", views.AsyncTaskListView.as_view(), name="task-list"),
path("tasks/<str:task_id>/", views.AsyncTaskDetailView.as_view(), name="task-detail"),
# ==================== NKS Cluster ====================
path("nks/supports/", views.NksSupportsView.as_view(), name="nks-supports"),
path("nks/clusters/", views.NksClusterListView.as_view(), name="nks-cluster-list"),
path("nks/clusters/create/", views.NksClusterCreateView.as_view(), name="nks-cluster-create"),
path("nks/clusters/<str:cluster_name>/", views.NksClusterDetailView.as_view(), name="nks-cluster-detail"),
path("nks/clusters/<str:cluster_name>/config/", views.NksClusterConfigView.as_view(), name="nks-cluster-config"),
path("nks/clusters/<str:cluster_name>/resize/", views.NksClusterResizeView.as_view(), name="nks-cluster-resize"),
path("nks/clusters/<str:cluster_name>/upgrade/", views.NksClusterUpgradeView.as_view(), name="nks-cluster-upgrade"),
path("nks/clusters/<str:cluster_name>/certificates/", views.NksClusterCertificatesView.as_view(), name="nks-cluster-certificates"),
path("nks/clusters/<str:cluster_name>/ipacl/", views.NksClusterIpAclView.as_view(), name="nks-cluster-ipacl"),
# NKS Cluster Events
path("nks/clusters/<str:cluster_uuid>/events/", views.NksClusterEventsView.as_view(), name="nks-cluster-events"),
path("nks/clusters/<str:cluster_uuid>/events/<str:event_uuid>/", views.NksClusterEventDetailView.as_view(), name="nks-cluster-event-detail"),
# ==================== NKS Node Group ====================
path("nks/clusters/<str:cluster_name>/nodegroups/", views.NksNodeGroupListView.as_view(), name="nks-nodegroup-list"),
path("nks/clusters/<str:cluster_name>/nodegroups/create/", views.NksNodeGroupCreateView.as_view(), name="nks-nodegroup-create"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/", views.NksNodeGroupDetailView.as_view(), name="nks-nodegroup-detail"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/upgrade/", views.NksNodeGroupUpgradeView.as_view(), name="nks-nodegroup-upgrade"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/userscript/", views.NksNodeGroupUserScriptView.as_view(), name="nks-nodegroup-userscript"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/autoscale/", views.NksAutoscaleConfigView.as_view(), name="nks-nodegroup-autoscale"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/start_node/", views.NksNodeStartView.as_view(), name="nks-node-start"),
path("nks/clusters/<str:cluster_name>/nodegroups/<str:nodegroup_name>/stop_node/", views.NksNodeStopView.as_view(), name="nks-node-stop"),
# ==================== Storage ====================
path("storage/containers/", views.StorageContainerListView.as_view(), name="storage-container-list"),
path("storage/containers/create/", views.StorageContainerCreateView.as_view(), name="storage-container-create"),
path("storage/containers/<str:container_name>/", views.StorageContainerDetailView.as_view(), name="storage-container-detail"),
# ==================== DNS Plus - Zone ====================
path("dns/zones/", views.DnsZoneListView.as_view(), name="dns-zone-list"),
path("dns/zones/create/", views.DnsZoneCreateView.as_view(), name="dns-zone-create"),
path("dns/zones/<str:zone_id>/", views.DnsZoneDetailView.as_view(), name="dns-zone-detail"),
# ==================== DNS Plus - RecordSet ====================
path("dns/zones/<str:zone_id>/recordsets/", views.DnsRecordSetListView.as_view(), name="dns-recordset-list"),
path("dns/zones/<str:zone_id>/recordsets/create/", views.DnsRecordSetCreateView.as_view(), name="dns-recordset-create"),
path("dns/zones/<str:zone_id>/recordsets/<str:recordset_id>/", views.DnsRecordSetDetailView.as_view(), name="dns-recordset-detail"),
# ==================== DNS Plus - GSLB ====================
path("dns/gslbs/", views.DnsGslbListView.as_view(), name="dns-gslb-list"),
path("dns/gslbs/create/", views.DnsGslbCreateView.as_view(), name="dns-gslb-create"),
path("dns/gslbs/<str:gslb_id>/", views.DnsGslbDetailView.as_view(), name="dns-gslb-detail"),
path("dns/gslbs/<str:gslb_id>/pools/", views.DnsGslbPoolConnectView.as_view(), name="dns-gslb-pool-connection"),
# ==================== DNS Plus - Pool ====================
path("dns/pools/", views.DnsPoolListView.as_view(), name="dns-pool-list"),
path("dns/pools/create/", views.DnsPoolCreateView.as_view(), name="dns-pool-create"),
path("dns/pools/<str:pool_id>/", views.DnsPoolDetailView.as_view(), name="dns-pool-detail"),
# ==================== DNS Plus - Health Check ====================
path("dns/health-checks/", views.DnsHealthCheckListView.as_view(), name="dns-healthcheck-list"),
path("dns/health-checks/create/", views.DnsHealthCheckCreateView.as_view(), name="dns-healthcheck-create"),
path("dns/health-checks/<str:health_check_id>/", views.DnsHealthCheckDetailView.as_view(), name="dns-healthcheck-detail"),
# ==================== Load Balancer ====================
path("lb/loadbalancers/", views.LoadBalancerListView.as_view(), name="lb-list"),
path("lb/loadbalancers/create/", views.LoadBalancerCreateView.as_view(), name="lb-create"),
path("lb/loadbalancers/<str:loadbalancer_id>/", views.LoadBalancerDetailView.as_view(), name="lb-detail"),
# ==================== LB Listener ====================
path("lb/listeners/", views.LBListenerListView.as_view(), name="lb-listener-list"),
path("lb/listeners/create/", views.LBListenerCreateView.as_view(), name="lb-listener-create"),
path("lb/listeners/<str:listener_id>/", views.LBListenerDetailView.as_view(), name="lb-listener-detail"),
# ==================== LB Pool ====================
path("lb/pools/", views.LBPoolListView.as_view(), name="lb-pool-list"),
path("lb/pools/create/", views.LBPoolCreateView.as_view(), name="lb-pool-create"),
path("lb/pools/<str:pool_id>/", views.LBPoolDetailView.as_view(), name="lb-pool-detail"),
# ==================== LB Member ====================
path("lb/pools/<str:pool_id>/members/", views.LBMemberListView.as_view(), name="lb-member-list"),
path("lb/pools/<str:pool_id>/members/create/", views.LBMemberCreateView.as_view(), name="lb-member-create"),
path("lb/pools/<str:pool_id>/members/<str:member_id>/", views.LBMemberDetailView.as_view(), name="lb-member-detail"),
# ==================== LB Health Monitor ====================
path("lb/healthmonitors/", views.LBHealthMonitorListView.as_view(), name="lb-healthmonitor-list"),
path("lb/healthmonitors/create/", views.LBHealthMonitorCreateView.as_view(), name="lb-healthmonitor-create"),
path("lb/healthmonitors/<str:healthmonitor_id>/", views.LBHealthMonitorDetailView.as_view(), name="lb-healthmonitor-detail"),
# ==================== LB L7 Policy ====================
path("lb/l7policies/", views.LBL7PolicyListView.as_view(), name="lb-l7policy-list"),
path("lb/l7policies/create/", views.LBL7PolicyCreateView.as_view(), name="lb-l7policy-create"),
path("lb/l7policies/<str:l7policy_id>/", views.LBL7PolicyDetailView.as_view(), name="lb-l7policy-detail"),
# ==================== LB L7 Rule ====================
path("lb/l7policies/<str:l7policy_id>/rules/", views.LBL7RuleListView.as_view(), name="lb-l7rule-list"),
path("lb/l7policies/<str:l7policy_id>/rules/create/", views.LBL7RuleCreateView.as_view(), name="lb-l7rule-create"),
path("lb/l7policies/<str:l7policy_id>/rules/<str:l7rule_id>/", views.LBL7RuleDetailView.as_view(), name="lb-l7rule-detail"),
# ==================== LB IP ACL ====================
path("lb/ipacl-groups/", views.LBIpAclGroupListView.as_view(), name="lb-ipacl-group-list"),
path("lb/ipacl-groups/create/", views.LBIpAclGroupCreateView.as_view(), name="lb-ipacl-group-create"),
path("lb/ipacl-groups/<str:ipacl_group_id>/", views.LBIpAclGroupDetailView.as_view(), name="lb-ipacl-group-detail"),
path("lb/ipacl-targets/create/", views.LBIpAclTargetCreateView.as_view(), name="lb-ipacl-target-create"),
path("lb/ipacl-targets/<str:ipacl_target_id>/", views.LBIpAclTargetDetailView.as_view(), name="lb-ipacl-target-detail"),
# ==================== LB Quota ====================
path("lb/quota/", views.LBQuotaView.as_view(), name="lb-quota"),
]