/* * 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"; export type GetUserDefaultBudgetsRequest = { orgId?: string | undefined; }; export const GetUserDefaultBudgetsScope = { 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 GetUserDefaultBudgetsScope = ClosedEnum< typeof GetUserDefaultBudgetsScope >; export const GetUserDefaultBudgetsOwner = { Cluster: "cluster", Org: "org", } as const; export type GetUserDefaultBudgetsOwner = ClosedEnum< typeof GetUserDefaultBudgetsOwner >; export const GetUserDefaultBudgetsPeriod = { Daily: "daily", Weekly: "weekly", Monthly: "monthly", } as const; export type GetUserDefaultBudgetsPeriod = ClosedEnum< typeof GetUserDefaultBudgetsPeriod >; export const GetUserDefaultBudgetsAction = { Alert: "alert", Block: "block", } as const; export type GetUserDefaultBudgetsAction = ClosedEnum< typeof GetUserDefaultBudgetsAction >; export type GetUserDefaultBudgetsThresholds = { pct: number; action: GetUserDefaultBudgetsAction; }; export type GetUserDefaultBudgetsData = { id: string; scope: GetUserDefaultBudgetsScope; scopeId: string; scopeOrgId: string | null; owner: GetUserDefaultBudgetsOwner; period: GetUserDefaultBudgetsPeriod; limit: number; thresholds: Array; alertWebhookUrl: string | null; }; /** * OK */ export type GetUserDefaultBudgetsResponseBody = { object: "list"; data: Array; }; /** @internal */ export const GetUserDefaultBudgetsRequest$inboundSchema: z.ZodType< GetUserDefaultBudgetsRequest, z.ZodTypeDef, unknown > = z.object({ org_id: z.string().optional(), }).transform((v) => { return remap$(v, { "org_id": "orgId", }); }); /** @internal */ export type GetUserDefaultBudgetsRequest$Outbound = { org_id?: string | undefined; }; /** @internal */ export const GetUserDefaultBudgetsRequest$outboundSchema: z.ZodType< GetUserDefaultBudgetsRequest$Outbound, z.ZodTypeDef, GetUserDefaultBudgetsRequest > = z.object({ orgId: z.string().optional(), }).transform((v) => { return remap$(v, { orgId: "org_id", }); }); export function getUserDefaultBudgetsRequestToJSON( getUserDefaultBudgetsRequest: GetUserDefaultBudgetsRequest, ): string { return JSON.stringify( GetUserDefaultBudgetsRequest$outboundSchema.parse( getUserDefaultBudgetsRequest, ), ); } export function getUserDefaultBudgetsRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetUserDefaultBudgetsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserDefaultBudgetsRequest' from JSON`, ); } /** @internal */ export const GetUserDefaultBudgetsScope$inboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsScope > = z.nativeEnum(GetUserDefaultBudgetsScope); /** @internal */ export const GetUserDefaultBudgetsScope$outboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsScope > = GetUserDefaultBudgetsScope$inboundSchema; /** @internal */ export const GetUserDefaultBudgetsOwner$inboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsOwner > = z.nativeEnum(GetUserDefaultBudgetsOwner); /** @internal */ export const GetUserDefaultBudgetsOwner$outboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsOwner > = GetUserDefaultBudgetsOwner$inboundSchema; /** @internal */ export const GetUserDefaultBudgetsPeriod$inboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsPeriod > = z.nativeEnum(GetUserDefaultBudgetsPeriod); /** @internal */ export const GetUserDefaultBudgetsPeriod$outboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsPeriod > = GetUserDefaultBudgetsPeriod$inboundSchema; /** @internal */ export const GetUserDefaultBudgetsAction$inboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsAction > = z.nativeEnum(GetUserDefaultBudgetsAction); /** @internal */ export const GetUserDefaultBudgetsAction$outboundSchema: z.ZodNativeEnum< typeof GetUserDefaultBudgetsAction > = GetUserDefaultBudgetsAction$inboundSchema; /** @internal */ export const GetUserDefaultBudgetsThresholds$inboundSchema: z.ZodType< GetUserDefaultBudgetsThresholds, z.ZodTypeDef, unknown > = z.object({ pct: z.number().int(), action: GetUserDefaultBudgetsAction$inboundSchema, }); /** @internal */ export type GetUserDefaultBudgetsThresholds$Outbound = { pct: number; action: string; }; /** @internal */ export const GetUserDefaultBudgetsThresholds$outboundSchema: z.ZodType< GetUserDefaultBudgetsThresholds$Outbound, z.ZodTypeDef, GetUserDefaultBudgetsThresholds > = z.object({ pct: z.number().int(), action: GetUserDefaultBudgetsAction$outboundSchema, }); export function getUserDefaultBudgetsThresholdsToJSON( getUserDefaultBudgetsThresholds: GetUserDefaultBudgetsThresholds, ): string { return JSON.stringify( GetUserDefaultBudgetsThresholds$outboundSchema.parse( getUserDefaultBudgetsThresholds, ), ); } export function getUserDefaultBudgetsThresholdsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetUserDefaultBudgetsThresholds$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserDefaultBudgetsThresholds' from JSON`, ); } /** @internal */ export const GetUserDefaultBudgetsData$inboundSchema: z.ZodType< GetUserDefaultBudgetsData, z.ZodTypeDef, unknown > = z.object({ id: z.string(), scope: GetUserDefaultBudgetsScope$inboundSchema, scope_id: z.string(), scope_org_id: z.nullable(z.string()), owner: GetUserDefaultBudgetsOwner$inboundSchema, period: GetUserDefaultBudgetsPeriod$inboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => GetUserDefaultBudgetsThresholds$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 GetUserDefaultBudgetsData$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 GetUserDefaultBudgetsData$outboundSchema: z.ZodType< GetUserDefaultBudgetsData$Outbound, z.ZodTypeDef, GetUserDefaultBudgetsData > = z.object({ id: z.string(), scope: GetUserDefaultBudgetsScope$outboundSchema, scopeId: z.string(), scopeOrgId: z.nullable(z.string()), owner: GetUserDefaultBudgetsOwner$outboundSchema, period: GetUserDefaultBudgetsPeriod$outboundSchema, limit: z.number(), thresholds: z.array( z.lazy(() => GetUserDefaultBudgetsThresholds$outboundSchema), ), alertWebhookUrl: z.nullable(z.string()), }).transform((v) => { return remap$(v, { scopeId: "scope_id", scopeOrgId: "scope_org_id", alertWebhookUrl: "alert_webhook_url", }); }); export function getUserDefaultBudgetsDataToJSON( getUserDefaultBudgetsData: GetUserDefaultBudgetsData, ): string { return JSON.stringify( GetUserDefaultBudgetsData$outboundSchema.parse(getUserDefaultBudgetsData), ); } export function getUserDefaultBudgetsDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetUserDefaultBudgetsData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserDefaultBudgetsData' from JSON`, ); } /** @internal */ export const GetUserDefaultBudgetsResponseBody$inboundSchema: z.ZodType< GetUserDefaultBudgetsResponseBody, z.ZodTypeDef, unknown > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => GetUserDefaultBudgetsData$inboundSchema)), }); /** @internal */ export type GetUserDefaultBudgetsResponseBody$Outbound = { object: "list"; data: Array; }; /** @internal */ export const GetUserDefaultBudgetsResponseBody$outboundSchema: z.ZodType< GetUserDefaultBudgetsResponseBody$Outbound, z.ZodTypeDef, GetUserDefaultBudgetsResponseBody > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => GetUserDefaultBudgetsData$outboundSchema)), }); export function getUserDefaultBudgetsResponseBodyToJSON( getUserDefaultBudgetsResponseBody: GetUserDefaultBudgetsResponseBody, ): string { return JSON.stringify( GetUserDefaultBudgetsResponseBody$outboundSchema.parse( getUserDefaultBudgetsResponseBody, ), ); } export function getUserDefaultBudgetsResponseBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetUserDefaultBudgetsResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserDefaultBudgetsResponseBody' from JSON`, ); }