/* * 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"; export const Protocol = { Http: "http", Tcp: "tcp", } as const; export type Protocol = ClosedEnum; export type ComputePort = { containerPort: number; name: string; protocol: Protocol; }; /** @internal */ export const Protocol$inboundSchema: z.ZodNativeEnum = z .nativeEnum(Protocol); /** @internal */ export const Protocol$outboundSchema: z.ZodNativeEnum = Protocol$inboundSchema; /** @internal */ export const ComputePort$inboundSchema: z.ZodType< ComputePort, z.ZodTypeDef, unknown > = z.object({ container_port: z.number().int(), name: z.string(), protocol: Protocol$inboundSchema, }).transform((v) => { return remap$(v, { "container_port": "containerPort", }); }); /** @internal */ export type ComputePort$Outbound = { container_port: number; name: string; protocol: string; }; /** @internal */ export const ComputePort$outboundSchema: z.ZodType< ComputePort$Outbound, z.ZodTypeDef, ComputePort > = z.object({ containerPort: z.number().int(), name: z.string(), protocol: Protocol$outboundSchema, }).transform((v) => { return remap$(v, { containerPort: "container_port", }); }); export function computePortToJSON(computePort: ComputePort): string { return JSON.stringify(ComputePort$outboundSchema.parse(computePort)); } export function computePortFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputePort$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputePort' from JSON`, ); }