/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ComputeAccessCreate, ComputeAccessCreate$inboundSchema, ComputeAccessCreate$Outbound, ComputeAccessCreate$outboundSchema, } from "./computeaccesscreate.js"; import { ComputeContainerCreate, ComputeContainerCreate$inboundSchema, ComputeContainerCreate$Outbound, ComputeContainerCreate$outboundSchema, } from "./computecontainercreate.js"; import { ComputeLimits, ComputeLimits$inboundSchema, ComputeLimits$Outbound, ComputeLimits$outboundSchema, } from "./computelimits.js"; import { ComputePlacement, ComputePlacement$inboundSchema, ComputePlacement$Outbound, ComputePlacement$outboundSchema, } from "./computeplacement.js"; import { ComputeRequest, ComputeRequest$inboundSchema, ComputeRequest$Outbound, ComputeRequest$outboundSchema, } from "./computerequest.js"; /** * Create body for a job. Jobs accept the same fields as services except the service block. */ export type ComputeJobCreate = { access?: ComputeAccessCreate | undefined; compute: ComputeRequest; container: ComputeContainerCreate; limits?: ComputeLimits | undefined; name?: string | undefined; placement?: ComputePlacement | undefined; }; /** @internal */ export const ComputeJobCreate$inboundSchema: z.ZodType< ComputeJobCreate, z.ZodTypeDef, unknown > = z.object({ access: ComputeAccessCreate$inboundSchema.optional(), compute: ComputeRequest$inboundSchema, container: ComputeContainerCreate$inboundSchema, limits: ComputeLimits$inboundSchema.optional(), name: z.string().optional(), placement: ComputePlacement$inboundSchema.optional(), }); /** @internal */ export type ComputeJobCreate$Outbound = { access?: ComputeAccessCreate$Outbound | undefined; compute: ComputeRequest$Outbound; container: ComputeContainerCreate$Outbound; limits?: ComputeLimits$Outbound | undefined; name?: string | undefined; placement?: ComputePlacement$Outbound | undefined; }; /** @internal */ export const ComputeJobCreate$outboundSchema: z.ZodType< ComputeJobCreate$Outbound, z.ZodTypeDef, ComputeJobCreate > = z.object({ access: ComputeAccessCreate$outboundSchema.optional(), compute: ComputeRequest$outboundSchema, container: ComputeContainerCreate$outboundSchema, limits: ComputeLimits$outboundSchema.optional(), name: z.string().optional(), placement: ComputePlacement$outboundSchema.optional(), }); export function computeJobCreateToJSON( computeJobCreate: ComputeJobCreate, ): string { return JSON.stringify( ComputeJobCreate$outboundSchema.parse(computeJobCreate), ); } export function computeJobCreateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeJobCreate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeJobCreate' from JSON`, ); }