UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

248 lines 11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAccountClient = createAccountClient; function createAccountClient(axiosInstance) { return { // Account operations getAccount: async () => { const response = await axiosInstance.get('/account'); return response.data; }, updateAccount: async (data) => { const response = await axiosInstance.put('/account', data); return response.data; }, // Agreements operations getAgreements: async () => { const response = await axiosInstance.get('/account/agreements'); return response.data; }, acknowledgeAgreements: async (data) => { const response = await axiosInstance.post('/account/agreements', data); return response.data; }, // Service availability operations getServiceAvailability: async () => { const response = await axiosInstance.get('/account/availability'); return response.data; }, getRegionServiceAvailability: async (regionId) => { const response = await axiosInstance.get(`/account/availability/${regionId}`); return response.data; }, // Account cancellation cancelAccount: async (data) => { const response = await axiosInstance.post('/account/cancel', data); return response.data; }, // Event operations getEvents: async (params) => { const response = await axiosInstance.get('/account/events', { params }); return response.data; }, getEvent: async (eventId) => { const response = await axiosInstance.get(`/account/events/${eventId}`); return response.data; }, markEventAsSeen: async (eventId) => { const response = await axiosInstance.post(`/account/events/${eventId}/seen`); return response.data; }, // Invoice operations getInvoices: async (params) => { const response = await axiosInstance.get('/account/invoices', { params }); return response.data; }, getInvoice: async (invoiceId) => { const response = await axiosInstance.get(`/account/invoices/${invoiceId}`); return response.data; }, getInvoiceItems: async (invoiceId, params) => { const response = await axiosInstance.get(`/account/invoices/${invoiceId}/items`, { params }); return response.data; }, // Login operations getLogins: async (params) => { const response = await axiosInstance.get('/account/logins', { params }); return response.data; }, getLogin: async (loginId) => { const response = await axiosInstance.get(`/account/logins/${loginId}`); return response.data; }, // Maintenance operations getMaintenances: async (params) => { const response = await axiosInstance.get('/account/maintenance', { params }); return response.data; }, // Notification operations getNotifications: async () => { const response = await axiosInstance.get('/account/notifications'); return response.data; }, // OAuth client operations getOAuthClients: async (params) => { const response = await axiosInstance.get('/account/oauth-clients', { params }); return response.data; }, createOAuthClient: async (data) => { const response = await axiosInstance.post('/account/oauth-clients', data); return response.data; }, deleteOAuthClient: async (clientId) => { await axiosInstance.delete(`/account/oauth-clients/${clientId}`); }, getOAuthClient: async (clientId) => { const response = await axiosInstance.get(`/account/oauth-clients/${clientId}`); return response.data; }, updateOAuthClient: async (clientId, data) => { const response = await axiosInstance.put(`/account/oauth-clients/${clientId}`, data); return response.data; }, resetOAuthClientSecret: async (clientId) => { const response = await axiosInstance.post(`/account/oauth-clients/${clientId}/reset-secret`); return response.data; }, getOAuthClientThumbnail: async (clientId) => { const response = await axiosInstance.get(`/account/oauth-clients/${clientId}/thumbnail`, { responseType: 'arraybuffer' }); return response.data; }, updateOAuthClientThumbnail: async (clientId, thumbnailData) => { const response = await axiosInstance.put(`/account/oauth-clients/${clientId}/thumbnail`, thumbnailData, { headers: { 'Content-Type': 'image/png' // Assuming PNG format, adjust as needed } }); return response.data; }, // Account settings operations getAccountSettings: async () => { const response = await axiosInstance.get('/account/settings'); return response.data; }, updateAccountSettings: async (data) => { const response = await axiosInstance.put('/account/settings', data); return response.data; }, enableManagedService: async () => { const response = await axiosInstance.post('/account/settings/managed-enable'); return response.data; }, // Network transfer operations getNetworkTransfer: async () => { const response = await axiosInstance.get('/account/transfer'); return response.data; }, // User operations getUsers: async (params) => { const response = await axiosInstance.get('/account/users', { params }); return response.data; }, createUser: async (data) => { const response = await axiosInstance.post('/account/users', data); return response.data; }, deleteUser: async (username) => { await axiosInstance.delete(`/account/users/${username}`); }, getUser: async (username) => { const response = await axiosInstance.get(`/account/users/${username}`); return response.data; }, updateUser: async (username, data) => { const response = await axiosInstance.put(`/account/users/${username}`, data); return response.data; }, getUserGrants: async (username) => { const response = await axiosInstance.get(`/account/users/${username}/grants`); return response.data; }, updateUserGrants: async (username, data) => { const response = await axiosInstance.put(`/account/users/${username}/grants`, data); return response.data; }, // Entity operations getEntities: async (params) => { const response = await axiosInstance.get('/entities', { params }); return response.data; }, // IAM Role Permission operations getIamRoles: async () => { const response = await axiosInstance.get('/iam/role-permissions'); return response.data; }, getUserRolePermissions: async (username) => { const response = await axiosInstance.get(`/iam/users/${username}/role-permissions`); return response.data; }, updateUserRolePermissions: async (username, data) => { const response = await axiosInstance.put(`/iam/users/${username}/role-permissions`, data); return response.data; }, // Delegation Child Account operations getDelegationChildAccounts: async (params) => { const response = await axiosInstance.get('/iam/delegation/child-accounts', { params }); return response.data; }, getDelegationChildAccountUsers: async (euuid) => { const response = await axiosInstance.get(`/iam/delegation/child-accounts/${euuid}/users`); return response.data; }, updateDelegationChildAccountUsers: async (euuid, data) => { const response = await axiosInstance.put(`/iam/delegation/child-accounts/${euuid}/users`, data); return response.data; }, // Delegation Default Roles operations getDelegationDefaultRoles: async () => { const response = await axiosInstance.get('/iam/delegation/default-role-permissions'); return response.data; }, updateDelegationDefaultRoles: async (data) => { const response = await axiosInstance.put('/iam/delegation/default-role-permissions', data); return response.data; }, // Delegation Profile operations getDelegationProfileAccounts: async (params) => { const response = await axiosInstance.get('/iam/delegation/profile/child-accounts', { params }); return response.data; }, getDelegationProfileAccount: async (euuid) => { const response = await axiosInstance.get(`/iam/delegation/profile/child-accounts/${euuid}`); return response.data; }, createDelegationToken: async (euuid) => { const response = await axiosInstance.post(`/iam/delegation/profile/child-accounts/${euuid}/token`); return response.data; }, // User Delegations operations getUserDelegations: async (username) => { const response = await axiosInstance.get(`/iam/delegation/users/${username}/child-accounts`); return response.data; }, // Maintenance Policy operations getMaintenancePolicies: async (params) => { const response = await axiosInstance.get('/maintenance/policies', { params }); return response.data; }, // Resource Lock operations getResourceLocks: async (params) => { const response = await axiosInstance.get('https://api.linode.com/v4beta/locks', { params }); return response.data; }, getResourceLock: async (resourceLockId) => { const response = await axiosInstance.get(`https://api.linode.com/v4beta/locks/${resourceLockId}`); return response.data; }, createResourceLock: async (data) => { const response = await axiosInstance.post('https://api.linode.com/v4beta/locks', data); return response.data; }, deleteResourceLock: async (resourceLockId) => { await axiosInstance.delete(`https://api.linode.com/v4beta/locks/${resourceLockId}`); } }; } //# sourceMappingURL=account.js.map