/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ComputeVolumeData, ComputeVolumeData$inboundSchema, ComputeVolumeData$Outbound, ComputeVolumeData$outboundSchema, } from "./computevolumedata.js"; export const ComputeVolumeStatus = { Provisioning: "provisioning", Loading: "loading", Ready: "ready", Deleting: "deleting", Deleted: "deleted", Failed: "failed", } as const; export type ComputeVolumeStatus = ClosedEnum; export type ComputeVolume = { accruedCostUsd: number; data: Array; mountPath: string; priceUsdHr: number; sizeGb: number; status: ComputeVolumeStatus; }; /** @internal */ export const ComputeVolumeStatus$inboundSchema: z.ZodNativeEnum< typeof ComputeVolumeStatus > = z.nativeEnum(ComputeVolumeStatus); /** @internal */ export const ComputeVolumeStatus$outboundSchema: z.ZodNativeEnum< typeof ComputeVolumeStatus > = ComputeVolumeStatus$inboundSchema; /** @internal */ export const ComputeVolume$inboundSchema: z.ZodType< ComputeVolume, z.ZodTypeDef, unknown > = z.object({ accrued_cost_usd: z.number(), data: z.array(ComputeVolumeData$inboundSchema), mount_path: z.string(), price_usd_hr: z.number(), size_gb: z.number().int(), status: ComputeVolumeStatus$inboundSchema, }).transform((v) => { return remap$(v, { "accrued_cost_usd": "accruedCostUsd", "mount_path": "mountPath", "price_usd_hr": "priceUsdHr", "size_gb": "sizeGb", }); }); /** @internal */ export type ComputeVolume$Outbound = { accrued_cost_usd: number; data: Array; mount_path: string; price_usd_hr: number; size_gb: number; status: string; }; /** @internal */ export const ComputeVolume$outboundSchema: z.ZodType< ComputeVolume$Outbound, z.ZodTypeDef, ComputeVolume > = z.object({ accruedCostUsd: z.number(), data: z.array(ComputeVolumeData$outboundSchema), mountPath: z.string(), priceUsdHr: z.number(), sizeGb: z.number().int(), status: ComputeVolumeStatus$outboundSchema, }).transform((v) => { return remap$(v, { accruedCostUsd: "accrued_cost_usd", mountPath: "mount_path", priceUsdHr: "price_usd_hr", sizeGb: "size_gb", }); }); export function computeVolumeToJSON(computeVolume: ComputeVolume): string { return JSON.stringify(ComputeVolume$outboundSchema.parse(computeVolume)); } export function computeVolumeFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeVolume$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeVolume' from JSON`, ); }