/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: bea899dd618a */ import * as z from "zod/v4"; export type UpdateProjectGcpOAuthProviderCustom = { mode: "custom"; /** * Google OAuth web client ID. */ clientId: string; /** * Google OAuth web client secret. Write-only; never returned by the API. */ clientSecret?: string | undefined; }; export type UpdateProjectGcpOAuthProviderAlienManaged = { mode: "alien-managed"; }; export type UpdateProjectGcpOAuthProvider = | UpdateProjectGcpOAuthProviderAlienManaged | UpdateProjectGcpOAuthProviderCustom; /** @internal */ export type UpdateProjectGcpOAuthProviderCustom$Outbound = { mode: "custom"; clientId: string; clientSecret?: string | undefined; }; /** @internal */ export const UpdateProjectGcpOAuthProviderCustom$outboundSchema: z.ZodType< UpdateProjectGcpOAuthProviderCustom$Outbound, UpdateProjectGcpOAuthProviderCustom > = z.object({ mode: z.literal("custom"), clientId: z.string(), clientSecret: z.string().optional(), }); export function updateProjectGcpOAuthProviderCustomToJSON( updateProjectGcpOAuthProviderCustom: UpdateProjectGcpOAuthProviderCustom, ): string { return JSON.stringify( UpdateProjectGcpOAuthProviderCustom$outboundSchema.parse( updateProjectGcpOAuthProviderCustom, ), ); } /** @internal */ export type UpdateProjectGcpOAuthProviderAlienManaged$Outbound = { mode: "alien-managed"; }; /** @internal */ export const UpdateProjectGcpOAuthProviderAlienManaged$outboundSchema: z.ZodType< UpdateProjectGcpOAuthProviderAlienManaged$Outbound, UpdateProjectGcpOAuthProviderAlienManaged > = z.object({ mode: z.literal("alien-managed"), }); export function updateProjectGcpOAuthProviderAlienManagedToJSON( updateProjectGcpOAuthProviderAlienManaged: UpdateProjectGcpOAuthProviderAlienManaged, ): string { return JSON.stringify( UpdateProjectGcpOAuthProviderAlienManaged$outboundSchema.parse( updateProjectGcpOAuthProviderAlienManaged, ), ); } /** @internal */ export type UpdateProjectGcpOAuthProvider$Outbound = | UpdateProjectGcpOAuthProviderAlienManaged$Outbound | UpdateProjectGcpOAuthProviderCustom$Outbound; /** @internal */ export const UpdateProjectGcpOAuthProvider$outboundSchema: z.ZodType< UpdateProjectGcpOAuthProvider$Outbound, UpdateProjectGcpOAuthProvider > = z.union([ z.lazy(() => UpdateProjectGcpOAuthProviderAlienManaged$outboundSchema), z.lazy(() => UpdateProjectGcpOAuthProviderCustom$outboundSchema), ]); export function updateProjectGcpOAuthProviderToJSON( updateProjectGcpOAuthProvider: UpdateProjectGcpOAuthProvider, ): string { return JSON.stringify( UpdateProjectGcpOAuthProvider$outboundSchema.parse( updateProjectGcpOAuthProvider, ), ); }