feat(instances): offer SDN vnets as bridges in add-NIC dialog
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,9 +54,10 @@ export default function AddNetworkInterfaceDialog({ open, onClose, serverId, vmi
|
|||||||
const { data: networks } = useNodeNetworks(serverId, node, open);
|
const { data: networks } = useNodeNetworks(serverId, node, open);
|
||||||
const bridges = useMemo(
|
const bridges = useMemo(
|
||||||
() =>
|
() =>
|
||||||
(networks?.interfaces ?? [])
|
[
|
||||||
.filter((i) => i.type === 'bridge')
|
...(networks?.interfaces ?? []).filter((i) => i.type === 'bridge'),
|
||||||
.sort((a, b) => (a.iface || a.name || '').localeCompare(b.iface || b.name || '')),
|
...(networks?.sdn_vnets ?? []),
|
||||||
|
].sort((a, b) => (a.iface || a.name || '').localeCompare(b.iface || b.name || '')),
|
||||||
[networks],
|
[networks],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -656,10 +656,11 @@ export interface NodeNetworkIface {
|
|||||||
ipam_network_id?: number;
|
ipam_network_id?: number;
|
||||||
ipam_cidr?: string;
|
ipam_cidr?: string;
|
||||||
ipam_name?: string;
|
ipam_name?: string;
|
||||||
|
zone?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useNodeNetworks(serverId: number, node: string, enabled = true) {
|
export function useNodeNetworks(serverId: number, node: string, enabled = true) {
|
||||||
return useQuery<{ node: string; interfaces: NodeNetworkIface[] }>({
|
return useQuery<{ node: string; interfaces: NodeNetworkIface[]; sdn_vnets?: NodeNetworkIface[] }>({
|
||||||
queryKey: ['node-networks', serverId, node],
|
queryKey: ['node-networks', serverId, node],
|
||||||
queryFn: () => apiClient.get(`/proxmox/api/servers/${serverId}/nodes/${node}/networks`),
|
queryFn: () => apiClient.get(`/proxmox/api/servers/${serverId}/nodes/${node}/networks`),
|
||||||
enabled: enabled && !!node,
|
enabled: enabled && !!node,
|
||||||
|
|||||||
Reference in New Issue
Block a user