UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

204 lines 9.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; }, deleteVLAN: async (regionId, label) => { const response = await axios.delete(`/networking/vlans/${regionId}/${label}`); return response.data; }, // Get a specific firewall device getFirewallDevice: async (firewallId, deviceId) => { const response = await axios.get(`/networking/firewalls/${firewallId}/devices/${deviceId}`); return response.data; }, // Firewall history operations getFirewallHistory: async (firewallId, params) => { const response = await axios.get(`/networking/firewalls/${firewallId}/history`, { params }); return response.data; }, getFirewallRuleVersion: async (firewallId, version) => { const response = await axios.get(`/networking/firewalls/${firewallId}/history/rules/${version}`); return response.data; }, // Firewall settings operations getFirewallSettings: async () => { const response = await axios.get('/networking/firewalls/settings'); return response.data; }, updateFirewallSettings: async (data) => { const response = await axios.put('/networking/firewalls/settings', data); return response.data; }, // Firewall template operations getFirewallTemplates: async () => { const response = await axios.get('/networking/firewalls/templates'); return response.data; }, getFirewallTemplate: async (slug) => { const response = await axios.get(`/networking/firewalls/templates/${slug}`); return response.data; }, // IP assignment operations assignIPs: async (data) => { const response = await axios.post('/networking/ips/assign', data); return response.data; }, // IPv4 operations assignIPv4Addresses: async (data) => { const response = await axios.post('/networking/ipv4/assign', data); return response.data; }, shareIPv4Addresses: async (data) => { const response = await axios.post('/networking/ipv4/share', data); return response.data; }, // IPv6 range operations createIPv6Range: async (data) => { const response = await axios.post('/networking/ipv6/ranges', data); return response.data; }, deleteIPv6Range: async (range) => { const response = await axios.delete(`/networking/ipv6/ranges/${range}`); return response.data; }, // Network Transfer Prices operations getNetworkTransferPrices: async () => { const response = await axios.get('/network-transfer/prices'); return response.data; }, // Linode Interface operations getLinodeInterfaces: async (linodeId) => { const response = await axios.get(`/linode/instances/${linodeId}/interfaces`); return response.data; }, getLinodeInterface: async (linodeId, interfaceId) => { const response = await axios.get(`/linode/instances/${linodeId}/interfaces/${interfaceId}`); return response.data; }, createLinodeInterface: async (linodeId, data) => { const response = await axios.post(`/linode/instances/${linodeId}/interfaces`, data); return response.data; }, updateLinodeInterface: async (linodeId, interfaceId, data) => { const response = await axios.put(`/linode/instances/${linodeId}/interfaces/${interfaceId}`, data); return response.data; }, deleteLinodeInterface: async (linodeId, interfaceId) => { const response = await axios.delete(`/linode/instances/${linodeId}/interfaces/${interfaceId}`); return response.data; }, getLinodeInterfaceHistory: async (linodeId, params) => { const response = await axios.get(`/linode/instances/${linodeId}/interfaces/history`, { params }); return response.data; }, getLinodeInterfaceSettings: async (linodeId) => { const response = await axios.get(`/linode/instances/${linodeId}/interfaces/settings`); return response.data; }, updateLinodeInterfaceSettings: async (linodeId, data) => { const response = await axios.put(`/linode/instances/${linodeId}/interfaces/settings`, data); return response.data; }, getLinodeInterfaceFirewalls: async (linodeId, interfaceId) => { const response = await axios.get(`/linode/instances/${linodeId}/interfaces/${interfaceId}/firewalls`); return response.data; }, upgradeLinodeInterfaces: async (linodeId) => { const response = await axios.post(`/linode/instances/${linodeId}/upgrade-interfaces`); return response.data; } }; } //# sourceMappingURL=networking.js.map