SPAM: [PATCH pve-manager] ui: add dialog for nautobot IPAM plugin

Lou Lecrivain lou.lecrivain at wdz.de
Wed Jan 29 12:25:59 CET 2025


Co-Authored-by: jonatan crystall <jonatan.crystall at gwdg.de>
Signed-off-by: lou lecrivain <lou.lecrivain at wdz.de>
---
 www/manager6/Makefile                  |  1 +
 www/manager6/Utils.js                  |  5 +++
 www/manager6/sdn/ipams/NautobotEdit.js | 52 ++++++++++++++++++++++++++
 3 files changed, 58 insertions(+)
 create mode 100644 www/manager6/sdn/ipams/NautobotEdit.js

diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index c94a5cdf..aee431ae 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -292,6 +292,7 @@ JSSRC= 							\
 	sdn/IpamView.js					\
 	sdn/ipams/Base.js				\
 	sdn/ipams/NetboxEdit.js				\
+	sdn/ipams/NautobotEdit.js				\
 	sdn/ipams/PVEIpamEdit.js			\
 	sdn/ipams/PhpIpamEdit.js			\
 	sdn/DnsView.js					\
diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index 90011a8f..338039b5 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -931,6 +931,11 @@ Ext.define('PVE.Utils', {
 	    ipanel: 'PhpIpamInputPanel',
 	    faIcon: 'th',
 	},
+	nautobot: {
+	    name: 'Nautobot',
+	    ipanel: 'NautobotInputPanel',
+	    faIcon: 'th',
+	},
     },
 
     sdndnsSchema: {
diff --git a/www/manager6/sdn/ipams/NautobotEdit.js b/www/manager6/sdn/ipams/NautobotEdit.js
new file mode 100644
index 00000000..06d8f2c8
--- /dev/null
+++ b/www/manager6/sdn/ipams/NautobotEdit.js
@@ -0,0 +1,52 @@
+Ext.define('PVE.sdn.ipams.NautobotInputPanel', {
+    extend: 'PVE.panel.SDNIpamBase',
+
+    onlineHelp: 'pvesdn_ipam_plugin_nautobot', // TODO: update docs
+
+    onGetValues: function(values) {
+        var me = this;
+
+	if (me.isCreate) {
+	    values.type = me.type;
+	} else {
+	    delete values.ipam;
+	}
+
+	return values;
+    },
+
+    initComponent: function() {
+	var me = this;
+
+	me.items = [
+	    {
+		xtype: me.isCreate ? 'textfield' : 'displayfield',
+		name: 'ipam',
+		maxLength: 10,
+		value: me.zone || '',
+		fieldLabel: 'ID',
+		allowBlank: false,
+	    },
+	    {
+		xtype: 'textfield',
+		name: 'url',
+		fieldLabel: gettext('URL'),
+		allowBlank: false,
+	    },
+	    {
+		xtype: 'textfield',
+		name: 'token',
+		fieldLabel: gettext('Token'),
+		allowBlank: false,
+	    },
+		{
+		xtype: 'textfield',
+		name: 'namespace',
+		fieldLabel: gettext('Namespace'),
+		allowBlank: false,
+		},
+	];
+
+	me.callParent();
+    },
+});
-- 
2.39.5




More information about the pve-devel mailing list