/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 1e33b4c35f7a */ import * as z from "zod/v4"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { DeploymentGroupRole, DeploymentGroupRole$inboundSchema, } from "./deploymentgrouprole.js"; import { DeploymentRole, DeploymentRole$inboundSchema, } from "./deploymentrole.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { ManagerRole, ManagerRole$inboundSchema } from "./managerrole.js"; import { ProjectRole, ProjectRole$inboundSchema } from "./projectrole.js"; import { WorkspaceRole, WorkspaceRole$inboundSchema } from "./workspacerole.js"; /** * Role defining what actions this service account can perform within its scope */ export type Role = | WorkspaceRole | ProjectRole | DeploymentRole | DeploymentGroupRole | ManagerRole; /** @internal */ export const Role$inboundSchema: z.ZodType = z.union([ WorkspaceRole$inboundSchema, ProjectRole$inboundSchema, DeploymentRole$inboundSchema, DeploymentGroupRole$inboundSchema, ManagerRole$inboundSchema, ]); export function roleFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Role$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Role' from JSON`, ); }