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