@takashito/linode-mcp-server
Version:
MCP server for Linode API
61 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDomainsClient = createDomainsClient;
/**
* Creates a domains client for interfacing with the Linode Domains API
*/
function createDomainsClient(axios) {
return {
getDomains: async (params) => {
const response = await axios.get('/domains', { params });
return response.data;
},
getDomain: async (id) => {
const response = await axios.get(`/domains/${id}`);
return response.data;
},
createDomain: async (data) => {
const response = await axios.post('/domains', data);
return response.data;
},
updateDomain: async (id, data) => {
const response = await axios.put(`/domains/${id}`, data);
return response.data;
},
deleteDomain: async (id) => {
await axios.delete(`/domains/${id}`);
},
getDomainRecords: async (id, params) => {
const response = await axios.get(`/domains/${id}/records`, { params });
return response.data;
},
getDomainRecord: async (domainId, recordId) => {
const response = await axios.get(`/domains/${domainId}/records/${recordId}`);
return response.data;
},
createDomainRecord: async (domainId, data) => {
const response = await axios.post(`/domains/${domainId}/records`, data);
return response.data;
},
updateDomainRecord: async (domainId, recordId, data) => {
const response = await axios.put(`/domains/${domainId}/records/${recordId}`, data);
return response.data;
},
deleteDomainRecord: async (domainId, recordId) => {
await axios.delete(`/domains/${domainId}/records/${recordId}`);
},
importZone: async (data) => {
const response = await axios.post('/domains/import', data);
return response.data;
},
cloneDomain: async (id, data) => {
const response = await axios.post(`/domains/${id}/clone`, data);
return response.data;
},
getZoneFile: async (id) => {
const response = await axios.get(`/domains/${id}/zone-file`);
return response.data;
}
};
}
//# sourceMappingURL=domains.js.map