/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 844068472abe */ 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 { DeploymentSetupMethod, DeploymentSetupMethod$inboundSchema, DeploymentSetupMethod$outboundSchema, } from "./deploymentsetupmethod.js"; import { DeploymentSetupStackSettingsPolicy, DeploymentSetupStackSettingsPolicy$inboundSchema, DeploymentSetupStackSettingsPolicy$Outbound, DeploymentSetupStackSettingsPolicy$outboundSchema, } from "./deploymentsetupstacksettingspolicy.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { KubernetesClusterSource, KubernetesClusterSource$inboundSchema, KubernetesClusterSource$outboundSchema, } from "./kubernetesclustersource.js"; /** * Represents the target cloud platform. */ export const DeploymentSetupPolicyAllowedPlatform = { Aws: "aws", Gcp: "gcp", Azure: "azure", Kubernetes: "kubernetes", Machines: "machines", Local: "local", Test: "test", } as const; /** * Represents the target cloud platform. */ export type DeploymentSetupPolicyAllowedPlatform = ClosedEnum< typeof DeploymentSetupPolicyAllowedPlatform >; export const DeploymentSetupPolicyAllowedAIProvider = { AwsBedrock: "aws-bedrock", GcpVertex: "gcp-vertex", AzureFoundry: "azure-foundry", Anthropic: "anthropic", Databricks: "databricks", Openai: "openai", } as const; export type DeploymentSetupPolicyAllowedAIProvider = ClosedEnum< typeof DeploymentSetupPolicyAllowedAIProvider >; export const DeploymentSetupPolicyAllowedKubernetesBasePlatform = { Aws: "aws", Gcp: "gcp", Azure: "azure", OnPrem: "on-prem", } as const; export type DeploymentSetupPolicyAllowedKubernetesBasePlatform = ClosedEnum< typeof DeploymentSetupPolicyAllowedKubernetesBasePlatform >; export type DeploymentSetupPolicy = { allowedPlatforms: Array; /** * AI providers the recipient may connect. Omit to allow every provider supported by the Project. */ allowedAIProviders?: | Array | undefined; /** * Kubernetes base environments the recipient may target. */ allowedKubernetesBasePlatforms?: | Array | undefined; /** * Whether recipients may create a cluster, use an existing cluster, or both. */ allowedKubernetesClusterSources?: Array | undefined; allowedSetupMethods: Array; allowReleasePinning?: boolean | undefined; stackSettings?: DeploymentSetupStackSettingsPolicy | undefined; }; /** @internal */ export const DeploymentSetupPolicyAllowedPlatform$inboundSchema: z.ZodEnum< typeof DeploymentSetupPolicyAllowedPlatform > = z.enum(DeploymentSetupPolicyAllowedPlatform); /** @internal */ export const DeploymentSetupPolicyAllowedPlatform$outboundSchema: z.ZodEnum< typeof DeploymentSetupPolicyAllowedPlatform > = DeploymentSetupPolicyAllowedPlatform$inboundSchema; /** @internal */ export const DeploymentSetupPolicyAllowedAIProvider$inboundSchema: z.ZodEnum< typeof DeploymentSetupPolicyAllowedAIProvider > = z.enum(DeploymentSetupPolicyAllowedAIProvider); /** @internal */ export const DeploymentSetupPolicyAllowedAIProvider$outboundSchema: z.ZodEnum< typeof DeploymentSetupPolicyAllowedAIProvider > = DeploymentSetupPolicyAllowedAIProvider$inboundSchema; /** @internal */ export const DeploymentSetupPolicyAllowedKubernetesBasePlatform$inboundSchema: z.ZodEnum = z.enum( DeploymentSetupPolicyAllowedKubernetesBasePlatform, ); /** @internal */ export const DeploymentSetupPolicyAllowedKubernetesBasePlatform$outboundSchema: z.ZodEnum = DeploymentSetupPolicyAllowedKubernetesBasePlatform$inboundSchema; /** @internal */ export const DeploymentSetupPolicy$inboundSchema: z.ZodType< DeploymentSetupPolicy, unknown > = z.object({ allowedPlatforms: z.array(DeploymentSetupPolicyAllowedPlatform$inboundSchema), allowedAIProviders: z.array( DeploymentSetupPolicyAllowedAIProvider$inboundSchema, ).optional(), allowedKubernetesBasePlatforms: z.array( DeploymentSetupPolicyAllowedKubernetesBasePlatform$inboundSchema, ).optional(), allowedKubernetesClusterSources: z.array( KubernetesClusterSource$inboundSchema, ).optional(), allowedSetupMethods: z.array(DeploymentSetupMethod$inboundSchema), allowReleasePinning: z.boolean().optional(), stackSettings: DeploymentSetupStackSettingsPolicy$inboundSchema.optional(), }); /** @internal */ export type DeploymentSetupPolicy$Outbound = { allowedPlatforms: Array; allowedAIProviders?: Array | undefined; allowedKubernetesBasePlatforms?: Array | undefined; allowedKubernetesClusterSources?: Array | undefined; allowedSetupMethods: Array; allowReleasePinning?: boolean | undefined; stackSettings?: DeploymentSetupStackSettingsPolicy$Outbound | undefined; }; /** @internal */ export const DeploymentSetupPolicy$outboundSchema: z.ZodType< DeploymentSetupPolicy$Outbound, DeploymentSetupPolicy > = z.object({ allowedPlatforms: z.array( DeploymentSetupPolicyAllowedPlatform$outboundSchema, ), allowedAIProviders: z.array( DeploymentSetupPolicyAllowedAIProvider$outboundSchema, ).optional(), allowedKubernetesBasePlatforms: z.array( DeploymentSetupPolicyAllowedKubernetesBasePlatform$outboundSchema, ).optional(), allowedKubernetesClusterSources: z.array( KubernetesClusterSource$outboundSchema, ).optional(), allowedSetupMethods: z.array(DeploymentSetupMethod$outboundSchema), allowReleasePinning: z.boolean().optional(), stackSettings: DeploymentSetupStackSettingsPolicy$outboundSchema.optional(), }); export function deploymentSetupPolicyToJSON( deploymentSetupPolicy: DeploymentSetupPolicy, ): string { return JSON.stringify( DeploymentSetupPolicy$outboundSchema.parse(deploymentSetupPolicy), ); } export function deploymentSetupPolicyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => DeploymentSetupPolicy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeploymentSetupPolicy' from JSON`, ); }