/* * 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 * as components from "../components/index.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const Interconnect = { Pcie: "pcie", Nvlink: "nvlink", InfinityFabric: "infinity_fabric", } as const; export type Interconnect = ClosedEnum; export type ListComputeOffersRequest = { accelerator?: string | undefined; gpuCount?: number | undefined; interconnect?: Interconnect | undefined; provider?: string | undefined; region?: string | undefined; available?: boolean | undefined; cursor?: string | undefined; limit?: number | undefined; /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; }; export type ListComputeOffersResponse = | components.ComputeOfferList | components.ComputeErrorEnvelope; /** @internal */ export const Interconnect$inboundSchema: z.ZodNativeEnum = z.nativeEnum(Interconnect); /** @internal */ export const Interconnect$outboundSchema: z.ZodNativeEnum = Interconnect$inboundSchema; /** @internal */ export const ListComputeOffersRequest$inboundSchema: z.ZodType< ListComputeOffersRequest, z.ZodTypeDef, unknown > = z.object({ accelerator: z.string().optional(), gpu_count: z.number().int().optional(), interconnect: Interconnect$inboundSchema.optional(), provider: z.string().optional(), region: z.string().optional(), available: z.boolean().optional(), cursor: z.string().optional(), limit: z.number().int().default(50), "X-On-Behalf-Of": z.string().optional(), }).transform((v) => { return remap$(v, { "gpu_count": "gpuCount", "X-On-Behalf-Of": "xOnBehalfOf", }); }); /** @internal */ export type ListComputeOffersRequest$Outbound = { accelerator?: string | undefined; gpu_count?: number | undefined; interconnect?: string | undefined; provider?: string | undefined; region?: string | undefined; available?: boolean | undefined; cursor?: string | undefined; limit: number; "X-On-Behalf-Of"?: string | undefined; }; /** @internal */ export const ListComputeOffersRequest$outboundSchema: z.ZodType< ListComputeOffersRequest$Outbound, z.ZodTypeDef, ListComputeOffersRequest > = z.object({ accelerator: z.string().optional(), gpuCount: z.number().int().optional(), interconnect: Interconnect$outboundSchema.optional(), provider: z.string().optional(), region: z.string().optional(), available: z.boolean().optional(), cursor: z.string().optional(), limit: z.number().int().default(50), xOnBehalfOf: z.string().optional(), }).transform((v) => { return remap$(v, { gpuCount: "gpu_count", xOnBehalfOf: "X-On-Behalf-Of", }); }); export function listComputeOffersRequestToJSON( listComputeOffersRequest: ListComputeOffersRequest, ): string { return JSON.stringify( ListComputeOffersRequest$outboundSchema.parse(listComputeOffersRequest), ); } export function listComputeOffersRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListComputeOffersRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListComputeOffersRequest' from JSON`, ); } /** @internal */ export const ListComputeOffersResponse$inboundSchema: z.ZodType< ListComputeOffersResponse, z.ZodTypeDef, unknown > = z.union([ components.ComputeOfferList$inboundSchema, components.ComputeErrorEnvelope$inboundSchema, ]); /** @internal */ export type ListComputeOffersResponse$Outbound = | components.ComputeOfferList$Outbound | components.ComputeErrorEnvelope$Outbound; /** @internal */ export const ListComputeOffersResponse$outboundSchema: z.ZodType< ListComputeOffersResponse$Outbound, z.ZodTypeDef, ListComputeOffersResponse > = z.union([ components.ComputeOfferList$outboundSchema, components.ComputeErrorEnvelope$outboundSchema, ]); export function listComputeOffersResponseToJSON( listComputeOffersResponse: ListComputeOffersResponse, ): string { return JSON.stringify( ListComputeOffersResponse$outboundSchema.parse(listComputeOffersResponse), ); } export function listComputeOffersResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListComputeOffersResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListComputeOffersResponse' from JSON`, ); }