/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: a874603a28f9 */ import * as z from "zod/v4"; import { ClosedEnum } from "../types/enums.js"; export type PutExternalAIBindingRequestDatabricks = { provider: "databricks"; workspaceUrl: string; clientId: string; clientSecret: string; acknowledgeAlienCredentialAccess: boolean; }; export const PutExternalAIBindingRequestProviderEnum = { Anthropic: "anthropic", Openai: "openai", } as const; export type PutExternalAIBindingRequestProviderEnum = ClosedEnum< typeof PutExternalAIBindingRequestProviderEnum >; export type PutExternalAIBindingRequest = { provider: PutExternalAIBindingRequestProviderEnum; apiKey: string; acknowledgeAlienCredentialAccess: boolean; }; export type PutExternalAIBindingRequestUnion = | (PutExternalAIBindingRequest & { provider: "anthropic" }) | (PutExternalAIBindingRequest & { provider: "openai" }) | PutExternalAIBindingRequestDatabricks; /** @internal */ export type PutExternalAIBindingRequestDatabricks$Outbound = { provider: "databricks"; workspaceUrl: string; clientId: string; clientSecret: string; acknowledgeAlienCredentialAccess: boolean; }; /** @internal */ export const PutExternalAIBindingRequestDatabricks$outboundSchema: z.ZodType< PutExternalAIBindingRequestDatabricks$Outbound, PutExternalAIBindingRequestDatabricks > = z.object({ provider: z.literal("databricks"), workspaceUrl: z.string(), clientId: z.string(), clientSecret: z.string(), acknowledgeAlienCredentialAccess: z.boolean(), }); export function putExternalAIBindingRequestDatabricksToJSON( putExternalAIBindingRequestDatabricks: PutExternalAIBindingRequestDatabricks, ): string { return JSON.stringify( PutExternalAIBindingRequestDatabricks$outboundSchema.parse( putExternalAIBindingRequestDatabricks, ), ); } /** @internal */ export const PutExternalAIBindingRequestProviderEnum$outboundSchema: z.ZodEnum< typeof PutExternalAIBindingRequestProviderEnum > = z.enum(PutExternalAIBindingRequestProviderEnum); /** @internal */ export type PutExternalAIBindingRequest$Outbound = { provider: string; apiKey: string; acknowledgeAlienCredentialAccess: boolean; }; /** @internal */ export const PutExternalAIBindingRequest$outboundSchema: z.ZodType< PutExternalAIBindingRequest$Outbound, PutExternalAIBindingRequest > = z.object({ provider: PutExternalAIBindingRequestProviderEnum$outboundSchema, apiKey: z.string(), acknowledgeAlienCredentialAccess: z.boolean(), }); export function putExternalAIBindingRequestToJSON( putExternalAIBindingRequest: PutExternalAIBindingRequest, ): string { return JSON.stringify( PutExternalAIBindingRequest$outboundSchema.parse( putExternalAIBindingRequest, ), ); } /** @internal */ export type PutExternalAIBindingRequestUnion$Outbound = | (PutExternalAIBindingRequest$Outbound & { provider: "anthropic" }) | (PutExternalAIBindingRequest$Outbound & { provider: "openai" }) | PutExternalAIBindingRequestDatabricks$Outbound; /** @internal */ export const PutExternalAIBindingRequestUnion$outboundSchema: z.ZodType< PutExternalAIBindingRequestUnion$Outbound, PutExternalAIBindingRequestUnion > = z.union([ z.lazy(() => PutExternalAIBindingRequest$outboundSchema).and( z.object({ provider: z.literal("anthropic") }), ), z.lazy(() => PutExternalAIBindingRequest$outboundSchema).and( z.object({ provider: z.literal("openai") }), ), z.lazy(() => PutExternalAIBindingRequestDatabricks$outboundSchema), ]); export function putExternalAIBindingRequestUnionToJSON( putExternalAIBindingRequestUnion: PutExternalAIBindingRequestUnion, ): string { return JSON.stringify( PutExternalAIBindingRequestUnion$outboundSchema.parse( putExternalAIBindingRequestUnion, ), ); }