/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: e6f1389fe027 */ import * as z from "zod/v4"; 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"; import * as models from "../index.js"; export type PreviewProjectModelsImpactGlobals = { /** * Workspace name. Platform API keys already select a workspace; other authentication methods can configure it once on the SDK client. */ workspace?: string | undefined; }; export type PreviewProjectModelsImpactRequest = { /** * Project ID or name. */ idOrName: string; configureModelsRequest?: models.ConfigureModelsRequest | undefined; }; export const PreviewProjectModelsImpactReason = { ProviderNoLongerCompatible: "provider-no-longer-compatible", RequiredModelNotInCatalog: "required-model-not-in-catalog", } as const; export type PreviewProjectModelsImpactReason = ClosedEnum< typeof PreviewProjectModelsImpactReason >; export type Affected = { deploymentGroupId: string; name: string; externalId: string | null; provider: string; reason: PreviewProjectModelsImpactReason; }; /** * Model configuration impact. */ export type PreviewProjectModelsImpactResponse = { connectedCustomers: number; affectedCustomers: number; verificationNeeded: number; affected: Array; truncated: boolean; }; /** @internal */ export type PreviewProjectModelsImpactRequest$Outbound = { idOrName: string; ConfigureModelsRequest?: models.ConfigureModelsRequest$Outbound | undefined; }; /** @internal */ export const PreviewProjectModelsImpactRequest$outboundSchema: z.ZodType< PreviewProjectModelsImpactRequest$Outbound, PreviewProjectModelsImpactRequest > = z.object({ idOrName: z.string(), configureModelsRequest: models.ConfigureModelsRequest$outboundSchema .optional(), }).transform((v) => { return remap$(v, { configureModelsRequest: "ConfigureModelsRequest", }); }); export function previewProjectModelsImpactRequestToJSON( previewProjectModelsImpactRequest: PreviewProjectModelsImpactRequest, ): string { return JSON.stringify( PreviewProjectModelsImpactRequest$outboundSchema.parse( previewProjectModelsImpactRequest, ), ); } /** @internal */ export const PreviewProjectModelsImpactReason$inboundSchema: z.ZodEnum< typeof PreviewProjectModelsImpactReason > = z.enum(PreviewProjectModelsImpactReason); /** @internal */ export const Affected$inboundSchema: z.ZodType = z.object({ deploymentGroupId: z.string(), name: z.string(), externalId: z.nullable(z.string()), provider: z.string(), reason: PreviewProjectModelsImpactReason$inboundSchema, }); export function affectedFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Affected$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Affected' from JSON`, ); } /** @internal */ export const PreviewProjectModelsImpactResponse$inboundSchema: z.ZodType< PreviewProjectModelsImpactResponse, unknown > = z.object({ connectedCustomers: z.int(), affectedCustomers: z.int(), verificationNeeded: z.int(), affected: z.array(z.lazy(() => Affected$inboundSchema)), truncated: z.boolean(), }); export function previewProjectModelsImpactResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PreviewProjectModelsImpactResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PreviewProjectModelsImpactResponse' from JSON`, ); }