/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: d92ee0954796 */ import * as z from "zod/v4"; 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 GetProjectEncryptionUsageGlobals = { /** * Workspace name. Platform API keys already select a workspace; other authentication methods can configure it once on the SDK client. */ workspace?: string | undefined; }; export const GetProjectEncryptionUsageQueryParamRange = { TwentyFourh: "24h", Sevend: "7d", Thirtyd: "30d", } as const; export type GetProjectEncryptionUsageQueryParamRange = ClosedEnum< typeof GetProjectEncryptionUsageQueryParamRange >; export type GetProjectEncryptionUsageRequest = { /** * Project ID or name. */ idOrName: string; range?: GetProjectEncryptionUsageQueryParamRange | undefined; }; export const GetProjectEncryptionUsageRangeResponse = { TwentyFourh: "24h", Sevend: "7d", Thirtyd: "30d", } as const; export type GetProjectEncryptionUsageRangeResponse = ClosedEnum< typeof GetProjectEncryptionUsageRangeResponse >; export type GetProjectEncryptionUsageTotals = { requests: number; successfulRequests: number; errorRequests: number; averageLatencyMs: number | null; p95LatencyMs: number | null; }; export type GetProjectEncryptionUsageTimeSery = { requests: number; successfulRequests: number; errorRequests: number; averageLatencyMs: number | null; p95LatencyMs: number | null; bucket: Date; }; export const OperationEnum = { Encrypt: "encrypt", Decrypt: "decrypt", } as const; export type OperationEnum = ClosedEnum; export type Operation = { requests: number; successfulRequests: number; errorRequests: number; averageLatencyMs: number | null; p95LatencyMs: number | null; operation: OperationEnum; }; export type GetProjectEncryptionUsageAvailable = { status: "available"; range: GetProjectEncryptionUsageRangeResponse; totals: GetProjectEncryptionUsageTotals; timeSeries: Array; operations: Array; }; export const GetProjectEncryptionUsageReason = { NotConfigured: "not-configured", TemporarilyUnavailable: "temporarily-unavailable", } as const; export type GetProjectEncryptionUsageReason = ClosedEnum< typeof GetProjectEncryptionUsageReason >; export type GetProjectEncryptionUsageUnavailable = { status: "unavailable"; reason: GetProjectEncryptionUsageReason; }; /** * Privacy-safe Encryption Gateway usage aggregates. */ export type GetProjectEncryptionUsageResponse = | GetProjectEncryptionUsageUnavailable | GetProjectEncryptionUsageAvailable; /** @internal */ export const GetProjectEncryptionUsageQueryParamRange$outboundSchema: z.ZodEnum< typeof GetProjectEncryptionUsageQueryParamRange > = z.enum(GetProjectEncryptionUsageQueryParamRange); /** @internal */ export type GetProjectEncryptionUsageRequest$Outbound = { idOrName: string; range: string; }; /** @internal */ export const GetProjectEncryptionUsageRequest$outboundSchema: z.ZodType< GetProjectEncryptionUsageRequest$Outbound, GetProjectEncryptionUsageRequest > = z.object({ idOrName: z.string(), range: GetProjectEncryptionUsageQueryParamRange$outboundSchema.default("24h"), }); export function getProjectEncryptionUsageRequestToJSON( getProjectEncryptionUsageRequest: GetProjectEncryptionUsageRequest, ): string { return JSON.stringify( GetProjectEncryptionUsageRequest$outboundSchema.parse( getProjectEncryptionUsageRequest, ), ); } /** @internal */ export const GetProjectEncryptionUsageRangeResponse$inboundSchema: z.ZodEnum< typeof GetProjectEncryptionUsageRangeResponse > = z.enum(GetProjectEncryptionUsageRangeResponse); /** @internal */ export const GetProjectEncryptionUsageTotals$inboundSchema: z.ZodType< GetProjectEncryptionUsageTotals, unknown > = z.object({ requests: z.int(), successfulRequests: z.int(), errorRequests: z.int(), averageLatencyMs: z.nullable(z.number()), p95LatencyMs: z.nullable(z.number()), }); export function getProjectEncryptionUsageTotalsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetProjectEncryptionUsageTotals$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectEncryptionUsageTotals' from JSON`, ); } /** @internal */ export const GetProjectEncryptionUsageTimeSery$inboundSchema: z.ZodType< GetProjectEncryptionUsageTimeSery, unknown > = z.object({ requests: z.int(), successfulRequests: z.int(), errorRequests: z.int(), averageLatencyMs: z.nullable(z.number()), p95LatencyMs: z.nullable(z.number()), bucket: z.iso.datetime({ offset: true }).transform(v => new Date(v)), }); export function getProjectEncryptionUsageTimeSeryFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetProjectEncryptionUsageTimeSery$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectEncryptionUsageTimeSery' from JSON`, ); } /** @internal */ export const OperationEnum$inboundSchema: z.ZodEnum = z .enum(OperationEnum); /** @internal */ export const Operation$inboundSchema: z.ZodType = z.object({ requests: z.int(), successfulRequests: z.int(), errorRequests: z.int(), averageLatencyMs: z.nullable(z.number()), p95LatencyMs: z.nullable(z.number()), operation: OperationEnum$inboundSchema, }); export function operationFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Operation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Operation' from JSON`, ); } /** @internal */ export const GetProjectEncryptionUsageAvailable$inboundSchema: z.ZodType< GetProjectEncryptionUsageAvailable, unknown > = z.object({ status: z.literal("available"), range: GetProjectEncryptionUsageRangeResponse$inboundSchema, totals: z.lazy(() => GetProjectEncryptionUsageTotals$inboundSchema), timeSeries: z.array( z.lazy(() => GetProjectEncryptionUsageTimeSery$inboundSchema), ), operations: z.array(z.lazy(() => Operation$inboundSchema)), }); export function getProjectEncryptionUsageAvailableFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetProjectEncryptionUsageAvailable$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectEncryptionUsageAvailable' from JSON`, ); } /** @internal */ export const GetProjectEncryptionUsageReason$inboundSchema: z.ZodEnum< typeof GetProjectEncryptionUsageReason > = z.enum(GetProjectEncryptionUsageReason); /** @internal */ export const GetProjectEncryptionUsageUnavailable$inboundSchema: z.ZodType< GetProjectEncryptionUsageUnavailable, unknown > = z.object({ status: z.literal("unavailable"), reason: GetProjectEncryptionUsageReason$inboundSchema, }); export function getProjectEncryptionUsageUnavailableFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetProjectEncryptionUsageUnavailable$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectEncryptionUsageUnavailable' from JSON`, ); } /** @internal */ export const GetProjectEncryptionUsageResponse$inboundSchema: z.ZodType< GetProjectEncryptionUsageResponse, unknown > = z.union([ z.lazy(() => GetProjectEncryptionUsageUnavailable$inboundSchema), z.lazy(() => GetProjectEncryptionUsageAvailable$inboundSchema), ]); export function getProjectEncryptionUsageResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetProjectEncryptionUsageResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectEncryptionUsageResponse' from JSON`, ); }