@vercel/sdk
Version:
<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>
234 lines (211 loc) • 6.54 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { safeParse } from "../lib/schemas.js";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import * as types from "../types/primitives.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type GetRollingReleaseBillingStatusRequest = {
/**
* Project ID or project name (URL-encoded)
*/
idOrName: string;
/**
* The Team identifier to perform the request on behalf of.
*/
teamId?: string | undefined;
/**
* The Team slug to perform the request on behalf of.
*/
slug?: string | undefined;
};
export type GetRollingReleaseBillingStatusResponseBody4 = {
availableSlots: number;
reason: "available_slots";
message: string;
};
export type GetRollingReleaseBillingStatusResponseBody3 = {
availableSlots: number;
reason: "no_available_slots";
message: string;
enabledProjects: Array<string>;
};
export const AvailableSlots = {
Unlimited: "unlimited",
} as const;
export type AvailableSlots = ClosedEnum<typeof AvailableSlots>;
export type GetRollingReleaseBillingStatusResponseBody2 = {
availableSlots: AvailableSlots;
reason: "unlimited_slots";
message: string;
};
export type GetRollingReleaseBillingStatusResponseBody1 = {
availableSlots: number;
reason: "plan_not_supported";
message: string;
};
export type GetRollingReleaseBillingStatusResponseBody =
| GetRollingReleaseBillingStatusResponseBody1
| GetRollingReleaseBillingStatusResponseBody2
| GetRollingReleaseBillingStatusResponseBody3
| GetRollingReleaseBillingStatusResponseBody4;
/** @internal */
export type GetRollingReleaseBillingStatusRequest$Outbound = {
idOrName: string;
teamId?: string | undefined;
slug?: string | undefined;
};
/** @internal */
export const GetRollingReleaseBillingStatusRequest$outboundSchema: z.ZodType<
GetRollingReleaseBillingStatusRequest$Outbound,
z.ZodTypeDef,
GetRollingReleaseBillingStatusRequest
> = z.object({
idOrName: z.string(),
teamId: z.string().optional(),
slug: z.string().optional(),
});
export function getRollingReleaseBillingStatusRequestToJSON(
getRollingReleaseBillingStatusRequest: GetRollingReleaseBillingStatusRequest,
): string {
return JSON.stringify(
GetRollingReleaseBillingStatusRequest$outboundSchema.parse(
getRollingReleaseBillingStatusRequest,
),
);
}
/** @internal */
export const GetRollingReleaseBillingStatusResponseBody4$inboundSchema:
z.ZodType<
GetRollingReleaseBillingStatusResponseBody4,
z.ZodTypeDef,
unknown
> = z.object({
availableSlots: types.number(),
reason: types.literal("available_slots"),
message: types.string(),
});
export function getRollingReleaseBillingStatusResponseBody4FromJSON(
jsonString: string,
): SafeParseResult<
GetRollingReleaseBillingStatusResponseBody4,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetRollingReleaseBillingStatusResponseBody4$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetRollingReleaseBillingStatusResponseBody4' from JSON`,
);
}
/** @internal */
export const GetRollingReleaseBillingStatusResponseBody3$inboundSchema:
z.ZodType<
GetRollingReleaseBillingStatusResponseBody3,
z.ZodTypeDef,
unknown
> = z.object({
availableSlots: types.number(),
reason: types.literal("no_available_slots"),
message: types.string(),
enabledProjects: z.array(types.string()),
});
export function getRollingReleaseBillingStatusResponseBody3FromJSON(
jsonString: string,
): SafeParseResult<
GetRollingReleaseBillingStatusResponseBody3,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetRollingReleaseBillingStatusResponseBody3$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetRollingReleaseBillingStatusResponseBody3' from JSON`,
);
}
/** @internal */
export const AvailableSlots$inboundSchema: z.ZodNativeEnum<
typeof AvailableSlots
> = z.nativeEnum(AvailableSlots);
/** @internal */
export const GetRollingReleaseBillingStatusResponseBody2$inboundSchema:
z.ZodType<
GetRollingReleaseBillingStatusResponseBody2,
z.ZodTypeDef,
unknown
> = z.object({
availableSlots: AvailableSlots$inboundSchema,
reason: types.literal("unlimited_slots"),
message: types.string(),
});
export function getRollingReleaseBillingStatusResponseBody2FromJSON(
jsonString: string,
): SafeParseResult<
GetRollingReleaseBillingStatusResponseBody2,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetRollingReleaseBillingStatusResponseBody2$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetRollingReleaseBillingStatusResponseBody2' from JSON`,
);
}
/** @internal */
export const GetRollingReleaseBillingStatusResponseBody1$inboundSchema:
z.ZodType<
GetRollingReleaseBillingStatusResponseBody1,
z.ZodTypeDef,
unknown
> = z.object({
availableSlots: types.number(),
reason: types.literal("plan_not_supported"),
message: types.string(),
});
export function getRollingReleaseBillingStatusResponseBody1FromJSON(
jsonString: string,
): SafeParseResult<
GetRollingReleaseBillingStatusResponseBody1,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetRollingReleaseBillingStatusResponseBody1$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetRollingReleaseBillingStatusResponseBody1' from JSON`,
);
}
/** @internal */
export const GetRollingReleaseBillingStatusResponseBody$inboundSchema:
z.ZodType<GetRollingReleaseBillingStatusResponseBody, z.ZodTypeDef, unknown> =
z.union([
z.lazy(() => GetRollingReleaseBillingStatusResponseBody1$inboundSchema),
z.lazy(() => GetRollingReleaseBillingStatusResponseBody2$inboundSchema),
z.lazy(() => GetRollingReleaseBillingStatusResponseBody3$inboundSchema),
z.lazy(() => GetRollingReleaseBillingStatusResponseBody4$inboundSchema),
]);
export function getRollingReleaseBillingStatusResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<
GetRollingReleaseBillingStatusResponseBody,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetRollingReleaseBillingStatusResponseBody$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetRollingReleaseBillingStatusResponseBody' from JSON`,
);
}