UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

145 lines 6.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDatabasesClient = createDatabasesClient; /** * Creates a databases client for interfacing with the Linode Managed Databases API */ function createDatabasesClient(axios) { return { // Engine endpoints getEngines: async (params) => { const response = await axios.get('/databases/engines', { params }); return response.data; }, getEngine: async (engineId) => { const response = await axios.get(`/databases/engines/${engineId}`); return response.data; }, // Type endpoints getTypes: async (params) => { const response = await axios.get('/databases/types', { params }); return response.data; }, getType: async (typeId) => { const response = await axios.get(`/databases/types/${typeId}`); return response.data; }, // General database instances endpoint getDatabaseInstances: async (params) => { const response = await axios.get('/databases/instances', { params }); return response.data; }, // MySQL specific endpoints getMySQLInstances: async (params) => { const response = await axios.get('/databases/mysql/instances', { params }); return response.data; }, getMySQLInstance: async (instanceId) => { const response = await axios.get(`/databases/mysql/instances/${instanceId}`); return response.data; }, createMySQLInstance: async (data) => { const response = await axios.post('/databases/mysql/instances', data); return response.data; }, updateMySQLInstance: async (instanceId, data) => { const response = await axios.put(`/databases/mysql/instances/${instanceId}`, data); return response.data; }, deleteMySQLInstance: async (instanceId) => { await axios.delete(`/databases/mysql/instances/${instanceId}`); }, getMySQLCredentials: async (instanceId) => { const response = await axios.get(`/databases/mysql/instances/${instanceId}/credentials`); return response.data; }, resetMySQLCredentials: async (instanceId) => { const response = await axios.post(`/databases/mysql/instances/${instanceId}/credentials/reset`); return response.data; }, getMySQLSSLCertificate: async (instanceId) => { const response = await axios.get(`/databases/mysql/instances/${instanceId}/ssl`); return response.data; }, patchMySQLInstance: async (instanceId) => { await axios.post(`/databases/mysql/instances/${instanceId}/patch`); }, suspendMySQLInstance: async (instanceId) => { await axios.post(`/databases/mysql/instances/${instanceId}/suspend`); }, resumeMySQLInstance: async (instanceId) => { await axios.post(`/databases/mysql/instances/${instanceId}/resume`); }, // PostgreSQL specific endpoints getPostgreSQLInstances: async (params) => { const response = await axios.get('/databases/postgresql/instances', { params }); return response.data; }, getPostgreSQLInstance: async (instanceId) => { const response = await axios.get(`/databases/postgresql/instances/${instanceId}`); return response.data; }, createPostgreSQLInstance: async (data) => { const response = await axios.post('/databases/postgresql/instances', data); return response.data; }, updatePostgreSQLInstance: async (instanceId, data) => { const response = await axios.put(`/databases/postgresql/instances/${instanceId}`, data); return response.data; }, deletePostgreSQLInstance: async (instanceId) => { await axios.delete(`/databases/postgresql/instances/${instanceId}`); }, getPostgreSQLCredentials: async (instanceId) => { const response = await axios.get(`/databases/postgresql/instances/${instanceId}/credentials`); return response.data; }, resetPostgreSQLCredentials: async (instanceId) => { const response = await axios.post(`/databases/postgresql/instances/${instanceId}/credentials/reset`); return response.data; }, getPostgreSQLSSLCertificate: async (instanceId) => { const response = await axios.get(`/databases/postgresql/instances/${instanceId}/ssl`); return response.data; }, patchPostgreSQLInstance: async (instanceId) => { await axios.post(`/databases/postgresql/instances/${instanceId}/patch`); }, suspendPostgreSQLInstance: async (instanceId) => { await axios.post(`/databases/postgresql/instances/${instanceId}/suspend`); }, resumePostgreSQLInstance: async (instanceId) => { await axios.post(`/databases/postgresql/instances/${instanceId}/resume`); }, // PostgreSQL Connection Pool endpoints getPostgreSQLConnectionPools: async (instanceId, params) => { const response = await axios.get(`/databases/postgresql/instances/${instanceId}/connection-pools`, { params }); return response.data; }, getPostgreSQLConnectionPool: async (instanceId, poolName) => { const response = await axios.get(`/databases/postgresql/instances/${instanceId}/connection-pools/${poolName}`); return response.data; }, createPostgreSQLConnectionPool: async (instanceId, data) => { const response = await axios.post(`/databases/postgresql/instances/${instanceId}/connection-pools`, data); return response.data; }, updatePostgreSQLConnectionPool: async (instanceId, poolName, data) => { const response = await axios.put(`/databases/postgresql/instances/${instanceId}/connection-pools/${poolName}`, data); return response.data; }, deletePostgreSQLConnectionPool: async (instanceId, poolName) => { await axios.delete(`/databases/postgresql/instances/${instanceId}/connection-pools/${poolName}`); }, // Database Config endpoints getMySQLConfig: async () => { const response = await axios.get('/databases/mysql/config'); return response.data; }, getPostgreSQLConfig: async () => { const response = await axios.get('/databases/postgresql/config'); return response.data; } }; } //# sourceMappingURL=databases.js.map