@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>
216 lines (195 loc) • 6.5 kB
text/typescript
/*
* 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 * as types from "../types/primitives.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export const CreateKmsIssuerPolicyKind = {
ProjectGrant: "project-grant",
} as const;
export type CreateKmsIssuerPolicyKind = ClosedEnum<
typeof CreateKmsIssuerPolicyKind
>;
export type CreateKmsIssuerPolicyRequestBody = {
kind: CreateKmsIssuerPolicyKind;
/**
* The project ID for the project grant policy.
*/
projectId: string;
/**
* The environments for the project grant policy. Each entry is a system environment (production, preview, development) or a custom environment ID (env_...).
*/
environments: Array<string>;
/**
* The claims that KMS should include in signed JWTs for this policy.
*/
tokenClaims?: { [k: string]: any } | undefined;
};
export type CreateKmsIssuerPolicyRequest = {
/**
* The ID of the issuer.
*/
issuerId: 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;
requestBody?: CreateKmsIssuerPolicyRequestBody | undefined;
};
export type CreateKmsIssuerPolicyResponseBody2 = {
kind: "connex-grant";
clientId: string;
tokenClaims?: { [k: string]: any } | undefined;
createdAt: string;
updatedAt: string;
};
export type CreateKmsIssuerPolicyResponseBody1 = {
kind: "project-grant";
teamId: string;
projectId: string;
/**
* Environments whose OIDC tokens this grant authorizes. Each entry is either a system environment slug (`production`, `preview`, `development`) or a custom environment ID (prefixed `env_`). Custom environments are matched against the token's `custom_environment_id` claim (the stable ID); system environments against its `environment` claim.
*/
environments: Array<string>;
tokenClaims?: { [k: string]: any } | undefined;
createdAt: string;
updatedAt: string;
};
export type CreateKmsIssuerPolicyResponseBody =
| CreateKmsIssuerPolicyResponseBody1
| CreateKmsIssuerPolicyResponseBody2;
/** @internal */
export const CreateKmsIssuerPolicyKind$outboundSchema: z.ZodNativeEnum<
typeof CreateKmsIssuerPolicyKind
> = z.nativeEnum(CreateKmsIssuerPolicyKind);
/** @internal */
export type CreateKmsIssuerPolicyRequestBody$Outbound = {
kind: string;
projectId: string;
environments: Array<string>;
tokenClaims?: { [k: string]: any } | undefined;
};
/** @internal */
export const CreateKmsIssuerPolicyRequestBody$outboundSchema: z.ZodType<
CreateKmsIssuerPolicyRequestBody$Outbound,
z.ZodTypeDef,
CreateKmsIssuerPolicyRequestBody
> = z.object({
kind: CreateKmsIssuerPolicyKind$outboundSchema,
projectId: z.string(),
environments: z.array(z.string()),
tokenClaims: z.record(z.any()).optional(),
});
export function createKmsIssuerPolicyRequestBodyToJSON(
createKmsIssuerPolicyRequestBody: CreateKmsIssuerPolicyRequestBody,
): string {
return JSON.stringify(
CreateKmsIssuerPolicyRequestBody$outboundSchema.parse(
createKmsIssuerPolicyRequestBody,
),
);
}
/** @internal */
export type CreateKmsIssuerPolicyRequest$Outbound = {
issuerId: string;
teamId?: string | undefined;
slug?: string | undefined;
RequestBody?: CreateKmsIssuerPolicyRequestBody$Outbound | undefined;
};
/** @internal */
export const CreateKmsIssuerPolicyRequest$outboundSchema: z.ZodType<
CreateKmsIssuerPolicyRequest$Outbound,
z.ZodTypeDef,
CreateKmsIssuerPolicyRequest
> = z.object({
issuerId: z.string(),
teamId: z.string().optional(),
slug: z.string().optional(),
requestBody: z.lazy(() => CreateKmsIssuerPolicyRequestBody$outboundSchema)
.optional(),
}).transform((v) => {
return remap$(v, {
requestBody: "RequestBody",
});
});
export function createKmsIssuerPolicyRequestToJSON(
createKmsIssuerPolicyRequest: CreateKmsIssuerPolicyRequest,
): string {
return JSON.stringify(
CreateKmsIssuerPolicyRequest$outboundSchema.parse(
createKmsIssuerPolicyRequest,
),
);
}
/** @internal */
export const CreateKmsIssuerPolicyResponseBody2$inboundSchema: z.ZodType<
CreateKmsIssuerPolicyResponseBody2,
z.ZodTypeDef,
unknown
> = z.object({
kind: types.literal("connex-grant"),
clientId: types.string(),
tokenClaims: types.optional(z.record(z.any())),
createdAt: types.string(),
updatedAt: types.string(),
});
export function createKmsIssuerPolicyResponseBody2FromJSON(
jsonString: string,
): SafeParseResult<CreateKmsIssuerPolicyResponseBody2, SDKValidationError> {
return safeParse(
jsonString,
(x) =>
CreateKmsIssuerPolicyResponseBody2$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateKmsIssuerPolicyResponseBody2' from JSON`,
);
}
/** @internal */
export const CreateKmsIssuerPolicyResponseBody1$inboundSchema: z.ZodType<
CreateKmsIssuerPolicyResponseBody1,
z.ZodTypeDef,
unknown
> = z.object({
kind: types.literal("project-grant"),
teamId: types.string(),
projectId: types.string(),
environments: z.array(types.string()),
tokenClaims: types.optional(z.record(z.any())),
createdAt: types.string(),
updatedAt: types.string(),
});
export function createKmsIssuerPolicyResponseBody1FromJSON(
jsonString: string,
): SafeParseResult<CreateKmsIssuerPolicyResponseBody1, SDKValidationError> {
return safeParse(
jsonString,
(x) =>
CreateKmsIssuerPolicyResponseBody1$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateKmsIssuerPolicyResponseBody1' from JSON`,
);
}
/** @internal */
export const CreateKmsIssuerPolicyResponseBody$inboundSchema: z.ZodType<
CreateKmsIssuerPolicyResponseBody,
z.ZodTypeDef,
unknown
> = z.union([
z.lazy(() => CreateKmsIssuerPolicyResponseBody1$inboundSchema),
z.lazy(() => CreateKmsIssuerPolicyResponseBody2$inboundSchema),
]);
export function createKmsIssuerPolicyResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<CreateKmsIssuerPolicyResponseBody, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateKmsIssuerPolicyResponseBody$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateKmsIssuerPolicyResponseBody' from JSON`,
);
}