/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 2612c1625a69 */ 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"; import * as models from "../index.js"; export type QueueAccessRequestGlobals = { /** * Workspace name. Platform API keys already select a workspace; other authentication methods can configure it once on the SDK client. */ workspace?: string | undefined; }; export type QueueAccessRequestRequest = { id: string; }; export const QueueAccessRequestRequesterKind = { User: "user", ServiceAccount: "serviceAccount", } as const; export type QueueAccessRequestRequesterKind = ClosedEnum< typeof QueueAccessRequestRequesterKind >; export type QueueAccessRequestDeployment = { id: string; name: string; deploymentGroup?: models.DeploymentGroupInfo | undefined; }; /** * How risky an operation is (declared by the plugin metadata). */ export const QueueAccessRequestTier = { ReadOnly: "read-only", Mutating: "mutating", Destructive: "destructive", } as const; /** * How risky an operation is (declared by the plugin metadata). */ export type QueueAccessRequestTier = ClosedEnum; export type QueueAccessRequestCommand = { command: string; summary: string; params?: any | null | undefined; /** * How risky an operation is (declared by the plugin metadata). */ tier?: QueueAccessRequestTier | undefined; }; /** * How risky an operation is (declared by the plugin metadata). */ export const QueueAccessRequestMaxRisk = { ReadOnly: "read-only", Mutating: "mutating", Destructive: "destructive", } as const; /** * How risky an operation is (declared by the plugin metadata). */ export type QueueAccessRequestMaxRisk = ClosedEnum< typeof QueueAccessRequestMaxRisk >; /** * The queued access request, with the customer approve command. */ export type QueueAccessRequestResponse = { id: string; requesterKind: QueueAccessRequestRequesterKind | null; requesterId: string | null; requestedExpiresAt: string | null; deploymentId: string; deployment?: QueueAccessRequestDeployment | undefined; remediationPlanId: string | null; title: string; reason: string | null; commands: Array; operationPattern: string | null; /** * How risky an operation is (declared by the plugin metadata). */ maxRisk: QueueAccessRequestMaxRisk | null; status: models.AccessRequestStatus; approvedUntil: string | null; kubectlApprove: string | null; }; /** @internal */ export type QueueAccessRequestRequest$Outbound = { id: string; }; /** @internal */ export const QueueAccessRequestRequest$outboundSchema: z.ZodType< QueueAccessRequestRequest$Outbound, QueueAccessRequestRequest > = z.object({ id: z.string(), }); export function queueAccessRequestRequestToJSON( queueAccessRequestRequest: QueueAccessRequestRequest, ): string { return JSON.stringify( QueueAccessRequestRequest$outboundSchema.parse(queueAccessRequestRequest), ); } /** @internal */ export const QueueAccessRequestRequesterKind$inboundSchema: z.ZodEnum< typeof QueueAccessRequestRequesterKind > = z.enum(QueueAccessRequestRequesterKind); /** @internal */ export const QueueAccessRequestDeployment$inboundSchema: z.ZodType< QueueAccessRequestDeployment, unknown > = z.object({ id: z.string(), name: z.string(), deploymentGroup: models.DeploymentGroupInfo$inboundSchema.optional(), }); export function queueAccessRequestDeploymentFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => QueueAccessRequestDeployment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'QueueAccessRequestDeployment' from JSON`, ); } /** @internal */ export const QueueAccessRequestTier$inboundSchema: z.ZodEnum< typeof QueueAccessRequestTier > = z.enum(QueueAccessRequestTier); /** @internal */ export const QueueAccessRequestCommand$inboundSchema: z.ZodType< QueueAccessRequestCommand, unknown > = z.object({ command: z.string(), summary: z.string(), params: z.nullable(z.any()).optional(), tier: QueueAccessRequestTier$inboundSchema.optional(), }); export function queueAccessRequestCommandFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => QueueAccessRequestCommand$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'QueueAccessRequestCommand' from JSON`, ); } /** @internal */ export const QueueAccessRequestMaxRisk$inboundSchema: z.ZodEnum< typeof QueueAccessRequestMaxRisk > = z.enum(QueueAccessRequestMaxRisk); /** @internal */ export const QueueAccessRequestResponse$inboundSchema: z.ZodType< QueueAccessRequestResponse, unknown > = z.object({ id: z.string(), requesterKind: z.nullable(QueueAccessRequestRequesterKind$inboundSchema), requesterId: z.nullable(z.string()), requestedExpiresAt: z.nullable(z.string()), deploymentId: z.string(), deployment: z.lazy(() => QueueAccessRequestDeployment$inboundSchema) .optional(), remediationPlanId: z.nullable(z.string()), title: z.string(), reason: z.nullable(z.string()), commands: z.array(z.lazy(() => QueueAccessRequestCommand$inboundSchema)), operationPattern: z.nullable(z.string()), maxRisk: z.nullable(QueueAccessRequestMaxRisk$inboundSchema), status: models.AccessRequestStatus$inboundSchema, approvedUntil: z.nullable(z.string()), kubectlApprove: z.nullable(z.string()), }); export function queueAccessRequestResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => QueueAccessRequestResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'QueueAccessRequestResponse' from JSON`, ); }