n8n-nodes-netdevices-ubuntu 1.0.60
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.
- package/LICENSE.md +19 -0
- package/README.md +75 -0
- package/dist/credentials/NetDevicesApi.credentials.d.ts +8 -0
- package/dist/credentials/NetDevicesApi.credentials.js +216 -0
- package/dist/credentials/NetDevicesApi.credentials.js.map +1 -0
- package/dist/credentials/NetDevicesApi.credentials.svg +32 -0
- package/dist/credentials/netdevices-icon.svg +32 -0
- package/dist/nodes/NetDevices/NetDevices.node.d.ts +5 -0
- package/dist/nodes/NetDevices/NetDevices.node.js +452 -0
- package/dist/nodes/NetDevices/NetDevices.node.js.map +1 -0
- package/dist/nodes/NetDevices/NetDevices.node.json +30 -0
- package/dist/nodes/NetDevices/netdevices-icon.svg +32 -0
- package/dist/nodes/NetDevices/utils/base-connection.d.ts +110 -0
- package/dist/nodes/NetDevices/utils/base-connection.js +995 -0
- package/dist/nodes/NetDevices/utils/base-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/ciena/ciena-saos-connection.d.ts +13 -0
- package/dist/nodes/NetDevices/utils/ciena/ciena-saos-connection.js +82 -0
- package/dist/nodes/NetDevices/utils/ciena/ciena-saos-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/ciena/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/ciena/index.js +7 -0
- package/dist/nodes/NetDevices/utils/ciena/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-connection.d.ts +26 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-connection.js +254 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-ios-xr-connection.d.ts +18 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-ios-xr-connection.js +199 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-ios-xr-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-sg300-connection.d.ts +25 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-sg300-connection.js +231 -0
- package/dist/nodes/NetDevices/utils/cisco/cisco-sg300-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/cisco/index.d.ts +4 -0
- package/dist/nodes/NetDevices/utils/cisco/index.js +11 -0
- package/dist/nodes/NetDevices/utils/cisco/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/connection-dispatcher.d.ts +19 -0
- package/dist/nodes/NetDevices/utils/connection-dispatcher.js +239 -0
- package/dist/nodes/NetDevices/utils/connection-dispatcher.js.map +1 -0
- package/dist/nodes/NetDevices/utils/device-specific-jump-host-connection.d.ts +8 -0
- package/dist/nodes/NetDevices/utils/device-specific-jump-host-connection.js +81 -0
- package/dist/nodes/NetDevices/utils/device-specific-jump-host-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-connection.d.ts +24 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-connection.js +262 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-mltn-connection.d.ts +20 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-mltn-connection.js +64 -0
- package/dist/nodes/NetDevices/utils/ericsson/ericsson-mltn-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/ericsson/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/ericsson/index.js +19 -0
- package/dist/nodes/NetDevices/utils/ericsson/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/fortinet/fortinet-connection.d.ts +35 -0
- package/dist/nodes/NetDevices/utils/fortinet/fortinet-connection.js +383 -0
- package/dist/nodes/NetDevices/utils/fortinet/fortinet-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/fortinet/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/fortinet/index.js +7 -0
- package/dist/nodes/NetDevices/utils/fortinet/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/index.d.ts +11 -0
- package/dist/nodes/NetDevices/utils/index.js +31 -0
- package/dist/nodes/NetDevices/utils/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/jump-host-connection.d.ts +29 -0
- package/dist/nodes/NetDevices/utils/jump-host-connection.js +690 -0
- package/dist/nodes/NetDevices/utils/jump-host-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/juniper/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/juniper/index.js +7 -0
- package/dist/nodes/NetDevices/utils/juniper/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/juniper/juniper-connection.d.ts +28 -0
- package/dist/nodes/NetDevices/utils/juniper/juniper-connection.js +321 -0
- package/dist/nodes/NetDevices/utils/juniper/juniper-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/linux/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/linux/index.js +7 -0
- package/dist/nodes/NetDevices/utils/linux/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/linux/linux-connection.d.ts +32 -0
- package/dist/nodes/NetDevices/utils/linux/linux-connection.js +377 -0
- package/dist/nodes/NetDevices/utils/linux/linux-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/no-enable.d.ts +9 -0
- package/dist/nodes/NetDevices/utils/no-enable.js +20 -0
- package/dist/nodes/NetDevices/utils/no-enable.js.map +1 -0
- package/dist/nodes/NetDevices/utils/paloalto/index.d.ts +2 -0
- package/dist/nodes/NetDevices/utils/paloalto/index.js +7 -0
- package/dist/nodes/NetDevices/utils/paloalto/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/paloalto/paloalto-connection.d.ts +22 -0
- package/dist/nodes/NetDevices/utils/paloalto/paloalto-connection.js +296 -0
- package/dist/nodes/NetDevices/utils/paloalto/paloalto-connection.js.map +1 -0
- package/dist/nodes/NetDevices/utils/vyos/index.d.ts +1 -0
- package/dist/nodes/NetDevices/utils/vyos/index.js +18 -0
- package/dist/nodes/NetDevices/utils/vyos/index.js.map +1 -0
- package/dist/nodes/NetDevices/utils/vyos/vyos-connection.d.ts +17 -0
- package/dist/nodes/NetDevices/utils/vyos/vyos-connection.js +96 -0
- package/dist/nodes/NetDevices/utils/vyos/vyos-connection.js.map +1 -0
- package/dist/package.json +81 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/index.js +1 -0
- package/package.json +81 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# n8n-nodes-netdevices
|
|
2
|
+
|
|
3
|
+
A powerful, TypeScript-based n8n custom node for managing network devices via SSH. Inspired by Python's Netmiko, this node brings robust network automation capabilities to your n8n workflows, allowing you to interact with a wide range of network infrastructure directly.
|
|
4
|
+
|
|
5
|
+
## Key Features
|
|
6
|
+
|
|
7
|
+
- **Multi-Vendor Support**: Manage devices from Cisco, Juniper, Palo Alto, Fortinet, Ericsson, and more.
|
|
8
|
+
- **Secure Connections**: Utilizes the battle-tested `ssh2` library for secure and reliable SSH sessions.
|
|
9
|
+
- **Flexible Authentication**: Supports both password and SSH key-based authentication, including passphrase-protected keys.
|
|
10
|
+
- **Jump Host Support**: Securely connect to devices in enterprise environments through bastion servers.
|
|
11
|
+
- **Intelligent Operation**: Automatically handles vendor-specific behaviors like enable modes, configuration prompts, and paging.
|
|
12
|
+
- **Performance Optimized**: Features connection pooling, fast mode, and optimized SSH algorithms for high-speed execution.
|
|
13
|
+
- **Modular & Extensible**: Built with a clean, modular architecture that makes it easy to add support for new vendors.
|
|
14
|
+
|
|
15
|
+
## Supported Platforms
|
|
16
|
+
|
|
17
|
+
The node supports a wide variety of network operating systems across multiple vendors.
|
|
18
|
+
|
|
19
|
+
| Vendor | Platform | Description |
|
|
20
|
+
| :--- | :--- | :--- |
|
|
21
|
+
| **Cisco** | `Cisco IOS` | Traditional Cisco routers and switches. |
|
|
22
|
+
| | `Cisco IOS-XE` | Modern Cisco devices running the IOS-XE platform. |
|
|
23
|
+
| | `Cisco IOS-XR` | Service provider routers with a commit-based configuration model. |
|
|
24
|
+
| | `Cisco NX-OS` | Cisco Nexus data center switches. |
|
|
25
|
+
| | `Cisco ASA` | Cisco ASA firewall appliances. |
|
|
26
|
+
| | `Cisco SG300` | Small business switch series. |
|
|
27
|
+
| **Juniper** | `Juniper JunOS` | Juniper routers and switches. |
|
|
28
|
+
| | `Juniper SRX` | Juniper SRX series firewalls. |
|
|
29
|
+
| **Palo Alto** | `Palo Alto PAN-OS` | Palo Alto Networks firewalls (PA-series, VM-series). |
|
|
30
|
+
| **Fortinet** | `Fortinet FortiGate` | Fortinet FortiGate firewalls and security appliances. |
|
|
31
|
+
| **Ericsson** | `Ericsson IPOS` | Ericsson IPOS-based devices. |
|
|
32
|
+
| | `Ericsson MiniLink`| Ericsson's microwave radio systems. |
|
|
33
|
+
| **VyOS** | `VyOS` | Open-source router and firewall platform. |
|
|
34
|
+
| **Linux** | `Linux` | Standard Linux servers and network appliances. |
|
|
35
|
+
| **Generic** | `Generic` | A basic SSH connection for other compatible devices. |
|
|
36
|
+
|
|
37
|
+
## Core Operations
|
|
38
|
+
|
|
39
|
+
The node provides a set of core operations to manage your network devices.
|
|
40
|
+
|
|
41
|
+
| Operation | Description | Use Case |
|
|
42
|
+
| :--- | :--- | :--- |
|
|
43
|
+
| **Send Command** | Executes a single command and returns the output. | Running `show` commands, checking device status. |
|
|
44
|
+
| **Send Config** | Applies a set of configuration commands. | Configuring interfaces, VLANs, routing protocols. |
|
|
45
|
+
| **Get Running Config**| Retrieves the device's current running configuration. | Backing up configurations, performing compliance checks. |
|
|
46
|
+
| **Save Config** | Saves the running configuration to persistent storage. | Making configuration changes permanent. |
|
|
47
|
+
| **Reboot Device** | Restarts the network device. | Applying updates or changes that require a reboot. |
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
1. **Install the Package**:
|
|
52
|
+
```bash
|
|
53
|
+
npm install n8n-nodes-netdevices
|
|
54
|
+
```
|
|
55
|
+
2. **Restart n8n**:
|
|
56
|
+
Restart your n8n instance to load the new node.
|
|
57
|
+
|
|
58
|
+
## Configuration
|
|
59
|
+
|
|
60
|
+
The node uses the "Net Devices API" credential type, which includes fields for the device's hostname, port, username, and authentication details. It also includes advanced options for connection timeouts, jump hosts, and performance tuning.
|
|
61
|
+
|
|
62
|
+
For detailed guides on advanced configuration, please see:
|
|
63
|
+
- [Jump Host Configuration Guide](JUMP_HOST_GUIDE.md)
|
|
64
|
+
- [Performance Optimization Guide](PERFORMANCE_OPTIMIZATION_GUIDE.md)
|
|
65
|
+
|
|
66
|
+
## Development & Contribution
|
|
67
|
+
|
|
68
|
+
This project is open to contributions. If you'd like to add support for a new vendor or improve the existing functionality, please see the following guides:
|
|
69
|
+
|
|
70
|
+
- [How to Add a New Vendor](VENDOR_GUIDE.md)
|
|
71
|
+
- [Contribution Guidelines](CONTRIBUTING.md)
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
This project is licensed under the MIT License. See the [LICENSE.md](LICENSE.md) file for details.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NetDevicesApi = void 0;
|
|
4
|
+
const index_1 = require("../nodes/NetDevices/utils/index");
|
|
5
|
+
class NetDevicesApi {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.name = 'netDevicesApi';
|
|
8
|
+
this.displayName = 'Net Devices API';
|
|
9
|
+
this.documentationUrl = 'https://github.com/arpit-patel1/n8n-nodes-netdevices';
|
|
10
|
+
this.icon = 'file:netdevices-icon.svg';
|
|
11
|
+
this.properties = [
|
|
12
|
+
{
|
|
13
|
+
displayName: 'Hostname/IP',
|
|
14
|
+
name: 'host',
|
|
15
|
+
type: 'string',
|
|
16
|
+
default: '',
|
|
17
|
+
required: true,
|
|
18
|
+
description: 'The hostname or IP address of the network device',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
displayName: 'Port',
|
|
22
|
+
name: 'port',
|
|
23
|
+
type: 'number',
|
|
24
|
+
default: 22,
|
|
25
|
+
required: true,
|
|
26
|
+
description: 'The SSH port number (default: 22)',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
displayName: 'Username',
|
|
30
|
+
name: 'username',
|
|
31
|
+
type: 'string',
|
|
32
|
+
default: '',
|
|
33
|
+
required: true,
|
|
34
|
+
description: 'The username for SSH authentication',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
displayName: 'Authentication Method',
|
|
38
|
+
name: 'authMethod',
|
|
39
|
+
type: 'options',
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
name: 'Password',
|
|
43
|
+
value: 'password',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'SSH Private Key',
|
|
47
|
+
value: 'privateKey',
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
default: 'password',
|
|
51
|
+
required: true,
|
|
52
|
+
description: 'The authentication method to use for SSH connection',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
displayName: 'Password',
|
|
56
|
+
name: 'password',
|
|
57
|
+
type: 'string',
|
|
58
|
+
typeOptions: { password: true },
|
|
59
|
+
default: '',
|
|
60
|
+
required: true,
|
|
61
|
+
displayOptions: {
|
|
62
|
+
show: {
|
|
63
|
+
authMethod: ['password'],
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
description: 'The password for SSH authentication',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
displayName: 'SSH Private Key',
|
|
70
|
+
name: 'privateKey',
|
|
71
|
+
type: 'string',
|
|
72
|
+
typeOptions: {
|
|
73
|
+
password: true,
|
|
74
|
+
rows: 5,
|
|
75
|
+
},
|
|
76
|
+
default: '',
|
|
77
|
+
required: true,
|
|
78
|
+
displayOptions: {
|
|
79
|
+
show: {
|
|
80
|
+
authMethod: ['privateKey'],
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
description: 'The complete SSH private key content (paste the entire key including -----BEGIN and -----END lines)',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
displayName: 'Private Key Passphrase',
|
|
87
|
+
name: 'passphrase',
|
|
88
|
+
type: 'string',
|
|
89
|
+
typeOptions: { password: true },
|
|
90
|
+
default: '',
|
|
91
|
+
required: false,
|
|
92
|
+
displayOptions: {
|
|
93
|
+
show: {
|
|
94
|
+
authMethod: ['privateKey'],
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
description: 'The passphrase for the SSH private key (leave empty if no passphrase)',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
displayName: 'Device Type',
|
|
101
|
+
name: 'deviceType',
|
|
102
|
+
type: 'options',
|
|
103
|
+
options: index_1.ConnectionDispatcher.getDeviceTypeOptions(),
|
|
104
|
+
default: 'cisco_ios',
|
|
105
|
+
required: true,
|
|
106
|
+
description: 'The type of network device',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
displayName: 'Enable Password',
|
|
110
|
+
name: 'enablePassword',
|
|
111
|
+
type: 'string',
|
|
112
|
+
typeOptions: { password: true },
|
|
113
|
+
default: '',
|
|
114
|
+
displayOptions: {
|
|
115
|
+
show: {
|
|
116
|
+
deviceType: ['cisco_ios', 'cisco_ios_xe', 'cisco_nxos', 'cisco_asa'],
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
description: 'The enable password for Cisco devices (optional, uses login password if not provided)',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
displayName: 'Connection Timeout',
|
|
123
|
+
name: 'timeout',
|
|
124
|
+
type: 'number',
|
|
125
|
+
default: 30,
|
|
126
|
+
description: 'Connection timeout in seconds (default: 30)',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
displayName: 'Keep Alive',
|
|
130
|
+
name: 'keepAlive',
|
|
131
|
+
type: 'boolean',
|
|
132
|
+
default: true,
|
|
133
|
+
description: 'Send keep-alive packets to maintain the connection',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
displayName: 'Use Jump Host',
|
|
137
|
+
name: 'useJumpHost',
|
|
138
|
+
type: 'boolean',
|
|
139
|
+
default: false,
|
|
140
|
+
description: 'Whether to connect through a jump host (bastion server)',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
displayName: 'Jump Host Hostname/IP',
|
|
144
|
+
name: 'jumpHostHost',
|
|
145
|
+
type: 'string',
|
|
146
|
+
default: '',
|
|
147
|
+
required: true,
|
|
148
|
+
displayOptions: { show: { useJumpHost: [true] } },
|
|
149
|
+
description: 'The hostname or IP address of the jump host',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
displayName: 'Jump Host Port',
|
|
153
|
+
name: 'jumpHostPort',
|
|
154
|
+
type: 'number',
|
|
155
|
+
default: 22,
|
|
156
|
+
required: true,
|
|
157
|
+
displayOptions: { show: { useJumpHost: [true] } },
|
|
158
|
+
description: 'The SSH port number for the jump host',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
displayName: 'Jump Host Username',
|
|
162
|
+
name: 'jumpHostUsername',
|
|
163
|
+
type: 'string',
|
|
164
|
+
default: '',
|
|
165
|
+
required: true,
|
|
166
|
+
displayOptions: { show: { useJumpHost: [true] } },
|
|
167
|
+
description: 'The username for jump host SSH authentication',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
displayName: 'Jump Host Authentication Method',
|
|
171
|
+
name: 'jumpHostAuthMethod',
|
|
172
|
+
type: 'options',
|
|
173
|
+
options: [
|
|
174
|
+
{ name: 'Password', value: 'password' },
|
|
175
|
+
{ name: 'SSH Private Key', value: 'privateKey' },
|
|
176
|
+
],
|
|
177
|
+
default: 'password',
|
|
178
|
+
required: true,
|
|
179
|
+
displayOptions: { show: { useJumpHost: [true] } },
|
|
180
|
+
description: 'The authentication method for jump host',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
displayName: 'Jump Host Password',
|
|
184
|
+
name: 'jumpHostPassword',
|
|
185
|
+
type: 'string',
|
|
186
|
+
typeOptions: { password: true },
|
|
187
|
+
default: '',
|
|
188
|
+
required: true,
|
|
189
|
+
displayOptions: { show: { useJumpHost: [true], jumpHostAuthMethod: ['password'] } },
|
|
190
|
+
description: 'The password for jump host SSH authentication',
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
displayName: 'Jump Host SSH Private Key',
|
|
194
|
+
name: 'jumpHostPrivateKey',
|
|
195
|
+
type: 'string',
|
|
196
|
+
typeOptions: { password: true, rows: 5 },
|
|
197
|
+
default: '',
|
|
198
|
+
required: true,
|
|
199
|
+
displayOptions: { show: { useJumpHost: [true], jumpHostAuthMethod: ['privateKey'] } },
|
|
200
|
+
description: 'The SSH private key for jump host authentication',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
displayName: 'Jump Host Private Key Passphrase',
|
|
204
|
+
name: 'jumpHostPassphrase',
|
|
205
|
+
type: 'string',
|
|
206
|
+
typeOptions: { password: true },
|
|
207
|
+
default: '',
|
|
208
|
+
required: false,
|
|
209
|
+
displayOptions: { show: { useJumpHost: [true], jumpHostAuthMethod: ['privateKey'] } },
|
|
210
|
+
description: 'The passphrase for jump host SSH private key (leave empty if no passphrase)',
|
|
211
|
+
},
|
|
212
|
+
];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
exports.NetDevicesApi = NetDevicesApi;
|
|
216
|
+
//# sourceMappingURL=NetDevicesApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetDevicesApi.credentials.js","sourceRoot":"","sources":["../../credentials/NetDevicesApi.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<!-- Background circle -->
|
|
4
|
+
<circle cx="30" cy="30" r="28" fill="#1f70c1" stroke="#ffffff" stroke-width="2"/>
|
|
5
|
+
|
|
6
|
+
<!-- Central network node -->
|
|
7
|
+
<circle cx="30" cy="30" r="6" fill="#ffffff"/>
|
|
8
|
+
|
|
9
|
+
<!-- Network connections (lines) -->
|
|
10
|
+
<line x1="30" y1="30" x2="15" y2="15" stroke="#ffffff" stroke-width="2"/>
|
|
11
|
+
<line x1="30" y1="30" x2="45" y2="15" stroke="#ffffff" stroke-width="2"/>
|
|
12
|
+
<line x1="30" y1="30" x2="15" y2="45" stroke="#ffffff" stroke-width="2"/>
|
|
13
|
+
<line x1="30" y1="30" x2="45" y2="45" stroke="#ffffff" stroke-width="2"/>
|
|
14
|
+
<line x1="30" y1="30" x2="30" y2="8" stroke="#ffffff" stroke-width="2"/>
|
|
15
|
+
<line x1="30" y1="30" x2="30" y2="52" stroke="#ffffff" stroke-width="2"/>
|
|
16
|
+
<line x1="30" y1="30" x2="8" y2="30" stroke="#ffffff" stroke-width="2"/>
|
|
17
|
+
<line x1="30" y1="30" x2="52" y2="30" stroke="#ffffff" stroke-width="2"/>
|
|
18
|
+
|
|
19
|
+
<!-- Outer network nodes -->
|
|
20
|
+
<circle cx="15" cy="15" r="3" fill="#ffffff"/>
|
|
21
|
+
<circle cx="45" cy="15" r="3" fill="#ffffff"/>
|
|
22
|
+
<circle cx="15" cy="45" r="3" fill="#ffffff"/>
|
|
23
|
+
<circle cx="45" cy="45" r="3" fill="#ffffff"/>
|
|
24
|
+
<circle cx="30" cy="8" r="3" fill="#ffffff"/>
|
|
25
|
+
<circle cx="30" cy="52" r="3" fill="#ffffff"/>
|
|
26
|
+
<circle cx="8" cy="30" r="3" fill="#ffffff"/>
|
|
27
|
+
<circle cx="52" cy="30" r="3" fill="#ffffff"/>
|
|
28
|
+
|
|
29
|
+
<!-- Terminal/CLI indicator -->
|
|
30
|
+
<rect x="25" y="26" width="10" height="8" fill="#1f70c1" stroke="#ffffff" stroke-width="1"/>
|
|
31
|
+
<text x="30" y="32" text-anchor="middle" font-family="monospace" font-size="4" fill="#ffffff">ND</text>
|
|
32
|
+
</svg>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<!-- Background circle -->
|
|
4
|
+
<circle cx="30" cy="30" r="28" fill="#1f70c1" stroke="#ffffff" stroke-width="2"/>
|
|
5
|
+
|
|
6
|
+
<!-- Central network node -->
|
|
7
|
+
<circle cx="30" cy="30" r="6" fill="#ffffff"/>
|
|
8
|
+
|
|
9
|
+
<!-- Network connections (lines) -->
|
|
10
|
+
<line x1="30" y1="30" x2="15" y2="15" stroke="#ffffff" stroke-width="2"/>
|
|
11
|
+
<line x1="30" y1="30" x2="45" y2="15" stroke="#ffffff" stroke-width="2"/>
|
|
12
|
+
<line x1="30" y1="30" x2="15" y2="45" stroke="#ffffff" stroke-width="2"/>
|
|
13
|
+
<line x1="30" y1="30" x2="45" y2="45" stroke="#ffffff" stroke-width="2"/>
|
|
14
|
+
<line x1="30" y1="30" x2="30" y2="8" stroke="#ffffff" stroke-width="2"/>
|
|
15
|
+
<line x1="30" y1="30" x2="30" y2="52" stroke="#ffffff" stroke-width="2"/>
|
|
16
|
+
<line x1="30" y1="30" x2="8" y2="30" stroke="#ffffff" stroke-width="2"/>
|
|
17
|
+
<line x1="30" y1="30" x2="52" y2="30" stroke="#ffffff" stroke-width="2"/>
|
|
18
|
+
|
|
19
|
+
<!-- Outer network nodes -->
|
|
20
|
+
<circle cx="15" cy="15" r="3" fill="#ffffff"/>
|
|
21
|
+
<circle cx="45" cy="15" r="3" fill="#ffffff"/>
|
|
22
|
+
<circle cx="15" cy="45" r="3" fill="#ffffff"/>
|
|
23
|
+
<circle cx="45" cy="45" r="3" fill="#ffffff"/>
|
|
24
|
+
<circle cx="30" cy="8" r="3" fill="#ffffff"/>
|
|
25
|
+
<circle cx="30" cy="52" r="3" fill="#ffffff"/>
|
|
26
|
+
<circle cx="8" cy="30" r="3" fill="#ffffff"/>
|
|
27
|
+
<circle cx="52" cy="30" r="3" fill="#ffffff"/>
|
|
28
|
+
|
|
29
|
+
<!-- Terminal/CLI indicator -->
|
|
30
|
+
<rect x="25" y="26" width="10" height="8" fill="#1f70c1" stroke="#ffffff" stroke-width="1"/>
|
|
31
|
+
<text x="30" y="32" text-anchor="middle" font-family="monospace" font-size="4" fill="#ffffff">NetDevices</text>
|
|
32
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class NetDevices implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|