/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * cluster = operator ceiling (org-admin read-only); org = self-budget */ export const SetExternalUserDefaultBudgetOwner = { Cluster: "cluster", Org: "org", } as const; /** * cluster = operator ceiling (org-admin read-only); org = self-budget */ export type SetExternalUserDefaultBudgetOwner = ClosedEnum< typeof SetExternalUserDefaultBudgetOwner >; export const SetExternalUserDefaultBudgetPeriod = { Daily: "daily", Weekly: "weekly", Monthly: "monthly", } as const; export type SetExternalUserDefaultBudgetPeriod = ClosedEnum< typeof SetExternalUserDefaultBudgetPeriod >; export const SetExternalUserDefaultBudgetAction = { Alert: "alert", Block: "block", } as const; export type SetExternalUserDefaultBudgetAction = ClosedEnum< typeof SetExternalUserDefaultBudgetAction >; export type SetExternalUserDefaultBudgetThresholds = { pct: number; action: SetExternalUserDefaultBudgetAction; }; export type SetExternalUserDefaultBudgetRequestBody = { /** * cluster = operator ceiling (org-admin read-only); org = self-budget */ owner?: SetExternalUserDefaultBudgetOwner | undefined; period: SetExternalUserDefaultBudgetPeriod; /** * Spend limit in major currency units */ limit: number; thresholds: Array; webhookUrl?: string | null | undefined; webhookSecret?: string | null | undefined; }; export type SetExternalUserDefaultBudgetRequest = { orgId?: string | undefined; requestBody: SetExternalUserDefaultBudgetRequestBody; }; export const SetExternalUserDefaultBudgetScope = { Org: "org", Apikey: "apikey", User: "user", Team: "team", ExternalUser: "external_user", UserDefault: "user_default", TeamDefault: "team_default", ExternalUserDefault: "external_user_default", } as const; export type SetExternalUserDefaultBudgetScope = ClosedEnum< typeof SetExternalUserDefaultBudgetScope >; export const SetExternalUserDefaultBudgetBudgetsOwner = { Cluster: "cluster", Org: "org", } as const; export type SetExternalUserDefaultBudgetBudgetsOwner = ClosedEnum< typeof SetExternalUserDefaultBudgetBudgetsOwner >; export const SetExternalUserDefaultBudgetBudgetsPeriod = { Daily: "daily", Weekly: "weekly", Monthly: "monthly", } as const; export type SetExternalUserDefaultBudgetBudgetsPeriod = ClosedEnum< typeof SetExternalUserDefaultBudgetBudgetsPeriod >; export const SetExternalUserDefaultBudgetBudgetsAction = { Alert: "alert", Block: "block", } as const; export type SetExternalUserDefaultBudgetBudgetsAction = ClosedEnum< typeof SetExternalUserDefaultBudgetBudgetsAction >; export type SetExternalUserDefaultBudgetBudgetsThresholds = { pct: number; action: SetExternalUserDefaultBudgetBudgetsAction; }; /** * OK */ export type SetExternalUserDefaultBudgetResponseBody = { id: string; scope: SetExternalUserDefaultBudgetScope; scopeId: string; scopeOrgId: string | null; owner: SetExternalUserDefaultBudgetBudgetsOwner; period: SetExternalUserDefaultBudgetBudgetsPeriod; limit: number; thresholds: Array; alertWebhookUrl: string | null; }; /** @internal */ export const SetExternalUserDefaultBudgetOwner$inboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetOwner > = z.nativeEnum(SetExternalUserDefaultBudgetOwner); /** @internal */ export const SetExternalUserDefaultBudgetOwner$outboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetOwner > = SetExternalUserDefaultBudgetOwner$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetPeriod$inboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetPeriod > = z.nativeEnum(SetExternalUserDefaultBudgetPeriod); /** @internal */ export const SetExternalUserDefaultBudgetPeriod$outboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetPeriod > = SetExternalUserDefaultBudgetPeriod$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetAction$inboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetAction > = z.nativeEnum(SetExternalUserDefaultBudgetAction); /** @internal */ export const SetExternalUserDefaultBudgetAction$outboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetAction > = SetExternalUserDefaultBudgetAction$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetThresholds$inboundSchema: z.ZodType< SetExternalUserDefaultBudgetThresholds, z.ZodTypeDef, unknown > = z.object({ pct: z.number().int(), action: SetExternalUserDefaultBudgetAction$inboundSchema, }); /** @internal */ export type SetExternalUserDefaultBudgetThresholds$Outbound = { pct: number; action: string; }; /** @internal */ export const SetExternalUserDefaultBudgetThresholds$outboundSchema: z.ZodType< SetExternalUserDefaultBudgetThresholds$Outbound, z.ZodTypeDef, SetExternalUserDefaultBudgetThresholds > = z.object({ pct: z.number().int(), action: SetExternalUserDefaultBudgetAction$outboundSchema, }); export function setExternalUserDefaultBudgetThresholdsToJSON( setExternalUserDefaultBudgetThresholds: SetExternalUserDefaultBudgetThresholds, ): string { return JSON.stringify( SetExternalUserDefaultBudgetThresholds$outboundSchema.parse( setExternalUserDefaultBudgetThresholds, ), ); } export function setExternalUserDefaultBudgetThresholdsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SetExternalUserDefaultBudgetThresholds$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SetExternalUserDefaultBudgetThresholds' from JSON`, ); } /** @internal */ export const SetExternalUserDefaultBudgetRequestBody$inboundSchema: z.ZodType< SetExternalUserDefaultBudgetRequestBody, z.ZodTypeDef, unknown > = z.object({ owner: SetExternalUserDefaultBudgetOwner$inboundSchema.default("org"), period: SetExternalUserDefaultBudgetPeriod$inboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => SetExternalUserDefaultBudgetThresholds$inboundSchema), ), webhook_url: z.nullable(z.string()).optional(), webhook_secret: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { "webhook_url": "webhookUrl", "webhook_secret": "webhookSecret", }); }); /** @internal */ export type SetExternalUserDefaultBudgetRequestBody$Outbound = { owner: string; period: string; limit: number; thresholds: Array; webhook_url?: string | null | undefined; webhook_secret?: string | null | undefined; }; /** @internal */ export const SetExternalUserDefaultBudgetRequestBody$outboundSchema: z.ZodType< SetExternalUserDefaultBudgetRequestBody$Outbound, z.ZodTypeDef, SetExternalUserDefaultBudgetRequestBody > = z.object({ owner: SetExternalUserDefaultBudgetOwner$outboundSchema.default("org"), period: SetExternalUserDefaultBudgetPeriod$outboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => SetExternalUserDefaultBudgetThresholds$outboundSchema), ), webhookUrl: z.nullable(z.string()).optional(), webhookSecret: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { webhookUrl: "webhook_url", webhookSecret: "webhook_secret", }); }); export function setExternalUserDefaultBudgetRequestBodyToJSON( setExternalUserDefaultBudgetRequestBody: SetExternalUserDefaultBudgetRequestBody, ): string { return JSON.stringify( SetExternalUserDefaultBudgetRequestBody$outboundSchema.parse( setExternalUserDefaultBudgetRequestBody, ), ); } export function setExternalUserDefaultBudgetRequestBodyFromJSON( jsonString: string, ): SafeParseResult< SetExternalUserDefaultBudgetRequestBody, SDKValidationError > { return safeParse( jsonString, (x) => SetExternalUserDefaultBudgetRequestBody$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'SetExternalUserDefaultBudgetRequestBody' from JSON`, ); } /** @internal */ export const SetExternalUserDefaultBudgetRequest$inboundSchema: z.ZodType< SetExternalUserDefaultBudgetRequest, z.ZodTypeDef, unknown > = z.object({ org_id: z.string().optional(), RequestBody: z.lazy(() => SetExternalUserDefaultBudgetRequestBody$inboundSchema ), }).transform((v) => { return remap$(v, { "org_id": "orgId", "RequestBody": "requestBody", }); }); /** @internal */ export type SetExternalUserDefaultBudgetRequest$Outbound = { org_id?: string | undefined; RequestBody: SetExternalUserDefaultBudgetRequestBody$Outbound; }; /** @internal */ export const SetExternalUserDefaultBudgetRequest$outboundSchema: z.ZodType< SetExternalUserDefaultBudgetRequest$Outbound, z.ZodTypeDef, SetExternalUserDefaultBudgetRequest > = z.object({ orgId: z.string().optional(), requestBody: z.lazy(() => SetExternalUserDefaultBudgetRequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { orgId: "org_id", requestBody: "RequestBody", }); }); export function setExternalUserDefaultBudgetRequestToJSON( setExternalUserDefaultBudgetRequest: SetExternalUserDefaultBudgetRequest, ): string { return JSON.stringify( SetExternalUserDefaultBudgetRequest$outboundSchema.parse( setExternalUserDefaultBudgetRequest, ), ); } export function setExternalUserDefaultBudgetRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SetExternalUserDefaultBudgetRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SetExternalUserDefaultBudgetRequest' from JSON`, ); } /** @internal */ export const SetExternalUserDefaultBudgetScope$inboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetScope > = z.nativeEnum(SetExternalUserDefaultBudgetScope); /** @internal */ export const SetExternalUserDefaultBudgetScope$outboundSchema: z.ZodNativeEnum< typeof SetExternalUserDefaultBudgetScope > = SetExternalUserDefaultBudgetScope$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetBudgetsOwner$inboundSchema: z.ZodNativeEnum = z .nativeEnum(SetExternalUserDefaultBudgetBudgetsOwner); /** @internal */ export const SetExternalUserDefaultBudgetBudgetsOwner$outboundSchema: z.ZodNativeEnum = SetExternalUserDefaultBudgetBudgetsOwner$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetBudgetsPeriod$inboundSchema: z.ZodNativeEnum = z .nativeEnum(SetExternalUserDefaultBudgetBudgetsPeriod); /** @internal */ export const SetExternalUserDefaultBudgetBudgetsPeriod$outboundSchema: z.ZodNativeEnum = SetExternalUserDefaultBudgetBudgetsPeriod$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetBudgetsAction$inboundSchema: z.ZodNativeEnum = z .nativeEnum(SetExternalUserDefaultBudgetBudgetsAction); /** @internal */ export const SetExternalUserDefaultBudgetBudgetsAction$outboundSchema: z.ZodNativeEnum = SetExternalUserDefaultBudgetBudgetsAction$inboundSchema; /** @internal */ export const SetExternalUserDefaultBudgetBudgetsThresholds$inboundSchema: z.ZodType< SetExternalUserDefaultBudgetBudgetsThresholds, z.ZodTypeDef, unknown > = z.object({ pct: z.number().int(), action: SetExternalUserDefaultBudgetBudgetsAction$inboundSchema, }); /** @internal */ export type SetExternalUserDefaultBudgetBudgetsThresholds$Outbound = { pct: number; action: string; }; /** @internal */ export const SetExternalUserDefaultBudgetBudgetsThresholds$outboundSchema: z.ZodType< SetExternalUserDefaultBudgetBudgetsThresholds$Outbound, z.ZodTypeDef, SetExternalUserDefaultBudgetBudgetsThresholds > = z.object({ pct: z.number().int(), action: SetExternalUserDefaultBudgetBudgetsAction$outboundSchema, }); export function setExternalUserDefaultBudgetBudgetsThresholdsToJSON( setExternalUserDefaultBudgetBudgetsThresholds: SetExternalUserDefaultBudgetBudgetsThresholds, ): string { return JSON.stringify( SetExternalUserDefaultBudgetBudgetsThresholds$outboundSchema.parse( setExternalUserDefaultBudgetBudgetsThresholds, ), ); } export function setExternalUserDefaultBudgetBudgetsThresholdsFromJSON( jsonString: string, ): SafeParseResult< SetExternalUserDefaultBudgetBudgetsThresholds, SDKValidationError > { return safeParse( jsonString, (x) => SetExternalUserDefaultBudgetBudgetsThresholds$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'SetExternalUserDefaultBudgetBudgetsThresholds' from JSON`, ); } /** @internal */ export const SetExternalUserDefaultBudgetResponseBody$inboundSchema: z.ZodType< SetExternalUserDefaultBudgetResponseBody, z.ZodTypeDef, unknown > = z.object({ id: z.string(), scope: SetExternalUserDefaultBudgetScope$inboundSchema, scope_id: z.string(), scope_org_id: z.nullable(z.string()), owner: SetExternalUserDefaultBudgetBudgetsOwner$inboundSchema, period: SetExternalUserDefaultBudgetBudgetsPeriod$inboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => SetExternalUserDefaultBudgetBudgetsThresholds$inboundSchema), ), alert_webhook_url: z.nullable(z.string()), }).transform((v) => { return remap$(v, { "scope_id": "scopeId", "scope_org_id": "scopeOrgId", "alert_webhook_url": "alertWebhookUrl", }); }); /** @internal */ export type SetExternalUserDefaultBudgetResponseBody$Outbound = { id: string; scope: string; scope_id: string; scope_org_id: string | null; owner: string; period: string; limit: number; thresholds: Array; alert_webhook_url: string | null; }; /** @internal */ export const SetExternalUserDefaultBudgetResponseBody$outboundSchema: z.ZodType< SetExternalUserDefaultBudgetResponseBody$Outbound, z.ZodTypeDef, SetExternalUserDefaultBudgetResponseBody > = z.object({ id: z.string(), scope: SetExternalUserDefaultBudgetScope$outboundSchema, scopeId: z.string(), scopeOrgId: z.nullable(z.string()), owner: SetExternalUserDefaultBudgetBudgetsOwner$outboundSchema, period: SetExternalUserDefaultBudgetBudgetsPeriod$outboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => SetExternalUserDefaultBudgetBudgetsThresholds$outboundSchema), ), alertWebhookUrl: z.nullable(z.string()), }).transform((v) => { return remap$(v, { scopeId: "scope_id", scopeOrgId: "scope_org_id", alertWebhookUrl: "alert_webhook_url", }); }); export function setExternalUserDefaultBudgetResponseBodyToJSON( setExternalUserDefaultBudgetResponseBody: SetExternalUserDefaultBudgetResponseBody, ): string { return JSON.stringify( SetExternalUserDefaultBudgetResponseBody$outboundSchema.parse( setExternalUserDefaultBudgetResponseBody, ), ); } export function setExternalUserDefaultBudgetResponseBodyFromJSON( jsonString: string, ): SafeParseResult< SetExternalUserDefaultBudgetResponseBody, SDKValidationError > { return safeParse( jsonString, (x) => SetExternalUserDefaultBudgetResponseBody$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'SetExternalUserDefaultBudgetResponseBody' from JSON`, ); }