1from django.urls import path
2
3from extras.views import ObjectChangeLogView, ObjectJournalView
4from . import views
5from .models import *
6
7app_name = 'ipam'
8urlpatterns = [
9
10    # VRFs
11    path('vrfs/', views.VRFListView.as_view(), name='vrf_list'),
12    path('vrfs/add/', views.VRFEditView.as_view(), name='vrf_add'),
13    path('vrfs/import/', views.VRFBulkImportView.as_view(), name='vrf_import'),
14    path('vrfs/edit/', views.VRFBulkEditView.as_view(), name='vrf_bulk_edit'),
15    path('vrfs/delete/', views.VRFBulkDeleteView.as_view(), name='vrf_bulk_delete'),
16    path('vrfs/<int:pk>/', views.VRFView.as_view(), name='vrf'),
17    path('vrfs/<int:pk>/edit/', views.VRFEditView.as_view(), name='vrf_edit'),
18    path('vrfs/<int:pk>/delete/', views.VRFDeleteView.as_view(), name='vrf_delete'),
19    path('vrfs/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vrf_changelog', kwargs={'model': VRF}),
20    path('vrfs/<int:pk>/journal/', ObjectJournalView.as_view(), name='vrf_journal', kwargs={'model': VRF}),
21
22    # Route targets
23    path('route-targets/', views.RouteTargetListView.as_view(), name='routetarget_list'),
24    path('route-targets/add/', views.RouteTargetEditView.as_view(), name='routetarget_add'),
25    path('route-targets/import/', views.RouteTargetBulkImportView.as_view(), name='routetarget_import'),
26    path('route-targets/edit/', views.RouteTargetBulkEditView.as_view(), name='routetarget_bulk_edit'),
27    path('route-targets/delete/', views.RouteTargetBulkDeleteView.as_view(), name='routetarget_bulk_delete'),
28    path('route-targets/<int:pk>/', views.RouteTargetView.as_view(), name='routetarget'),
29    path('route-targets/<int:pk>/edit/', views.RouteTargetEditView.as_view(), name='routetarget_edit'),
30    path('route-targets/<int:pk>/delete/', views.RouteTargetDeleteView.as_view(), name='routetarget_delete'),
31    path('route-targets/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='routetarget_changelog', kwargs={'model': RouteTarget}),
32    path('route-targets/<int:pk>/journal/', ObjectJournalView.as_view(), name='routetarget_journal', kwargs={'model': RouteTarget}),
33
34    # RIRs
35    path('rirs/', views.RIRListView.as_view(), name='rir_list'),
36    path('rirs/add/', views.RIREditView.as_view(), name='rir_add'),
37    path('rirs/import/', views.RIRBulkImportView.as_view(), name='rir_import'),
38    path('rirs/edit/', views.RIRBulkEditView.as_view(), name='rir_bulk_edit'),
39    path('rirs/delete/', views.RIRBulkDeleteView.as_view(), name='rir_bulk_delete'),
40    path('rirs/<int:pk>/', views.RIRView.as_view(), name='rir'),
41    path('rirs/<int:pk>/edit/', views.RIREditView.as_view(), name='rir_edit'),
42    path('rirs/<int:pk>/delete/', views.RIRDeleteView.as_view(), name='rir_delete'),
43    path('rirs/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='rir_changelog', kwargs={'model': RIR}),
44
45    # Aggregates
46    path('aggregates/', views.AggregateListView.as_view(), name='aggregate_list'),
47    path('aggregates/add/', views.AggregateEditView.as_view(), name='aggregate_add'),
48    path('aggregates/import/', views.AggregateBulkImportView.as_view(), name='aggregate_import'),
49    path('aggregates/edit/', views.AggregateBulkEditView.as_view(), name='aggregate_bulk_edit'),
50    path('aggregates/delete/', views.AggregateBulkDeleteView.as_view(), name='aggregate_bulk_delete'),
51    path('aggregates/<int:pk>/', views.AggregateView.as_view(), name='aggregate'),
52    path('aggregates/<int:pk>/edit/', views.AggregateEditView.as_view(), name='aggregate_edit'),
53    path('aggregates/<int:pk>/delete/', views.AggregateDeleteView.as_view(), name='aggregate_delete'),
54    path('aggregates/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='aggregate_changelog', kwargs={'model': Aggregate}),
55    path('aggregates/<int:pk>/journal/', ObjectJournalView.as_view(), name='aggregate_journal', kwargs={'model': Aggregate}),
56
57    # Roles
58    path('roles/', views.RoleListView.as_view(), name='role_list'),
59    path('roles/add/', views.RoleEditView.as_view(), name='role_add'),
60    path('roles/import/', views.RoleBulkImportView.as_view(), name='role_import'),
61    path('roles/edit/', views.RoleBulkEditView.as_view(), name='role_bulk_edit'),
62    path('roles/delete/', views.RoleBulkDeleteView.as_view(), name='role_bulk_delete'),
63    path('roles/<int:pk>/', views.RoleView.as_view(), name='role'),
64    path('roles/<int:pk>/edit/', views.RoleEditView.as_view(), name='role_edit'),
65    path('roles/<int:pk>/delete/', views.RoleDeleteView.as_view(), name='role_delete'),
66    path('roles/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='role_changelog', kwargs={'model': Role}),
67
68    # Prefixes
69    path('prefixes/', views.PrefixListView.as_view(), name='prefix_list'),
70    path('prefixes/add/', views.PrefixEditView.as_view(), name='prefix_add'),
71    path('prefixes/import/', views.PrefixBulkImportView.as_view(), name='prefix_import'),
72    path('prefixes/edit/', views.PrefixBulkEditView.as_view(), name='prefix_bulk_edit'),
73    path('prefixes/delete/', views.PrefixBulkDeleteView.as_view(), name='prefix_bulk_delete'),
74    path('prefixes/<int:pk>/', views.PrefixView.as_view(), name='prefix'),
75    path('prefixes/<int:pk>/edit/', views.PrefixEditView.as_view(), name='prefix_edit'),
76    path('prefixes/<int:pk>/delete/', views.PrefixDeleteView.as_view(), name='prefix_delete'),
77    path('prefixes/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='prefix_changelog', kwargs={'model': Prefix}),
78    path('prefixes/<int:pk>/journal/', ObjectJournalView.as_view(), name='prefix_journal', kwargs={'model': Prefix}),
79    path('prefixes/<int:pk>/prefixes/', views.PrefixPrefixesView.as_view(), name='prefix_prefixes'),
80    path('prefixes/<int:pk>/ip-ranges/', views.PrefixIPRangesView.as_view(), name='prefix_ipranges'),
81    path('prefixes/<int:pk>/ip-addresses/', views.PrefixIPAddressesView.as_view(), name='prefix_ipaddresses'),
82
83    # IP ranges
84    path('ip-ranges/', views.IPRangeListView.as_view(), name='iprange_list'),
85    path('ip-ranges/add/', views.IPRangeEditView.as_view(), name='iprange_add'),
86    path('ip-ranges/import/', views.IPRangeBulkImportView.as_view(), name='iprange_import'),
87    path('ip-ranges/edit/', views.IPRangeBulkEditView.as_view(), name='iprange_bulk_edit'),
88    path('ip-ranges/delete/', views.IPRangeBulkDeleteView.as_view(), name='iprange_bulk_delete'),
89    path('ip-ranges/<int:pk>/', views.IPRangeView.as_view(), name='iprange'),
90    path('ip-ranges/<int:pk>/edit/', views.IPRangeEditView.as_view(), name='iprange_edit'),
91    path('ip-ranges/<int:pk>/delete/', views.IPRangeDeleteView.as_view(), name='iprange_delete'),
92    path('ip-ranges/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='iprange_changelog', kwargs={'model': IPRange}),
93    path('ip-ranges/<int:pk>/journal/', ObjectJournalView.as_view(), name='iprange_journal', kwargs={'model': IPRange}),
94    path('ip-ranges/<int:pk>/ip-addresses/', views.IPRangeIPAddressesView.as_view(), name='iprange_ipaddresses'),
95
96    # IP addresses
97    path('ip-addresses/', views.IPAddressListView.as_view(), name='ipaddress_list'),
98    path('ip-addresses/add/', views.IPAddressEditView.as_view(), name='ipaddress_add'),
99    path('ip-addresses/bulk-add/', views.IPAddressBulkCreateView.as_view(), name='ipaddress_bulk_add'),
100    path('ip-addresses/import/', views.IPAddressBulkImportView.as_view(), name='ipaddress_import'),
101    path('ip-addresses/edit/', views.IPAddressBulkEditView.as_view(), name='ipaddress_bulk_edit'),
102    path('ip-addresses/delete/', views.IPAddressBulkDeleteView.as_view(), name='ipaddress_bulk_delete'),
103    path('ip-addresses/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='ipaddress_changelog', kwargs={'model': IPAddress}),
104    path('ip-addresses/<int:pk>/journal/', ObjectJournalView.as_view(), name='ipaddress_journal', kwargs={'model': IPAddress}),
105    path('ip-addresses/assign/', views.IPAddressAssignView.as_view(), name='ipaddress_assign'),
106    path('ip-addresses/<int:pk>/', views.IPAddressView.as_view(), name='ipaddress'),
107    path('ip-addresses/<int:pk>/edit/', views.IPAddressEditView.as_view(), name='ipaddress_edit'),
108    path('ip-addresses/<int:pk>/delete/', views.IPAddressDeleteView.as_view(), name='ipaddress_delete'),
109
110    # VLAN groups
111    path('vlan-groups/', views.VLANGroupListView.as_view(), name='vlangroup_list'),
112    path('vlan-groups/add/', views.VLANGroupEditView.as_view(), name='vlangroup_add'),
113    path('vlan-groups/import/', views.VLANGroupBulkImportView.as_view(), name='vlangroup_import'),
114    path('vlan-groups/edit/', views.VLANGroupBulkEditView.as_view(), name='vlangroup_bulk_edit'),
115    path('vlan-groups/delete/', views.VLANGroupBulkDeleteView.as_view(), name='vlangroup_bulk_delete'),
116    path('vlan-groups/<int:pk>/', views.VLANGroupView.as_view(), name='vlangroup'),
117    path('vlan-groups/<int:pk>/edit/', views.VLANGroupEditView.as_view(), name='vlangroup_edit'),
118    path('vlan-groups/<int:pk>/delete/', views.VLANGroupDeleteView.as_view(), name='vlangroup_delete'),
119    path('vlan-groups/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vlangroup_changelog', kwargs={'model': VLANGroup}),
120
121    # VLANs
122    path('vlans/', views.VLANListView.as_view(), name='vlan_list'),
123    path('vlans/add/', views.VLANEditView.as_view(), name='vlan_add'),
124    path('vlans/import/', views.VLANBulkImportView.as_view(), name='vlan_import'),
125    path('vlans/edit/', views.VLANBulkEditView.as_view(), name='vlan_bulk_edit'),
126    path('vlans/delete/', views.VLANBulkDeleteView.as_view(), name='vlan_bulk_delete'),
127    path('vlans/<int:pk>/', views.VLANView.as_view(), name='vlan'),
128    path('vlans/<int:pk>/interfaces/', views.VLANInterfacesView.as_view(), name='vlan_interfaces'),
129    path('vlans/<int:pk>/vm-interfaces/', views.VLANVMInterfacesView.as_view(), name='vlan_vminterfaces'),
130    path('vlans/<int:pk>/edit/', views.VLANEditView.as_view(), name='vlan_edit'),
131    path('vlans/<int:pk>/delete/', views.VLANDeleteView.as_view(), name='vlan_delete'),
132    path('vlans/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vlan_changelog', kwargs={'model': VLAN}),
133    path('vlans/<int:pk>/journal/', ObjectJournalView.as_view(), name='vlan_journal', kwargs={'model': VLAN}),
134
135    # Services
136    path('services/', views.ServiceListView.as_view(), name='service_list'),
137    path('services/import/', views.ServiceBulkImportView.as_view(), name='service_import'),
138    path('services/edit/', views.ServiceBulkEditView.as_view(), name='service_bulk_edit'),
139    path('services/delete/', views.ServiceBulkDeleteView.as_view(), name='service_bulk_delete'),
140    path('services/<int:pk>/', views.ServiceView.as_view(), name='service'),
141    path('services/<int:pk>/edit/', views.ServiceEditView.as_view(), name='service_edit'),
142    path('services/<int:pk>/delete/', views.ServiceDeleteView.as_view(), name='service_delete'),
143    path('services/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='service_changelog', kwargs={'model': Service}),
144    path('services/<int:pk>/journal/', ObjectJournalView.as_view(), name='service_journal', kwargs={'model': Service}),
145
146]
147