/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: c87e23df6a8f */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { ClosedEnum } from "../../types/enums.js"; export const ApplyContainerRegistryManagerSnapshotStatus = { Ready: "ready", Deleted: "deleted", Failed: "failed", } as const; export type ApplyContainerRegistryManagerSnapshotStatus = ClosedEnum< typeof ApplyContainerRegistryManagerSnapshotStatus >; export type ApplyContainerRegistryManagerSnapshotRepository = { /** * Unique identifier for the container registry repository. */ id: string; status: ApplyContainerRegistryManagerSnapshotStatus; routableUpstreamName: string | null; error: string | null; }; export type Verification = { succeeded: boolean; observedAt: Date; error: string | null; }; export type ApplyContainerRegistryManagerSnapshotRequestBody = { /** * Unique identifier for the container registry route. */ routeId: string; desiredRevision: number; repositories: Array; verification: Verification | null; }; export type ApplyContainerRegistryManagerSnapshotRequest = { id: string; requestBody?: ApplyContainerRegistryManagerSnapshotRequestBody | undefined; }; /** @internal */ export const ApplyContainerRegistryManagerSnapshotStatus$outboundSchema: z.ZodEnum = z.enum( ApplyContainerRegistryManagerSnapshotStatus, ); /** @internal */ export type ApplyContainerRegistryManagerSnapshotRepository$Outbound = { id: string; status: string; routableUpstreamName: string | null; error: string | null; }; /** @internal */ export const ApplyContainerRegistryManagerSnapshotRepository$outboundSchema: z.ZodType< ApplyContainerRegistryManagerSnapshotRepository$Outbound, ApplyContainerRegistryManagerSnapshotRepository > = z.object({ id: z.string(), status: ApplyContainerRegistryManagerSnapshotStatus$outboundSchema, routableUpstreamName: z.nullable(z.string()), error: z.nullable(z.string()), }); export function applyContainerRegistryManagerSnapshotRepositoryToJSON( applyContainerRegistryManagerSnapshotRepository: ApplyContainerRegistryManagerSnapshotRepository, ): string { return JSON.stringify( ApplyContainerRegistryManagerSnapshotRepository$outboundSchema.parse( applyContainerRegistryManagerSnapshotRepository, ), ); } /** @internal */ export type Verification$Outbound = { succeeded: boolean; observedAt: string; error: string | null; }; /** @internal */ export const Verification$outboundSchema: z.ZodType< Verification$Outbound, Verification > = z.object({ succeeded: z.boolean(), observedAt: z.date().transform(v => v.toISOString()), error: z.nullable(z.string()), }); export function verificationToJSON(verification: Verification): string { return JSON.stringify(Verification$outboundSchema.parse(verification)); } /** @internal */ export type ApplyContainerRegistryManagerSnapshotRequestBody$Outbound = { routeId: string; desiredRevision: number; repositories: Array; verification: Verification$Outbound | null; }; /** @internal */ export const ApplyContainerRegistryManagerSnapshotRequestBody$outboundSchema: z.ZodType< ApplyContainerRegistryManagerSnapshotRequestBody$Outbound, ApplyContainerRegistryManagerSnapshotRequestBody > = z.object({ routeId: z.string(), desiredRevision: z.int(), repositories: z.array( z.lazy(() => ApplyContainerRegistryManagerSnapshotRepository$outboundSchema ), ), verification: z.nullable(z.lazy(() => Verification$outboundSchema)), }); export function applyContainerRegistryManagerSnapshotRequestBodyToJSON( applyContainerRegistryManagerSnapshotRequestBody: ApplyContainerRegistryManagerSnapshotRequestBody, ): string { return JSON.stringify( ApplyContainerRegistryManagerSnapshotRequestBody$outboundSchema.parse( applyContainerRegistryManagerSnapshotRequestBody, ), ); } /** @internal */ export type ApplyContainerRegistryManagerSnapshotRequest$Outbound = { id: string; RequestBody?: | ApplyContainerRegistryManagerSnapshotRequestBody$Outbound | undefined; }; /** @internal */ export const ApplyContainerRegistryManagerSnapshotRequest$outboundSchema: z.ZodType< ApplyContainerRegistryManagerSnapshotRequest$Outbound, ApplyContainerRegistryManagerSnapshotRequest > = z.object({ id: z.string(), requestBody: z.lazy(() => ApplyContainerRegistryManagerSnapshotRequestBody$outboundSchema ).optional(), }).transform((v) => { return remap$(v, { requestBody: "RequestBody", }); }); export function applyContainerRegistryManagerSnapshotRequestToJSON( applyContainerRegistryManagerSnapshotRequest: ApplyContainerRegistryManagerSnapshotRequest, ): string { return JSON.stringify( ApplyContainerRegistryManagerSnapshotRequest$outboundSchema.parse( applyContainerRegistryManagerSnapshotRequest, ), ); }