UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

138 lines 5.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createObjectStorageClient = createObjectStorageClient; function createObjectStorageClient(axios) { return { // Endpoints getEndpoints: async (params) => { const response = await axios.get('/object-storage/endpoints', { params }); return response.data; }, // Buckets getBuckets: async (params) => { const response = await axios.get('/object-storage/buckets', { params }); return response.data; }, getBucket: async (region, label) => { const response = await axios.get(`/object-storage/buckets/${region}/${label}`); return response.data; }, createBucket: async (data) => { const response = await axios.post('/object-storage/buckets', data); return response.data; }, deleteBucket: async (region, label) => { const response = await axios.delete(`/object-storage/buckets/${region}/${label}`); return response.data; }, getBucketAccess: async (region, label) => { const response = await axios.get(`/object-storage/buckets/${region}/${label}/access`); return response.data; }, updateBucketAccess: async (region, label, data) => { const response = await axios.post(`/object-storage/buckets/${region}/${label}/access`, data); return response.data; }, // Objects getObjects: async (region, bucket, params) => { const response = await axios.get(`/object-storage/buckets/${region}/${bucket}/object-list`, { params }); return response.data; }, // New Object ACL method updateObjectACL: async (region, bucket, name, data) => { const response = await axios.put(`/object-storage/buckets/${region}/${bucket}/object-acl`, { name, acl: data.acl }); return response.data; }, // New Object URL generation method getObjectURL: async (region, bucket, data) => { // Create a new object with all properties except 'name' const { ...requestData } = data; // According to OpenAPI spec, we need to include the object name in the path for some methods const response = await axios.post(`/object-storage/buckets/${region}/${bucket}/object-url`, requestData); return response.data; }, // SSL/TLS certificates getBucketCertificate: async (region, bucket) => { const response = await axios.get(`/object-storage/buckets/${region}/${bucket}/ssl`); return response.data; }, uploadBucketCertificate: async (region, bucket, data) => { const response = await axios.post(`/object-storage/buckets/${region}/${bucket}/ssl`, data); return response.data; }, deleteBucketCertificate: async (region, bucket) => { const response = await axios.delete(`/object-storage/buckets/${region}/${bucket}/ssl`); return response.data; }, // Access keys getKeys: async (params) => { const response = await axios.get('/object-storage/keys', { params }); return response.data; }, getKey: async (id) => { const response = await axios.get(`/object-storage/keys/${id}`); return response.data; }, createKey: async (data) => { const response = await axios.post('/object-storage/keys', data); return response.data; }, updateKey: async (id, data) => { const response = await axios.put(`/object-storage/keys/${id}`, data); return response.data; }, deleteKey: async (id) => { const response = await axios.delete(`/object-storage/keys/${id}`); return response.data; }, // Per-region bucket listing getBucketsInRegion: async (regionId, params) => { const response = await axios.get(`/object-storage/buckets/${regionId}`, { params }); return response.data; }, // Object ACL Get getObjectACL: async (region, bucket, name) => { const response = await axios.get(`/object-storage/buckets/${region}/${bucket}/object-acl`, { params: { name } }); return response.data; }, // Bucket Access Update (PUT) putBucketAccess: async (region, label, data) => { const response = await axios.put(`/object-storage/buckets/${region}/${label}/access`, data); return response.data; }, // Quotas getQuotas: async (params) => { const response = await axios.get('/object-storage/quotas', { params }); return response.data; }, getQuota: async (quotaId) => { const response = await axios.get(`/object-storage/quotas/${quotaId}`); return response.data; }, getQuotaUsage: async (quotaId) => { const response = await axios.get(`/object-storage/quotas/${quotaId}/usage`); return response.data; }, // Transfer statistics getTransferStats: async () => { const response = await axios.get('/object-storage/transfer'); return response.data; }, // New Object Storage types method getTypes: async () => { const response = await axios.get('/object-storage/types'); return response.data; }, // Cancellation cancelObjectStorage: async () => { const response = await axios.post('/object-storage/cancel'); return response.data; } }; } //# sourceMappingURL=objectStorage.js.map