/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: e5e6d67a5d54 */ 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"; import { ProjectCapabilities, ProjectCapabilities$inboundSchema, } from "./projectcapabilities.js"; export const CapabilityMaterializationDefinitionId = { CustomerAi: "customer-ai", CustomerKey: "customer-key", CustomerStorage: "customer-storage", CustomerRegistry: "customer-registry", CustomerSandbox: "customer-sandbox", } as const; export type CapabilityMaterializationDefinitionId = ClosedEnum< typeof CapabilityMaterializationDefinitionId >; export type CapabilityMaterializationSource = { definitionId: CapabilityMaterializationDefinitionId; definitionVersion: string; releaseId: string; }; export const CapabilityMaterializationType = { Cloudformation: "cloudformation", Terraform: "terraform", SandboxBundle: "sandbox-bundle", } as const; export type CapabilityMaterializationType = ClosedEnum< typeof CapabilityMaterializationType >; export const CapabilityMaterializationStatus = { Pending: "pending", Building: "building", Ready: "ready", Failed: "failed", Canceled: "canceled", } as const; export type CapabilityMaterializationStatus = ClosedEnum< typeof CapabilityMaterializationStatus >; export type CapabilityMaterializationPackage = { type: CapabilityMaterializationType; status: CapabilityMaterializationStatus; }; export type CapabilityMaterialization = { projectCapabilities: ProjectCapabilities; source: CapabilityMaterializationSource; packages: Array; }; /** @internal */ export const CapabilityMaterializationDefinitionId$inboundSchema: z.ZodEnum< typeof CapabilityMaterializationDefinitionId > = z.enum(CapabilityMaterializationDefinitionId); /** @internal */ export const CapabilityMaterializationSource$inboundSchema: z.ZodType< CapabilityMaterializationSource, unknown > = z.object({ definitionId: CapabilityMaterializationDefinitionId$inboundSchema, definitionVersion: z.string(), releaseId: z.string(), }); export function capabilityMaterializationSourceFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CapabilityMaterializationSource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CapabilityMaterializationSource' from JSON`, ); } /** @internal */ export const CapabilityMaterializationType$inboundSchema: z.ZodEnum< typeof CapabilityMaterializationType > = z.enum(CapabilityMaterializationType); /** @internal */ export const CapabilityMaterializationStatus$inboundSchema: z.ZodEnum< typeof CapabilityMaterializationStatus > = z.enum(CapabilityMaterializationStatus); /** @internal */ export const CapabilityMaterializationPackage$inboundSchema: z.ZodType< CapabilityMaterializationPackage, unknown > = z.object({ type: CapabilityMaterializationType$inboundSchema, status: CapabilityMaterializationStatus$inboundSchema, }); export function capabilityMaterializationPackageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CapabilityMaterializationPackage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CapabilityMaterializationPackage' from JSON`, ); } /** @internal */ export const CapabilityMaterialization$inboundSchema: z.ZodType< CapabilityMaterialization, unknown > = z.object({ projectCapabilities: ProjectCapabilities$inboundSchema, source: z.lazy(() => CapabilityMaterializationSource$inboundSchema), packages: z.array( z.lazy(() => CapabilityMaterializationPackage$inboundSchema), ), }); export function capabilityMaterializationFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CapabilityMaterialization$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CapabilityMaterialization' from JSON`, ); }