/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 2c49c84c9776 */ import * as z from "zod/v4"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; export type ProjectGcpOAuthProviderCustom = { mode: "custom"; /** * Google OAuth web client ID. */ clientId: string; hasClientSecret: boolean; /** * Authorized redirect URIs that must be configured on the Google OAuth client. */ redirectUris: Array; }; export type ProjectGcpOAuthProviderAlienManaged = { mode: "alien-managed"; /** * Authorized redirect URIs that must be configured on the Google OAuth client. */ redirectUris: Array; }; export type ProjectGcpOAuthProvider = | ProjectGcpOAuthProviderAlienManaged | ProjectGcpOAuthProviderCustom; /** @internal */ export const ProjectGcpOAuthProviderCustom$inboundSchema: z.ZodType< ProjectGcpOAuthProviderCustom, unknown > = z.object({ mode: z.literal("custom"), clientId: z.string(), hasClientSecret: z.boolean(), redirectUris: z.array(z.string()), }); export function projectGcpOAuthProviderCustomFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ProjectGcpOAuthProviderCustom$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectGcpOAuthProviderCustom' from JSON`, ); } /** @internal */ export const ProjectGcpOAuthProviderAlienManaged$inboundSchema: z.ZodType< ProjectGcpOAuthProviderAlienManaged, unknown > = z.object({ mode: z.literal("alien-managed"), redirectUris: z.array(z.string()), }); export function projectGcpOAuthProviderAlienManagedFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ProjectGcpOAuthProviderAlienManaged$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectGcpOAuthProviderAlienManaged' from JSON`, ); } /** @internal */ export const ProjectGcpOAuthProvider$inboundSchema: z.ZodType< ProjectGcpOAuthProvider, unknown > = z.union([ z.lazy(() => ProjectGcpOAuthProviderAlienManaged$inboundSchema), z.lazy(() => ProjectGcpOAuthProviderCustom$inboundSchema), ]); export function projectGcpOAuthProviderFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ProjectGcpOAuthProvider$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectGcpOAuthProvider' from JSON`, ); }