@takashito/linode-mcp-server
Version:
MCP server for Linode API
133 lines • 5.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImagesClient = createImagesClient;
/**
* Create a client for interacting with the Linode Images API
*/
function createImagesClient(axios) {
return {
async getImages(params = {}) {
const response = await axios.get('/images', { params });
return response.data;
},
async getImage(imageId) {
const response = await axios.get(`/images/${imageId}`);
return response.data;
},
async createImage(data) {
const response = await axios.post('/images', data);
return response.data;
},
async uploadImage(data) {
const response = await axios.post('/images/upload', data);
return response.data;
},
async updateImage(imageId, data) {
const response = await axios.put(`/images/${imageId}`, data);
return response.data;
},
async deleteImage(imageId) {
const response = await axios.delete(`/images/${imageId}`);
return response.data;
},
async replicateImage(imageId, data) {
const response = await axios.post(`/images/${imageId}/regions`, data);
return response.data;
},
// Sharegroups CRUD
async getSharegroups(params = {}) {
const response = await axios.get('/images/sharegroups', { params });
return response.data;
},
async getSharegroup(sharegroupId) {
const response = await axios.get(`/images/sharegroups/${sharegroupId}`);
return response.data;
},
async createSharegroup(data) {
const response = await axios.post('/images/sharegroups', data);
return response.data;
},
async updateSharegroup(sharegroupId, data) {
const response = await axios.put(`/images/sharegroups/${sharegroupId}`, data);
return response.data;
},
async deleteSharegroup(sharegroupId) {
const response = await axios.delete(`/images/sharegroups/${sharegroupId}`);
return response.data;
},
// Sharegroup Images
async getSharegroupImages(sharegroupId, params = {}) {
const response = await axios.get(`/images/sharegroups/${sharegroupId}/images`, { params });
return response.data;
},
async addSharegroupImages(sharegroupId, data) {
const response = await axios.post(`/images/sharegroups/${sharegroupId}/images`, data);
return response.data;
},
async updateSharegroupImage(sharegroupId, imageId) {
const response = await axios.put(`/images/sharegroups/${sharegroupId}/images/${imageId}`);
return response.data;
},
async removeSharegroupImage(sharegroupId, imageId) {
const response = await axios.delete(`/images/sharegroups/${sharegroupId}/images/${imageId}`);
return response.data;
},
// Sharegroup Members
async getSharegroupMembers(sharegroupId, params = {}) {
const response = await axios.get(`/images/sharegroups/${sharegroupId}/members`, { params });
return response.data;
},
async getSharegroupMember(sharegroupId, tokenUuid) {
const response = await axios.get(`/images/sharegroups/${sharegroupId}/members/${tokenUuid}`);
return response.data;
},
async addSharegroupMembers(sharegroupId, data) {
const response = await axios.post(`/images/sharegroups/${sharegroupId}/members`, data);
return response.data;
},
async updateSharegroupMember(sharegroupId, tokenUuid, data) {
const response = await axios.put(`/images/sharegroups/${sharegroupId}/members/${tokenUuid}`, data);
return response.data;
},
async removeSharegroupMember(sharegroupId, tokenUuid) {
const response = await axios.delete(`/images/sharegroups/${sharegroupId}/members/${tokenUuid}`);
return response.data;
},
// Sharegroup Tokens
async getSharegroupTokens(params = {}) {
const response = await axios.get('/images/sharegroups/tokens', { params });
return response.data;
},
async getSharegroupToken(tokenUuid) {
const response = await axios.get(`/images/sharegroups/tokens/${tokenUuid}`);
return response.data;
},
async createSharegroupToken(data) {
const response = await axios.post('/images/sharegroups/tokens', data);
return response.data;
},
async updateSharegroupToken(tokenUuid, data) {
const response = await axios.put(`/images/sharegroups/tokens/${tokenUuid}`, data);
return response.data;
},
async deleteSharegroupToken(tokenUuid) {
const response = await axios.delete(`/images/sharegroups/tokens/${tokenUuid}`);
return response.data;
},
// Token Lookups
async getTokenSharegroup(tokenUuid) {
const response = await axios.get(`/images/sharegroups/tokens/${tokenUuid}/sharegroup`);
return response.data;
},
async getTokenSharegroupImages(tokenUuid, params = {}) {
const response = await axios.get(`/images/sharegroups/tokens/${tokenUuid}/sharegroup/images`, { params });
return response.data;
},
// Image-to-Sharegroups Lookup
async getImageSharegroups(imageId, params = {}) {
const response = await axios.get(`/images/${imageId}/sharegroups`, { params });
return response.data;
}
};
}
//# sourceMappingURL=images.js.map