sesterce-cli
Version:
A powerful command-line interface tool for managing Sesterce Cloud services. Sesterce CLI provides easy access to GPU cloud instances, AI inference services, container registries, and SSH key management directly from your terminal.
44 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGpuCloudInstanceListCommand = createGpuCloudInstanceListCommand;
const list_launched_instances_1 = require("@/modules/gpu-cloud/use-cases/list-launched-instances");
function createGpuCloudInstanceListCommand(gpuCloudInstanceCommand) {
gpuCloudInstanceCommand
.command("list")
.description("List all launched instances in Sesterce Cloud")
.action(async () => {
console.log("Loading launched instances...");
const result = await list_launched_instances_1.listLaunchedInstances.execute();
if (result.isLeft()) {
console.error(result.value.message);
return;
}
const instances = result.value;
if (instances.length === 0) {
console.log("No running instances found");
return;
}
const tableData = instances.reduce((dict, { _id, ...instance }) => {
var _a;
dict[_id] = {
name: instance.name,
gpu: `${instance.gpuCount} x ${instance.gpuModel}`,
cloud: instance.provider,
region: instance.region.name,
"vRAM (GB)": instance.vramPerGpu * instance.gpuCount,
vCPU: instance.vcpus,
"RAM (GB)": instance.ram,
volumes: !!((_a = instance.volumes) === null || _a === void 0 ? void 0 : _a.length)
? instance.volumes
.map((volume) => `${volume.name} (${volume.capacity} GB)`)
.join(", ")
: "None",
status: instance.status,
hourlyPrice: `$${instance.hourlyPrice.toFixed(2)}`,
};
return dict;
}, {});
console.table(tableData);
});
}
//# sourceMappingURL=list.js.map