netbox-cisco-ise 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@ Shows endpoint identity, profiling data, active session status, and network acce
7
7
 
8
8
  from netbox.plugins import PluginConfig
9
9
 
10
- __version__ = "0.1.0"
10
+ __version__ = "0.1.1"
11
11
 
12
12
 
13
13
  class CiscoISEConfig(PluginConfig):
@@ -0,0 +1,219 @@
1
+ {% extends 'dcim/device/base.html' %}
2
+ {% load helpers %}
3
+
4
+ {% block content %}
5
+ <div class="row">
6
+ <div class="col-12">
7
+ {% if error %}
8
+ <div class="alert alert-warning">
9
+ <i class="mdi mdi-alert"></i> {{ error }}
10
+ </div>
11
+ {% elif ise_data %}
12
+ <div class="row">
13
+ <!-- Session Status Card -->
14
+ <div class="col-md-4 mb-3">
15
+ <div class="card h-100">
16
+ <div class="card-header">
17
+ <h5 class="card-title mb-0">
18
+ <i class="mdi mdi-lan-connect"></i> Session Status
19
+ </h5>
20
+ </div>
21
+ <div class="card-body text-center">
22
+ {% if session_data.connected %}
23
+ <div class="p-3 mb-2 bg-success rounded">
24
+ <span class="text-white fs-3 fw-bold">
25
+ <i class="mdi mdi-check-circle"></i> Connected
26
+ </span>
27
+ </div>
28
+ {% if session_data.framed_ip_address %}
29
+ <div class="mt-2">
30
+ <span class="text-muted">IP Address:</span>
31
+ <code class="ms-2">{{ session_data.framed_ip_address }}</code>
32
+ </div>
33
+ {% endif %}
34
+ {% if session_data.authorization_profile %}
35
+ <div class="mt-1">
36
+ <span class="text-muted">Authorization:</span>
37
+ <span class="badge bg-info text-dark ms-2">{{ session_data.authorization_profile }}</span>
38
+ </div>
39
+ {% endif %}
40
+ {% if session_data.acct_session_time %}
41
+ <div class="mt-1 text-muted small">
42
+ Session time: {{ session_data.acct_session_time }} seconds
43
+ </div>
44
+ {% endif %}
45
+ {% else %}
46
+ <div class="p-3 mb-2 bg-secondary rounded">
47
+ <span class="text-white fs-3 fw-bold">
48
+ <i class="mdi mdi-lan-disconnect"></i> Disconnected
49
+ </span>
50
+ </div>
51
+ <div class="mt-2 text-muted">
52
+ No active session found
53
+ </div>
54
+ {% endif %}
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ <!-- Endpoint Identity Card -->
60
+ <div class="col-md-4 mb-3">
61
+ <div class="card h-100">
62
+ <div class="card-header">
63
+ <h5 class="card-title mb-0">
64
+ <i class="mdi mdi-account-badge"></i> Endpoint Identity
65
+ </h5>
66
+ </div>
67
+ <div class="card-body">
68
+ <table class="table table-sm table-borderless mb-0">
69
+ <tr>
70
+ <th class="text-muted" style="width: 40%">MAC Address:</th>
71
+ <td><code>{{ ise_data.mac_address }}</code></td>
72
+ </tr>
73
+ <tr>
74
+ <th class="text-muted">Profile:</th>
75
+ <td>{{ ise_data.profile_name|default:"N/A" }}</td>
76
+ </tr>
77
+ <tr>
78
+ <th class="text-muted">Identity Group:</th>
79
+ <td>{{ ise_data.group_name|default:"N/A" }}</td>
80
+ </tr>
81
+ <tr>
82
+ <th class="text-muted">Static Assignment:</th>
83
+ <td>
84
+ {% if ise_data.static_group_assignment %}
85
+ <span class="badge bg-success text-white">Yes</span>
86
+ {% else %}
87
+ <span class="badge bg-secondary text-white">No</span>
88
+ {% endif %}
89
+ </td>
90
+ </tr>
91
+ {% if ise_data.portal_user %}
92
+ <tr>
93
+ <th class="text-muted">Portal User:</th>
94
+ <td>{{ ise_data.portal_user }}</td>
95
+ </tr>
96
+ {% endif %}
97
+ </table>
98
+ </div>
99
+ </div>
100
+ </div>
101
+
102
+ <!-- Connection Details Card -->
103
+ <div class="col-md-4 mb-3">
104
+ <div class="card h-100">
105
+ <div class="card-header">
106
+ <h5 class="card-title mb-0">
107
+ <i class="mdi mdi-router-wireless"></i> Connection Details
108
+ </h5>
109
+ </div>
110
+ <div class="card-body">
111
+ {% if session_data.connected %}
112
+ <table class="table table-sm table-borderless mb-0">
113
+ {% if session_data.nas_ip_address %}
114
+ <tr>
115
+ <th class="text-muted" style="width: 40%">Connected To:</th>
116
+ <td><code>{{ session_data.nas_ip_address }}</code></td>
117
+ </tr>
118
+ {% endif %}
119
+ {% if session_data.nas_port_id %}
120
+ <tr>
121
+ <th class="text-muted">Port:</th>
122
+ <td>{{ session_data.nas_port_id }}</td>
123
+ </tr>
124
+ {% endif %}
125
+ {% if session_data.vlan %}
126
+ <tr>
127
+ <th class="text-muted">VLAN:</th>
128
+ <td>{{ session_data.vlan }}</td>
129
+ </tr>
130
+ {% endif %}
131
+ {% if session_data.ssid %}
132
+ <tr>
133
+ <th class="text-muted">SSID:</th>
134
+ <td>{{ session_data.ssid }}</td>
135
+ </tr>
136
+ {% endif %}
137
+ {% if session_data.auth_method %}
138
+ <tr>
139
+ <th class="text-muted">Auth Method:</th>
140
+ <td>{{ session_data.auth_method }}</td>
141
+ </tr>
142
+ {% endif %}
143
+ {% if session_data.security_group %}
144
+ <tr>
145
+ <th class="text-muted">Security Group:</th>
146
+ <td><span class="badge bg-primary text-white">{{ session_data.security_group }}</span></td>
147
+ </tr>
148
+ {% endif %}
149
+ </table>
150
+ {% else %}
151
+ <div class="text-center text-muted py-4">
152
+ <i class="mdi mdi-lan-disconnect mdi-48px"></i>
153
+ <p class="mt-2">No active connection</p>
154
+ </div>
155
+ {% endif %}
156
+ </div>
157
+ </div>
158
+ </div>
159
+ </div>
160
+
161
+ <!-- Custom Attributes -->
162
+ {% if ise_data.custom_attributes %}
163
+ <div class="row">
164
+ <div class="col-12 mb-3">
165
+ <div class="card">
166
+ <div class="card-header">
167
+ <h5 class="card-title mb-0">
168
+ <i class="mdi mdi-tag-multiple"></i> Custom Attributes
169
+ </h5>
170
+ </div>
171
+ <div class="card-body">
172
+ <table class="table table-sm table-hover">
173
+ <thead>
174
+ <tr>
175
+ <th>Attribute</th>
176
+ <th>Value</th>
177
+ </tr>
178
+ </thead>
179
+ <tbody>
180
+ {% for key, value in ise_data.custom_attributes.items %}
181
+ <tr>
182
+ <td>{{ key }}</td>
183
+ <td>{{ value }}</td>
184
+ </tr>
185
+ {% endfor %}
186
+ </tbody>
187
+ </table>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ {% endif %}
193
+
194
+ <!-- Cache indicator and external link -->
195
+ <div class="mt-3 d-flex justify-content-between align-items-center">
196
+ <div>
197
+ {% if ise_data.cached %}
198
+ <span class="text-muted small">
199
+ <i class="mdi mdi-cached"></i> Data from cache
200
+ </span>
201
+ {% endif %}
202
+ </div>
203
+ <div>
204
+ {% if ise_url %}
205
+ <a href="{{ ise_url }}" target="_blank" class="btn btn-outline-primary btn-sm">
206
+ <i class="mdi mdi-open-in-new"></i> Open Cisco ISE
207
+ </a>
208
+ {% endif %}
209
+ </div>
210
+ </div>
211
+
212
+ {% else %}
213
+ <div class="alert alert-info">
214
+ <i class="mdi mdi-information"></i> No endpoint data available from ISE.
215
+ </div>
216
+ {% endif %}
217
+ </div>
218
+ </div>
219
+ {% endblock %}
@@ -0,0 +1,196 @@
1
+ {% extends 'dcim/device/base.html' %}
2
+ {% load helpers %}
3
+
4
+ {% block content %}
5
+ <div class="row">
6
+ <div class="col-12">
7
+ {% if error %}
8
+ <div class="alert alert-warning">
9
+ <i class="mdi mdi-alert"></i> {{ error }}
10
+ </div>
11
+ {% elif ise_data %}
12
+ <div class="row">
13
+ <!-- NAD Registration Status Card -->
14
+ <div class="col-md-4 mb-3">
15
+ <div class="card h-100">
16
+ <div class="card-header">
17
+ <h5 class="card-title mb-0">
18
+ <i class="mdi mdi-check-decagram"></i> ISE Registration
19
+ </h5>
20
+ </div>
21
+ <div class="card-body text-center">
22
+ <div class="p-3 mb-2 bg-success rounded">
23
+ <span class="text-white fs-3 fw-bold">
24
+ <i class="mdi mdi-check-circle"></i> Registered
25
+ </span>
26
+ </div>
27
+ {% if ise_data.name %}
28
+ <div class="mt-2">
29
+ <span class="text-muted">NAD Name:</span>
30
+ <strong class="ms-2">{{ ise_data.name }}</strong>
31
+ </div>
32
+ {% endif %}
33
+ {% if ise_data.profile_name %}
34
+ <div class="mt-1">
35
+ <span class="text-muted">Profile:</span>
36
+ <span class="badge bg-info text-dark ms-2">{{ ise_data.profile_name }}</span>
37
+ </div>
38
+ {% endif %}
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <!-- Device Details Card -->
44
+ <div class="col-md-4 mb-3">
45
+ <div class="card h-100">
46
+ <div class="card-header">
47
+ <h5 class="card-title mb-0">
48
+ <i class="mdi mdi-router"></i> Device Details
49
+ </h5>
50
+ </div>
51
+ <div class="card-body">
52
+ <table class="table table-sm table-borderless mb-0">
53
+ {% if ise_data.ip_addresses %}
54
+ <tr>
55
+ <th class="text-muted" style="width: 40%">IP Address(es):</th>
56
+ <td>
57
+ {% for ip in ise_data.ip_addresses %}
58
+ <code>{{ ip }}</code>{% if not forloop.last %}, {% endif %}
59
+ {% endfor %}
60
+ </td>
61
+ </tr>
62
+ {% endif %}
63
+ {% if ise_data.model_name %}
64
+ <tr>
65
+ <th class="text-muted">Model:</th>
66
+ <td>{{ ise_data.model_name }}</td>
67
+ </tr>
68
+ {% endif %}
69
+ {% if ise_data.software_version %}
70
+ <tr>
71
+ <th class="text-muted">Software:</th>
72
+ <td>{{ ise_data.software_version }}</td>
73
+ </tr>
74
+ {% endif %}
75
+ {% if ise_data.description %}
76
+ <tr>
77
+ <th class="text-muted">Description:</th>
78
+ <td>{{ ise_data.description }}</td>
79
+ </tr>
80
+ {% endif %}
81
+ {% if ise_data.coA_port %}
82
+ <tr>
83
+ <th class="text-muted">CoA Port:</th>
84
+ <td>{{ ise_data.coA_port }}</td>
85
+ </tr>
86
+ {% endif %}
87
+ </table>
88
+ </div>
89
+ </div>
90
+ </div>
91
+
92
+ <!-- Authentication Settings Card -->
93
+ <div class="col-md-4 mb-3">
94
+ <div class="card h-100">
95
+ <div class="card-header">
96
+ <h5 class="card-title mb-0">
97
+ <i class="mdi mdi-shield-key"></i> Authentication Settings
98
+ </h5>
99
+ </div>
100
+ <div class="card-body">
101
+ <table class="table table-sm table-borderless mb-0">
102
+ <tr>
103
+ <th class="text-muted" style="width: 50%">RADIUS:</th>
104
+ <td>
105
+ {% if ise_data.authentication_settings.radius_enabled %}
106
+ <span class="badge bg-success text-white">Enabled</span>
107
+ {% else %}
108
+ <span class="badge bg-warning text-dark">Disabled</span>
109
+ {% endif %}
110
+ </td>
111
+ </tr>
112
+ <tr>
113
+ <th class="text-muted">TACACS+:</th>
114
+ <td>
115
+ {% if ise_data.tacacs_settings.enabled %}
116
+ <span class="badge bg-success text-white">Enabled</span>
117
+ {% else %}
118
+ <span class="badge bg-warning text-dark">Disabled</span>
119
+ {% endif %}
120
+ </td>
121
+ </tr>
122
+ <tr>
123
+ <th class="text-muted">TrustSec:</th>
124
+ <td>
125
+ {% if ise_data.trustsec_enabled %}
126
+ <span class="badge bg-success text-white">Enabled</span>
127
+ {% else %}
128
+ <span class="badge bg-warning text-dark">Disabled</span>
129
+ {% endif %}
130
+ </td>
131
+ </tr>
132
+ {% if ise_data.snmp_settings.version %}
133
+ <tr>
134
+ <th class="text-muted">SNMP:</th>
135
+ <td>{{ ise_data.snmp_settings.version }}</td>
136
+ </tr>
137
+ {% endif %}
138
+ </table>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </div>
143
+
144
+ <!-- Network Device Groups -->
145
+ {% if ise_data.groups %}
146
+ <div class="row">
147
+ <div class="col-12 mb-3">
148
+ <div class="card">
149
+ <div class="card-header">
150
+ <h5 class="card-title mb-0">
151
+ <i class="mdi mdi-folder-network"></i> Network Device Groups
152
+ </h5>
153
+ </div>
154
+ <div class="card-body">
155
+ <div class="row">
156
+ {% for category, value in ise_data.groups.items %}
157
+ <div class="col-md-3 col-sm-6 mb-2">
158
+ <div class="border rounded p-2">
159
+ <div class="text-muted small">{{ category }}</div>
160
+ <div class="fw-bold">{{ value }}</div>
161
+ </div>
162
+ </div>
163
+ {% endfor %}
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+ {% endif %}
170
+
171
+ <!-- Cache indicator and external link -->
172
+ <div class="mt-3 d-flex justify-content-between align-items-center">
173
+ <div>
174
+ {% if ise_data.cached %}
175
+ <span class="text-muted small">
176
+ <i class="mdi mdi-cached"></i> Data from cache
177
+ </span>
178
+ {% endif %}
179
+ </div>
180
+ <div>
181
+ {% if ise_url %}
182
+ <a href="{{ ise_url }}" target="_blank" class="btn btn-outline-primary btn-sm">
183
+ <i class="mdi mdi-open-in-new"></i> Open Cisco ISE
184
+ </a>
185
+ {% endif %}
186
+ </div>
187
+ </div>
188
+
189
+ {% else %}
190
+ <div class="alert alert-info">
191
+ <i class="mdi mdi-information"></i> This device is not registered as a Network Access Device in ISE.
192
+ </div>
193
+ {% endif %}
194
+ </div>
195
+ </div>
196
+ {% endblock %}
@@ -0,0 +1,225 @@
1
+ {% extends 'generic/object.html' %}
2
+ {% load form_helpers %}
3
+
4
+ {% block title %}Cisco ISE Settings{% endblock %}
5
+
6
+ {% block header %}
7
+ <h1 class="pt-2"><i class="mdi mdi-shield-account"></i> Cisco ISE Settings</h1>
8
+ {% endblock %}
9
+
10
+ {% block content %}
11
+ <div class="row">
12
+ <div class="col-md-8">
13
+ <div class="card">
14
+ <div class="card-header">
15
+ <h5 class="card-title mb-0">
16
+ <i class="mdi mdi-server-network"></i> Current Configuration
17
+ </h5>
18
+ </div>
19
+ <div class="card-body">
20
+ <table class="table table-hover">
21
+ <tr>
22
+ <th style="width: 200px;">ISE URL</th>
23
+ <td>
24
+ {% if config.ise_url %}
25
+ <code>{{ config.ise_url }}</code>
26
+ {% else %}
27
+ <span class="text-danger">Not configured</span>
28
+ {% endif %}
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <th>Username</th>
33
+ <td>
34
+ {% if config.ise_username %}
35
+ <code>{{ config.ise_username }}</code>
36
+ {% else %}
37
+ <span class="text-danger">Not configured</span>
38
+ {% endif %}
39
+ </td>
40
+ </tr>
41
+ <tr>
42
+ <th>Password</th>
43
+ <td>
44
+ {% if config.ise_password %}
45
+ <span class="text-success">********</span>
46
+ {% else %}
47
+ <span class="text-danger">Not configured</span>
48
+ {% endif %}
49
+ </td>
50
+ </tr>
51
+ <tr>
52
+ <th>Timeout</th>
53
+ <td>{{ config.timeout|default:30 }} seconds</td>
54
+ </tr>
55
+ <tr>
56
+ <th>Cache Timeout</th>
57
+ <td>{{ config.cache_timeout|default:60 }} seconds</td>
58
+ </tr>
59
+ <tr>
60
+ <th>Verify SSL</th>
61
+ <td>
62
+ {% if config.verify_ssl %}
63
+ <span class="badge bg-success text-white">Enabled</span>
64
+ {% else %}
65
+ <span class="badge bg-warning text-dark">Disabled</span>
66
+ {% endif %}
67
+ </td>
68
+ </tr>
69
+ </table>
70
+
71
+ <!-- Device Mappings -->
72
+ <h6 class="mt-4 mb-3"><i class="mdi mdi-map"></i> Device Mappings</h6>
73
+ {% if config.device_mappings %}
74
+ <table class="table table-sm table-hover">
75
+ <thead>
76
+ <tr>
77
+ <th>Manufacturer</th>
78
+ <th>Device Type</th>
79
+ <th>Lookup Method</th>
80
+ </tr>
81
+ </thead>
82
+ <tbody>
83
+ {% for mapping in config.device_mappings %}
84
+ <tr>
85
+ <td><code>{{ mapping.manufacturer|default:"*" }}</code></td>
86
+ <td><code>{{ mapping.device_type|default:"*" }}</code></td>
87
+ <td>
88
+ {% if mapping.lookup == "endpoint" %}
89
+ <span class="badge bg-info text-dark">Endpoint</span>
90
+ <small class="text-muted">(MAC lookup via ERS API)</small>
91
+ {% else %}
92
+ <span class="badge bg-primary text-white">NAD</span>
93
+ <small class="text-muted">(IP/hostname via ERS API)</small>
94
+ {% endif %}
95
+ </td>
96
+ </tr>
97
+ {% endfor %}
98
+ </tbody>
99
+ </table>
100
+ {% else %}
101
+ <div class="alert alert-warning">
102
+ <i class="mdi mdi-alert"></i> No device mappings configured. The Cisco ISE tab will not appear on any devices.
103
+ </div>
104
+ {% endif %}
105
+
106
+ <!-- Test Connection Button -->
107
+ <div class="mt-3 mb-3">
108
+ <button type="button" class="btn btn-primary" id="test-connection-btn">
109
+ <i class="mdi mdi-play"></i> Test Connection
110
+ </button>
111
+ <div id="test-result" class="mt-2"></div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+
116
+ <!-- Configuration Help -->
117
+ <div class="card mt-3 mb-3">
118
+ <div class="card-header">
119
+ <h5 class="card-title mb-0">
120
+ <i class="mdi mdi-help-circle"></i> Configuration Help
121
+ </h5>
122
+ </div>
123
+ <div class="card-body">
124
+ <p>Add to <code>configuration.py</code>:</p>
125
+ <pre class="bg-body-secondary p-2 rounded" style="font-size: 0.8rem;"><code>PLUGINS = ['netbox_cisco_ise']
126
+
127
+ PLUGINS_CONFIG = {
128
+ 'netbox_cisco_ise': {
129
+ 'ise_url': 'https://ise.example.com',
130
+ 'ise_username': 'ersadmin',
131
+ 'ise_password': 'your-password',
132
+ 'timeout': 30,
133
+ 'cache_timeout': 60,
134
+ 'verify_ssl': False,
135
+ # Device mappings control which devices show the tab
136
+ # manufacturer/device_type are regex patterns
137
+ # lookup types:
138
+ # "nad" - IP/hostname (for switches, routers, WLCs)
139
+ # "endpoint" - MAC address (for wireless clients)
140
+ 'device_mappings': [
141
+ {'manufacturer': 'cisco', 'lookup': 'nad'},
142
+ {'manufacturer': 'vocera', 'lookup': 'endpoint'},
143
+ ],
144
+ }
145
+ }</code></pre>
146
+ <a href="https://github.com/sieteunoseis/netbox-cisco-ise" target="_blank" class="btn btn-outline-secondary btn-sm">
147
+ <i class="mdi mdi-github"></i> View Documentation
148
+ </a>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <div class="col-md-4">
154
+ <div class="card">
155
+ <div class="card-header">
156
+ <h5 class="card-title mb-0">
157
+ <i class="mdi mdi-information"></i> About
158
+ </h5>
159
+ </div>
160
+ <div class="card-body">
161
+ <p>
162
+ This plugin displays Cisco ISE (Identity Services Engine)
163
+ data on Device pages in NetBox.
164
+ </p>
165
+ <p>
166
+ <strong>Network Access Devices</strong> (NAD lookup):
167
+ </p>
168
+ <ul>
169
+ <li>ISE registration status</li>
170
+ <li>IP addresses &amp; model info</li>
171
+ <li>RADIUS/TACACS+ settings</li>
172
+ <li>Network device groups</li>
173
+ </ul>
174
+ <p>
175
+ <strong>Endpoints</strong> (MAC lookup):
176
+ </p>
177
+ <ul>
178
+ <li>Session status &amp; details</li>
179
+ <li>Profiling information</li>
180
+ <li>Identity group membership</li>
181
+ <li>Custom attributes</li>
182
+ </ul>
183
+ <p class="text-muted small mb-0">
184
+ Version 0.1.0
185
+ </p>
186
+ </div>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <script>
192
+ // Test Connection
193
+ document.getElementById('test-connection-btn').addEventListener('click', function() {
194
+ var btn = this;
195
+ var resultDiv = document.getElementById('test-result');
196
+
197
+ btn.disabled = true;
198
+ btn.innerHTML = '<i class="mdi mdi-loading mdi-spin"></i> Testing...';
199
+ resultDiv.innerHTML = '';
200
+
201
+ fetch('{% url "plugins:netbox_cisco_ise:test_connection" %}', {
202
+ method: 'POST',
203
+ headers: {
204
+ 'X-CSRFToken': '{{ csrf_token }}',
205
+ 'Content-Type': 'application/json'
206
+ }
207
+ })
208
+ .then(response => response.json())
209
+ .then(data => {
210
+ if (data.success) {
211
+ resultDiv.innerHTML = '<div class="alert alert-success"><i class="mdi mdi-check-circle"></i> ' + data.message + '</div>';
212
+ } else {
213
+ resultDiv.innerHTML = '<div class="alert alert-danger"><i class="mdi mdi-alert-circle"></i> ' + data.error + '</div>';
214
+ }
215
+ })
216
+ .catch(error => {
217
+ resultDiv.innerHTML = '<div class="alert alert-danger"><i class="mdi mdi-alert-circle"></i> Request failed: ' + error + '</div>';
218
+ })
219
+ .finally(() => {
220
+ btn.disabled = false;
221
+ btn.innerHTML = '<i class="mdi mdi-play"></i> Test Connection';
222
+ });
223
+ });
224
+ </script>
225
+ {% endblock %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-cisco-ise
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: NetBox plugin for Cisco ISE integration - endpoint tracking, NAD management, and session visibility
5
5
  Author-email: sieteunoseis <jeremy.worden@gmail.com>
6
6
  License: Apache-2.0
@@ -32,7 +32,7 @@ Dynamic: license-file
32
32
 
33
33
  # NetBox Cisco ISE Plugin
34
34
 
35
- <img src="docs/icon.png" alt="NetBox Cisco ISE Plugin" width="100" align="right">
35
+ <img src="https://raw.githubusercontent.com/sieteunoseis/netbox-cisco-ise/main/docs/icon.png" alt="NetBox Cisco ISE Plugin" width="100" align="right">
36
36
 
37
37
  A NetBox plugin that integrates Cisco Identity Services Engine (ISE) with NetBox, displaying endpoint details, network device (NAD) information, and active session data.
38
38
 
@@ -75,7 +75,7 @@ A NetBox plugin that integrates Cisco Identity Services Engine (ISE) with NetBox
75
75
 
76
76
  ## Installation
77
77
 
78
- ### From PyPI (when published)
78
+ ### From PyPI (recommended)
79
79
 
80
80
  ```bash
81
81
  pip install netbox-cisco-ise
@@ -0,0 +1,13 @@
1
+ netbox_cisco_ise/__init__.py,sha256=zGMle03wObuVHz4xdev9Op2tky91T9UiMtMst23zuaI,2156
2
+ netbox_cisco_ise/ise_client.py,sha256=zUMakBU6lmSi-digrMxr6JKAbqyvBAPWz4l1eD8iDa8,16228
3
+ netbox_cisco_ise/navigation.py,sha256=mMN4EyzZl6ehoqflLeYy7logt39wpCN2TEsPfqn1VtI,507
4
+ netbox_cisco_ise/urls.py,sha256=3tJHJyEQXYZ2WXw4zq1kds7xpgyHl1-HwVHlgtJA84E,304
5
+ netbox_cisco_ise/views.py,sha256=01EzP1D2asecQr3rQAqTfXKOcgj4ra0o4_T5aAlos7I,8758
6
+ netbox_cisco_ise/templates/netbox_cisco_ise/endpoint_tab.html,sha256=aS7R0oTjkUmqlP7i2zfrFhYs9F-LknJgcomGGK60u7w,9868
7
+ netbox_cisco_ise/templates/netbox_cisco_ise/nad_tab.html,sha256=Y5rCGyoSqzRmfridJp2BmC3HkPGRhvWdZ3Mp-C81qYk,8783
8
+ netbox_cisco_ise/templates/netbox_cisco_ise/settings.html,sha256=ZsnJ_AclJUDa-h7vJTd5Clh7pc3OOBx6Tf9Y_bx3oIE,8953
9
+ netbox_cisco_ise-0.1.1.dist-info/licenses/LICENSE,sha256=KmjHs19UP3vo7K2IWXkq3JDKG9PatSbqeLPwu3o2k7g,10761
10
+ netbox_cisco_ise-0.1.1.dist-info/METADATA,sha256=fhS4gLyq-EOVlcOl8e4d8eCZp_n_ym39pLpi2bcGUCM,8859
11
+ netbox_cisco_ise-0.1.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
12
+ netbox_cisco_ise-0.1.1.dist-info/top_level.txt,sha256=LMP1ppZRzqtdaMGzz53KgacW_PEwyLSM9wwIMuBvJ00,17
13
+ netbox_cisco_ise-0.1.1.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- netbox_cisco_ise/__init__.py,sha256=i2HcznblQ7qWGki5GzdHVwVTT7jHoS5xoL9YI3aeqZw,2156
2
- netbox_cisco_ise/ise_client.py,sha256=zUMakBU6lmSi-digrMxr6JKAbqyvBAPWz4l1eD8iDa8,16228
3
- netbox_cisco_ise/navigation.py,sha256=mMN4EyzZl6ehoqflLeYy7logt39wpCN2TEsPfqn1VtI,507
4
- netbox_cisco_ise/urls.py,sha256=3tJHJyEQXYZ2WXw4zq1kds7xpgyHl1-HwVHlgtJA84E,304
5
- netbox_cisco_ise/views.py,sha256=01EzP1D2asecQr3rQAqTfXKOcgj4ra0o4_T5aAlos7I,8758
6
- netbox_cisco_ise-0.1.0.dist-info/licenses/LICENSE,sha256=KmjHs19UP3vo7K2IWXkq3JDKG9PatSbqeLPwu3o2k7g,10761
7
- netbox_cisco_ise-0.1.0.dist-info/METADATA,sha256=XrCMQAnyxOKxaFBPfieuQZlrRaJjXIUzeRZdfBObgDs,8793
8
- netbox_cisco_ise-0.1.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
9
- netbox_cisco_ise-0.1.0.dist-info/top_level.txt,sha256=LMP1ppZRzqtdaMGzz53KgacW_PEwyLSM9wwIMuBvJ00,17
10
- netbox_cisco_ise-0.1.0.dist-info/RECORD,,