UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

99 lines 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNetworkingClient = createNetworkingClient; function createNetworkingClient(axios) { return { // IP Address operations getIPAddresses: async () => { const response = await axios.get('/networking/ips'); return response.data; }, getIPAddress: async (address) => { const response = await axios.get(`/networking/ips/${address}`); return response.data; }, updateIPAddress: async (address, data) => { const response = await axios.put(`/networking/ips/${address}`, data); return response.data; }, allocateIPAddress: async (data) => { const response = await axios.post('/networking/ips', data); return response.data; }, shareIPAddresses: async (data) => { const response = await axios.post('/networking/ips/share', data); return response.data; }, // IPv6 operations getIPv6Ranges: async () => { const response = await axios.get('/networking/ipv6/ranges'); return response.data; }, getIPv6Range: async (range) => { const response = await axios.get(`/networking/ipv6/ranges/${range}`); return response.data; }, getIPv6Pools: async () => { const response = await axios.get('/networking/ipv6/pools'); return response.data; }, // Firewall operations getFirewalls: async (params) => { const response = await axios.get('/networking/firewalls', { params }); return response.data; }, getFirewall: async (id) => { const response = await axios.get(`/networking/firewalls/${id}`); return response.data; }, createFirewall: async (data) => { // Ensure inbound_policy and outbound_policy are provided if (!data.rules.inbound_policy) { data.rules.inbound_policy = 'DROP'; } if (!data.rules.outbound_policy) { data.rules.outbound_policy = 'ACCEPT'; } const response = await axios.post('/networking/firewalls', data); return response.data; }, updateFirewall: async (id, data) => { const response = await axios.put(`/networking/firewalls/${id}`, data); return response.data; }, deleteFirewall: async (id) => { const response = await axios.delete(`/networking/firewalls/${id}`); return response.data; }, getFirewallDevices: async (firewallId) => { const response = await axios.get(`/networking/firewalls/${firewallId}/devices`); return response.data; }, createFirewallDevice: async (firewallId, data) => { const response = await axios.post(`/networking/firewalls/${firewallId}/devices`, data); return response.data; }, deleteFirewallDevice: async (firewallId, deviceId) => { const response = await axios.delete(`/networking/firewalls/${firewallId}/devices/${deviceId}`); return response.data; }, getFirewallRules: async (firewallId) => { const response = await axios.get(`/networking/firewalls/${firewallId}/rules`); return response.data; }, updateFirewallRules: async (firewallId, data) => { const response = await axios.put(`/networking/firewalls/${firewallId}/rules`, data); return response.data; }, // VLAN operations getVLANs: async (params) => { const response = await axios.get('/networking/vlans', { params }); return response.data; }, getVLAN: async (regionId, label) => { const response = await axios.get(`/networking/vlans/${regionId}/${label}`); return response.data; } }; } //# sourceMappingURL=networking.js.map