/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 7913c88d117a */ 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 ContainerRegistryStateRouteStatus = { Resolving: "resolving", Applying: "applying", Connected: "connected", Degraded: "degraded", Revoking: "revoking", Revoked: "revoked", } as const; export type ContainerRegistryStateRouteStatus = ClosedEnum< typeof ContainerRegistryStateRouteStatus >; export type ContainerRegistryStateRoute = { /** * Unique identifier for the container registry route. */ id: string; /** * Unique identifier for the deployment. */ deploymentId: string; managerId: string; resourceId: string; resourceRevision: string; desiredRevision: number; appliedRevision: number; status: ContainerRegistryStateRouteStatus; lastVerifiedAt: Date | null; lastError: string | null; }; export const ContainerRegistryStateSource = { Runtime: "runtime", CustomDomain: "custom-domain", } as const; export type ContainerRegistryStateSource = ClosedEnum< typeof ContainerRegistryStateSource >; export type Endpoint = { url: string; source: ContainerRegistryStateSource; }; export const ContainerRegistryStateDesiredState = { Present: "present", DeleteRequested: "deleteRequested", Deleted: "deleted", } as const; export type ContainerRegistryStateDesiredState = ClosedEnum< typeof ContainerRegistryStateDesiredState >; export const RepositoryStatus = { Pending: "pending", Creating: "creating", Ready: "ready", Deleting: "deleting", Deleted: "deleted", Failed: "failed", } as const; export type RepositoryStatus = ClosedEnum; export type ContainerRegistryStateRepository = { /** * Unique identifier for the container registry repository. */ id: string; logicalName: string; desiredState: ContainerRegistryStateDesiredState; status: RepositoryStatus; verifiedAt: Date | null; }; export const ContainerRegistryStateScope = { Pull: "pull", PushPull: "pushPull", } as const; export type ContainerRegistryStateScope = ClosedEnum< typeof ContainerRegistryStateScope >; export type ContainerRegistryStateCredential = { /** * Unique identifier for the container registry credential. */ id: string; label: string; scope: ContainerRegistryStateScope; repositorySubset: Array | null; expiresAt: Date | null; lastUsedAt: Date | null; revokedAt: Date | null; createdAt: Date; }; export type ContainerRegistryState = { route: ContainerRegistryStateRoute | null; endpoint: Endpoint | null; repositories: Array; credentials: Array; }; /** @internal */ export const ContainerRegistryStateRouteStatus$inboundSchema: z.ZodEnum< typeof ContainerRegistryStateRouteStatus > = z.enum(ContainerRegistryStateRouteStatus); /** @internal */ export const ContainerRegistryStateRoute$inboundSchema: z.ZodType< ContainerRegistryStateRoute, unknown > = z.object({ id: z.string(), deploymentId: z.string(), managerId: z.string(), resourceId: z.string(), resourceRevision: z.string(), desiredRevision: z.int(), appliedRevision: z.int(), status: ContainerRegistryStateRouteStatus$inboundSchema, lastVerifiedAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), lastError: z.nullable(z.string()), }); export function containerRegistryStateRouteFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryStateRoute$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryStateRoute' from JSON`, ); } /** @internal */ export const ContainerRegistryStateSource$inboundSchema: z.ZodEnum< typeof ContainerRegistryStateSource > = z.enum(ContainerRegistryStateSource); /** @internal */ export const Endpoint$inboundSchema: z.ZodType = z.object({ url: z.string(), source: ContainerRegistryStateSource$inboundSchema, }); export function endpointFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Endpoint$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Endpoint' from JSON`, ); } /** @internal */ export const ContainerRegistryStateDesiredState$inboundSchema: z.ZodEnum< typeof ContainerRegistryStateDesiredState > = z.enum(ContainerRegistryStateDesiredState); /** @internal */ export const RepositoryStatus$inboundSchema: z.ZodEnum< typeof RepositoryStatus > = z.enum(RepositoryStatus); /** @internal */ export const ContainerRegistryStateRepository$inboundSchema: z.ZodType< ContainerRegistryStateRepository, unknown > = z.object({ id: z.string(), logicalName: z.string(), desiredState: ContainerRegistryStateDesiredState$inboundSchema, status: RepositoryStatus$inboundSchema, verifiedAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), }); export function containerRegistryStateRepositoryFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryStateRepository$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryStateRepository' from JSON`, ); } /** @internal */ export const ContainerRegistryStateScope$inboundSchema: z.ZodEnum< typeof ContainerRegistryStateScope > = z.enum(ContainerRegistryStateScope); /** @internal */ export const ContainerRegistryStateCredential$inboundSchema: z.ZodType< ContainerRegistryStateCredential, unknown > = z.object({ id: z.string(), label: z.string(), scope: ContainerRegistryStateScope$inboundSchema, repositorySubset: z.nullable(z.array(z.string())), expiresAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), lastUsedAt: 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)), ), createdAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), }); export function containerRegistryStateCredentialFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryStateCredential$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryStateCredential' from JSON`, ); } /** @internal */ export const ContainerRegistryState$inboundSchema: z.ZodType< ContainerRegistryState, unknown > = z.object({ route: z.nullable(z.lazy(() => ContainerRegistryStateRoute$inboundSchema)), endpoint: z.nullable(z.lazy(() => Endpoint$inboundSchema)), repositories: z.array( z.lazy(() => ContainerRegistryStateRepository$inboundSchema), ), credentials: z.array( z.lazy(() => ContainerRegistryStateCredential$inboundSchema), ), }); export function containerRegistryStateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContainerRegistryState$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContainerRegistryState' from JSON`, ); }