/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 94669c7127c1 */ import * as z from "zod/v4"; 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 ContainerRegistryManagerSnapshotStatus = { Resolving: "resolving", Applying: "applying", Connected: "connected", Degraded: "degraded", Revoking: "revoking", Revoked: "revoked", } as const; export type ContainerRegistryManagerSnapshotStatus = ClosedEnum< typeof ContainerRegistryManagerSnapshotStatus >; export const ContainerRegistryManagerSnapshotDesiredState = { Present: "present", DeleteRequested: "deleteRequested", Deleted: "deleted", } as const; export type ContainerRegistryManagerSnapshotDesiredState = ClosedEnum< typeof ContainerRegistryManagerSnapshotDesiredState >; export type ContainerRegistryManagerSnapshotRepository = { /** * Unique identifier for the container registry repository. */ id: string; logicalName: string; desiredState: ContainerRegistryManagerSnapshotDesiredState; routableUpstreamName: string | null; remoteResourceRevision: string; }; export const ContainerRegistryManagerSnapshotScope = { Pull: "pull", PushPull: "pushPull", } as const; export type ContainerRegistryManagerSnapshotScope = ClosedEnum< typeof ContainerRegistryManagerSnapshotScope >; export type ContainerRegistryManagerSnapshotCredential = { /** * Unique identifier for the container registry credential. */ id: string; secretPrefix: string; secretDigest: string; scope: ContainerRegistryManagerSnapshotScope; repositorySubset: Array | null; expiresAt: Date | null; revokedAt: Date | null; }; export type ContainerRegistryManagerSnapshotRoute = { /** * Unique identifier for the container registry route. */ id: string; deploymentId: string; resourceId: string; resourceRevision: string; desiredRevision: number; appliedRevision: number; status: ContainerRegistryManagerSnapshotStatus; repositories: Array; credentials: Array; }; export type ContainerRegistryManagerSnapshot = { generatedAt: Date; routes: Array; }; /** @internal */ export const ContainerRegistryManagerSnapshotStatus$inboundSchema: z.ZodEnum< typeof ContainerRegistryManagerSnapshotStatus > = z.enum(ContainerRegistryManagerSnapshotStatus); /** @internal */ export const ContainerRegistryManagerSnapshotDesiredState$inboundSchema: z.ZodEnum = z.enum( ContainerRegistryManagerSnapshotDesiredState, ); /** @internal */ export const ContainerRegistryManagerSnapshotRepository$inboundSchema: z.ZodType = z.object({ id: z.string(), logicalName: z.string(), desiredState: ContainerRegistryManagerSnapshotDesiredState$inboundSchema, routableUpstreamName: z.nullable(z.string()), remoteResourceRevision: z.string(), }); export function containerRegistryManagerSnapshotRepositoryFromJSON( jsonString: string, ): SafeParseResult< ContainerRegistryManagerSnapshotRepository, SDKValidationError > { return safeParse( jsonString, (x) => ContainerRegistryManagerSnapshotRepository$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ContainerRegistryManagerSnapshotRepository' from JSON`, ); } /** @internal */ export const ContainerRegistryManagerSnapshotScope$inboundSchema: z.ZodEnum< typeof ContainerRegistryManagerSnapshotScope > = z.enum(ContainerRegistryManagerSnapshotScope); /** @internal */ export const ContainerRegistryManagerSnapshotCredential$inboundSchema: z.ZodType = z.object({ id: z.string(), secretPrefix: z.string(), secretDigest: z.string(), scope: ContainerRegistryManagerSnapshotScope$inboundSchema, repositorySubset: z.nullable(z.array(z.string())), expiresAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), revokedAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), }); export function containerRegistryManagerSnapshotCredentialFromJSON( jsonString: string, ): SafeParseResult< ContainerRegistryManagerSnapshotCredential, SDKValidationError > { return safeParse( jsonString, (x) => ContainerRegistryManagerSnapshotCredential$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ContainerRegistryManagerSnapshotCredential' from JSON`, ); } /** @internal */ export const ContainerRegistryManagerSnapshotRoute$inboundSchema: z.ZodType< ContainerRegistryManagerSnapshotRoute, unknown > = z.object({ id: z.string(), deploymentId: z.string(), resourceId: z.string(), resourceRevision: z.string(), desiredRevision: z.int(), appliedRevision: z.int(), status: ContainerRegistryManagerSnapshotStatus$inboundSchema, repositories: z.array( z.lazy(() => ContainerRegistryManagerSnapshotRepository$inboundSchema), ), credentials: z.array( z.lazy(() => ContainerRegistryManagerSnapshotCredential$inboundSchema), ), }); export function containerRegistryManagerSnapshotRouteFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryManagerSnapshotRoute$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryManagerSnapshotRoute' from JSON`, ); } /** @internal */ export const ContainerRegistryManagerSnapshot$inboundSchema: z.ZodType< ContainerRegistryManagerSnapshot, unknown > = z.object({ generatedAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), routes: z.array( z.lazy(() => ContainerRegistryManagerSnapshotRoute$inboundSchema), ), }); export function containerRegistryManagerSnapshotFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryManagerSnapshot$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryManagerSnapshot' from JSON`, ); }