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.
39 lines (35 loc) • 1.19 kB
text/typescript
import { listGpuCloudVolumeOffers } from "@/modules/gpu-cloud/use-cases/list-volume-offers";
import type { Command } from "commander";
import console from "console";
interface TableData {
provider: string;
"min size (GB)": number;
"price ($/GB/hour)": string;
region: string;
}
export function createGpuCloudVolumeOffersCommand(
gpuCloudVolumeCommand: Command
) {
gpuCloudVolumeCommand
.command("offers")
.description("List all available offers for a GPU Cloud volume")
.action(async () => {
console.log("Listing GPU Cloud volume offers...");
const result = await listGpuCloudVolumeOffers.execute();
if (result.isLeft()) {
console.error(result.value.message);
return;
}
const offers = result.value;
offers.sort((a, b) => a.provider.localeCompare(b.provider));
const tableData: TableData[] = offers.flatMap((offer) =>
offer.regions.map((region) => ({
provider: offer.provider,
"min size (GB)": region.minSizeInGb,
"price ($/GB/hour)": `$${region.pricePerGbPerHour.toFixed(6)}`,
region: region.name,
}))
);
console.table(tableData);
});
}