/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 36fbaabe086d */ import * as z from "zod/v4"; import { ClosedEnum } from "../types/enums.js"; import { DeploymentSetupConfigInput, DeploymentSetupConfigInput$Outbound, DeploymentSetupConfigInput$outboundSchema, } from "./deploymentsetupconfiginput.js"; import { DeploymentSetupItemSelection, DeploymentSetupItemSelection$Outbound, DeploymentSetupItemSelection$outboundSchema, } from "./deploymentsetupitemselection.js"; import { SetupLinkEntryPoint, SetupLinkEntryPoint$Outbound, SetupLinkEntryPoint$outboundSchema, } from "./setuplinkentrypoint.js"; import { StackInputValueRequest, StackInputValueRequest$Outbound, StackInputValueRequest$outboundSchema, } from "./stackinputvaluerequest.js"; export const CreateDeploymentGroupTokenRequestSetupItemsEnum = { All: "all", } as const; export type CreateDeploymentGroupTokenRequestSetupItemsEnum = ClosedEnum< typeof CreateDeploymentGroupTokenRequestSetupItemsEnum >; /** * Setup to include. Use 'all' for every capability enabled for the Project. Omit to preserve the standard deployment-link behavior. */ export type CreateDeploymentGroupTokenRequestSetupItemsUnion = | CreateDeploymentGroupTokenRequestSetupItemsEnum | Array; export type CreateDeploymentGroupTokenRequest = { /** * Description for the API key */ description?: string | undefined; /** * Optional expiration date for the API key */ expiresAt?: Date | null | undefined; deploymentSetupConfig?: DeploymentSetupConfigInput | undefined; /** * Setup to include. Use 'all' for every capability enabled for the Project. Omit to preserve the standard deployment-link behavior. */ setupItems?: | CreateDeploymentGroupTokenRequestSetupItemsEnum | Array | undefined; /** * Portal destination to open first. This controls navigation, not authorization. */ entryPoint?: SetupLinkEntryPoint | undefined; inputValues?: { [k: string]: StackInputValueRequest } | undefined; }; /** @internal */ export const CreateDeploymentGroupTokenRequestSetupItemsEnum$outboundSchema: z.ZodEnum = z.enum( CreateDeploymentGroupTokenRequestSetupItemsEnum, ); /** @internal */ export type CreateDeploymentGroupTokenRequestSetupItemsUnion$Outbound = | string | Array; /** @internal */ export const CreateDeploymentGroupTokenRequestSetupItemsUnion$outboundSchema: z.ZodType< CreateDeploymentGroupTokenRequestSetupItemsUnion$Outbound, CreateDeploymentGroupTokenRequestSetupItemsUnion > = z.union([ CreateDeploymentGroupTokenRequestSetupItemsEnum$outboundSchema, z.array(DeploymentSetupItemSelection$outboundSchema), ]); export function createDeploymentGroupTokenRequestSetupItemsUnionToJSON( createDeploymentGroupTokenRequestSetupItemsUnion: CreateDeploymentGroupTokenRequestSetupItemsUnion, ): string { return JSON.stringify( CreateDeploymentGroupTokenRequestSetupItemsUnion$outboundSchema.parse( createDeploymentGroupTokenRequestSetupItemsUnion, ), ); } /** @internal */ export type CreateDeploymentGroupTokenRequest$Outbound = { description?: string | undefined; expiresAt?: string | null | undefined; deploymentSetupConfig?: DeploymentSetupConfigInput$Outbound | undefined; setupItems?: | string | Array | undefined; entryPoint?: SetupLinkEntryPoint$Outbound | undefined; inputValues?: { [k: string]: StackInputValueRequest$Outbound } | undefined; }; /** @internal */ export const CreateDeploymentGroupTokenRequest$outboundSchema: z.ZodType< CreateDeploymentGroupTokenRequest$Outbound, CreateDeploymentGroupTokenRequest > = z.object({ description: z.string().optional(), expiresAt: z.nullable(z.date().transform(v => v.toISOString())).optional(), deploymentSetupConfig: DeploymentSetupConfigInput$outboundSchema.optional(), setupItems: z.union([ CreateDeploymentGroupTokenRequestSetupItemsEnum$outboundSchema, z.array(DeploymentSetupItemSelection$outboundSchema), ]).optional(), entryPoint: SetupLinkEntryPoint$outboundSchema.optional(), inputValues: z.record(z.string(), StackInputValueRequest$outboundSchema) .optional(), }); export function createDeploymentGroupTokenRequestToJSON( createDeploymentGroupTokenRequest: CreateDeploymentGroupTokenRequest, ): string { return JSON.stringify( CreateDeploymentGroupTokenRequest$outboundSchema.parse( createDeploymentGroupTokenRequest, ), ); }