/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: e1830aadec8e */ 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 CreateProjectFromTemplateGlobals = { /** * Workspace name. Platform API keys already select a workspace; other authentication methods can configure it once on the SDK client. */ workspace?: string | undefined; }; /** * Template root directory inside alienplatform/alien */ export const CreateProjectFromTemplateTemplatePathRequest = { ExamplesCustomerModelsTs: "examples/customer-models-ts", ExamplesRemoteWorkerTs: "examples/remote-worker-ts", ExamplesGithubAgentPackagesRemoteAgent: "examples/github-agent/packages/remote-agent", ExamplesEndpointAgent: "examples/endpoint-agent", ExamplesByocDatabase: "examples/byoc-database", } as const; /** * Template root directory inside alienplatform/alien */ export type CreateProjectFromTemplateTemplatePathRequest = ClosedEnum< typeof CreateProjectFromTemplateTemplatePathRequest >; /** * Target OS and architecture for compiled binaries. * * @remarks * * Used as keys in package output maps (CLI binaries, Terraform providers, etc.) * and for cross-compilation target selection during builds. */ export const CreateProjectFromTemplateBinaryTargetRequest = { WindowsX64: "windows-x64", LinuxX64: "linux-x64", LinuxArm64: "linux-arm64", DarwinArm64: "darwin-arm64", } as const; /** * Target OS and architecture for compiled binaries. * * @remarks * * Used as keys in package output maps (CLI binaries, Terraform providers, etc.) * and for cross-compilation target selection during builds. */ export type CreateProjectFromTemplateBinaryTargetRequest = ClosedEnum< typeof CreateProjectFromTemplateBinaryTargetRequest >; /** * CLI package configuration. If null, CLI packages will not be generated. */ export type CreateProjectFromTemplateCliRequest = { /** * Binary targets required by this package's setup consumer. * * @remarks * * Older package rows omit this field and retain the historical all-target * behavior. Callers creating new packages should state their target set. */ binaryTargets?: | Array | undefined; /** * Human-friendly display name for help banners and about text */ displayName: string; /** * Binary name displayed in help and usage (e.g., "acmectl") */ name: string; /** * Whether CLI package generation is enabled */ enabled: boolean; }; /** * CloudFormation package configuration. If null, CloudFormation packages will not be generated. */ export type CreateProjectFromTemplateCloudformationRequest = { /** * Whether CloudFormation package generation is enabled */ enabled: boolean; /** * Human-friendly application name shown in generated install artifacts */ displayName?: string | null | undefined; }; /** * Operator image package configuration. Required when Helm is enabled. If null, Operator image packages will not be generated. */ export type CreateProjectFromTemplateOperatorImageRequest = { /** * Short brand slug used for generated resource names. */ brand?: string | null | undefined; /** * Human-friendly display name for logs and startup messages */ displayName: string; /** * Branded environment variable prefix (e.g., "ACME"). */ envPrefix?: string | null | undefined; /** * Branded Kubernetes/cloud label domain (e.g., "acme.dev"). */ labelDomain?: string | null | undefined; /** * Image name (e.g., "acme-operator") */ name: string; /** * Whether Operator image package generation is enabled */ enabled: boolean; }; /** * Helm chart package configuration. If null, Helm packages will not be generated. */ export type CreateProjectFromTemplateHelmRequest = { /** * Chart name (e.g., "acme-operator") */ chartName: string; /** * Human-friendly description of the chart */ description: string; /** * Whether Helm chart package generation is enabled */ enabled: boolean; }; /** * Terraform package configuration. If null, Terraform packages will not be generated. */ export type CreateProjectFromTemplateTerraformRequest = { /** * Whether Terraform package generation is enabled */ enabled: boolean; /** * Human-friendly application name shown in generated install artifacts */ displayName?: string | null | undefined; }; /** * Configuration for embedded packages (CLI, CloudFormation, Helm, Terraform) */ export type CreateProjectFromTemplatePackagesConfigRequest = { /** * CLI package configuration. If null, CLI packages will not be generated. */ cli?: CreateProjectFromTemplateCliRequest | null | undefined; /** * CloudFormation package configuration. If null, CloudFormation packages will not be generated. */ cloudformation?: | CreateProjectFromTemplateCloudformationRequest | null | undefined; /** * Operator image package configuration. Required when Helm is enabled. If null, Operator image packages will not be generated. */ operatorImage?: | CreateProjectFromTemplateOperatorImageRequest | null | undefined; /** * Helm chart package configuration. If null, Helm packages will not be generated. */ helm?: CreateProjectFromTemplateHelmRequest | null | undefined; /** * Terraform package configuration. If null, Terraform packages will not be generated. */ terraform?: CreateProjectFromTemplateTerraformRequest | null | undefined; }; export type CreateProjectFromTemplateRequest = { /** * Project name. */ name: string; /** * GitHub owner namespace (user or organization) that will receive the fork */ targetNamespace: string; /** * Template root directory inside alienplatform/alien */ templatePath: CreateProjectFromTemplateTemplatePathRequest; /** * The name of a directory or relative path to the source code of your project. When null is used it will default to the project root */ rootDirectory?: string | null | undefined; /** * Configuration for embedded packages (CLI, CloudFormation, Helm, Terraform) */ packagesConfig?: | CreateProjectFromTemplatePackagesConfigRequest | null | undefined; }; /** * The Git Provider of the repository */ export const CreateProjectFromTemplateType = { Github: "github", } as const; /** * The Git Provider of the repository */ export type CreateProjectFromTemplateType = ClosedEnum< typeof CreateProjectFromTemplateType >; /** * Verified source repository connected to the project. Alien uses this for GitHub Actions setup and source-aware features; releases are still created explicitly by CI or `alien release`. */ export type CreateProjectFromTemplateGitRepository = { /** * The Git Provider of the repository */ type: CreateProjectFromTemplateType; /** * The name of the git repository */ repo: string; }; /** * Customer-facing deployment portal appearance settings. */ export type CreateProjectFromTemplateDeploymentPortalAppearance = { /** * Optional project-specific avatar override for the deployment portal. */ avatarUrl?: string | null | undefined; /** * Curated visual style for the deployment portal. */ preset: models.DeploymentPortalAppearancePreset; /** * Accent color used for highlights and primary actions. */ accentColor: models.DeploymentPortalAccentColor; /** * Optional portal title. Defaults to the project name. */ title?: string | null | undefined; /** * Optional customer-facing subtitle. */ subtitle?: string | null | undefined; /** * Optional support or contact URL. */ supportUrl?: string | null | undefined; /** * Optional documentation URL. */ docsUrl?: string | null | undefined; /** * Layout density for portal content. */ density: models.DeploymentPortalDensity; }; /** * Target OS and architecture for compiled binaries. * * @remarks * * Used as keys in package output maps (CLI binaries, Terraform providers, etc.) * and for cross-compilation target selection during builds. */ export const CreateProjectFromTemplateBinaryTargetResponse = { WindowsX64: "windows-x64", LinuxX64: "linux-x64", LinuxArm64: "linux-arm64", DarwinArm64: "darwin-arm64", } as const; /** * Target OS and architecture for compiled binaries. * * @remarks * * Used as keys in package output maps (CLI binaries, Terraform providers, etc.) * and for cross-compilation target selection during builds. */ export type CreateProjectFromTemplateBinaryTargetResponse = ClosedEnum< typeof CreateProjectFromTemplateBinaryTargetResponse >; /** * CLI package configuration. If null, CLI packages will not be generated. */ export type CreateProjectFromTemplateCliResponse = { /** * Binary targets required by this package's setup consumer. * * @remarks * * Older package rows omit this field and retain the historical all-target * behavior. Callers creating new packages should state their target set. */ binaryTargets?: | Array | undefined; /** * Human-friendly display name for help banners and about text */ displayName: string; /** * Binary name displayed in help and usage (e.g., "acmectl") */ name: string; /** * Whether CLI package generation is enabled */ enabled: boolean; }; /** * CloudFormation package configuration. If null, CloudFormation packages will not be generated. */ export type CreateProjectFromTemplateCloudformationResponse = { /** * Whether CloudFormation package generation is enabled */ enabled: boolean; /** * Human-friendly application name shown in generated install artifacts */ displayName?: string | null | undefined; }; /** * Operator image package configuration. Required when Helm is enabled. If null, Operator image packages will not be generated. */ export type CreateProjectFromTemplateOperatorImageResponse = { /** * Short brand slug used for generated resource names. */ brand?: string | null | undefined; /** * Human-friendly display name for logs and startup messages */ displayName: string; /** * Branded environment variable prefix (e.g., "ACME"). */ envPrefix?: string | null | undefined; /** * Branded Kubernetes/cloud label domain (e.g., "acme.dev"). */ labelDomain?: string | null | undefined; /** * Image name (e.g., "acme-operator") */ name: string; /** * Whether Operator image package generation is enabled */ enabled: boolean; }; /** * Helm chart package configuration. If null, Helm packages will not be generated. */ export type CreateProjectFromTemplateHelmResponse = { /** * Chart name (e.g., "acme-operator") */ chartName: string; /** * Human-friendly description of the chart */ description: string; /** * Whether Helm chart package generation is enabled */ enabled: boolean; }; /** * Terraform package configuration. If null, Terraform packages will not be generated. */ export type CreateProjectFromTemplateTerraformResponse = { /** * Whether Terraform package generation is enabled */ enabled: boolean; /** * Human-friendly application name shown in generated install artifacts */ displayName?: string | null | undefined; }; /** * Configuration for embedded packages (CLI, CloudFormation, Helm, Terraform) */ export type CreateProjectFromTemplatePackagesConfigResponse = { /** * CLI package configuration. If null, CLI packages will not be generated. */ cli?: CreateProjectFromTemplateCliResponse | null | undefined; /** * CloudFormation package configuration. If null, CloudFormation packages will not be generated. */ cloudformation?: | CreateProjectFromTemplateCloudformationResponse | null | undefined; /** * Operator image package configuration. Required when Helm is enabled. If null, Operator image packages will not be generated. */ operatorImage?: | CreateProjectFromTemplateOperatorImageResponse | null | undefined; /** * Helm chart package configuration. If null, Helm packages will not be generated. */ helm?: CreateProjectFromTemplateHelmResponse | null | undefined; /** * Terraform package configuration. If null, Terraform packages will not be generated. */ terraform?: CreateProjectFromTemplateTerraformResponse | null | undefined; }; /** * Project default private managers for new push deployments. */ export type CreateProjectFromTemplateDefaultManagers = { /** * Unique identifier for a default private manager. */ aws?: string | null | undefined; /** * Unique identifier for a default private manager. */ gcp?: string | null | undefined; /** * Unique identifier for a default private manager. */ azure?: string | null | undefined; /** * Unique identifier for a default private manager. */ kubernetes?: string | null | undefined; /** * Unique identifier for a default private manager. */ machines?: string | null | undefined; /** * Unique identifier for a default private manager. */ local?: string | null | undefined; }; export const CreateProjectFromTemplateMethod = { Framework: "framework", RemoteOperator: "remote-operator", } as const; export type CreateProjectFromTemplateMethod = ClosedEnum< typeof CreateProjectFromTemplateMethod >; export type CreateProjectFromTemplateDeployments = { enabled: boolean; methods?: Array | undefined; }; export type CreateProjectFromTemplateKeys = { enabled: boolean; applicationEncryption: boolean; }; export const CreateProjectFromTemplateAllowedProvider = { AwsBedrock: "aws-bedrock", GcpVertex: "gcp-vertex", AzureFoundry: "azure-foundry", Anthropic: "anthropic", Databricks: "databricks", Openai: "openai", } as const; export type CreateProjectFromTemplateAllowedProvider = ClosedEnum< typeof CreateProjectFromTemplateAllowedProvider >; export const CreateProjectFromTemplateClientApi = { OpenaiChat: "openai-chat", OpenaiResponses: "openai-responses", AnthropicMessages: "anthropic-messages", } as const; export type CreateProjectFromTemplateClientApi = ClosedEnum< typeof CreateProjectFromTemplateClientApi >; export type CreateProjectFromTemplateRequirement = { publicModelId: string; clientApis: Array; required: boolean; }; export type CreateProjectFromTemplateModels = { enabled: boolean; allowedProviders: Array; requirements: Array; }; export const CreateProjectFromTemplateAccess = { ReadWrite: "read-write", } as const; export type CreateProjectFromTemplateAccess = ClosedEnum< typeof CreateProjectFromTemplateAccess >; export type CreateProjectFromTemplateBuckets = { enabled: boolean; access: CreateProjectFromTemplateAccess; }; export const CreateProjectFromTemplateCredentialPolicy = { PullOnly: "pull-only", PushAndPull: "push-and-pull", } as const; export type CreateProjectFromTemplateCredentialPolicy = ClosedEnum< typeof CreateProjectFromTemplateCredentialPolicy >; export type CreateProjectFromTemplateRegistry = { enabled: boolean; repositories: Array; credentialPolicy: CreateProjectFromTemplateCredentialPolicy; }; export type CreateProjectFromTemplateAzure = { catalogImage: string; idleSuspendSeconds: number; }; export type CreateProjectFromTemplateRemoteSandbox = { enabled: boolean; baseImage?: string | undefined; azure?: CreateProjectFromTemplateAzure | undefined; maxLifetimeSeconds?: number | undefined; }; export type CreateProjectFromTemplateCapabilities = { deployments?: CreateProjectFromTemplateDeployments | undefined; keys?: CreateProjectFromTemplateKeys | undefined; models?: CreateProjectFromTemplateModels | undefined; buckets?: CreateProjectFromTemplateBuckets | undefined; registry?: CreateProjectFromTemplateRegistry | undefined; remoteSandbox?: CreateProjectFromTemplateRemoteSandbox | undefined; }; /** * Capabilities this Project may offer through setup links. */ export type CreateProjectFromTemplateProjectCapabilities = { schemaVersion: number; capabilities: CreateProjectFromTemplateCapabilities; }; export type CreateProjectFromTemplateGithubSetup = { /** * URL to the pull request with the Alien build workflow */ pullRequestUrl: string; /** * URL to the GitHub Actions workflow */ workflowUrl: string; }; export const CreateProjectFromTemplateSourceRepository = { AlienplatformAlien: "alienplatform/alien", } as const; export type CreateProjectFromTemplateSourceRepository = ClosedEnum< typeof CreateProjectFromTemplateSourceRepository >; /** * Template root directory inside alienplatform/alien */ export const CreateProjectFromTemplateTemplatePathResponse = { ExamplesCustomerModelsTs: "examples/customer-models-ts", ExamplesRemoteWorkerTs: "examples/remote-worker-ts", ExamplesGithubAgentPackagesRemoteAgent: "examples/github-agent/packages/remote-agent", ExamplesEndpointAgent: "examples/endpoint-agent", ExamplesByocDatabase: "examples/byoc-database", } as const; /** * Template root directory inside alienplatform/alien */ export type CreateProjectFromTemplateTemplatePathResponse = ClosedEnum< typeof CreateProjectFromTemplateTemplatePathResponse >; export type CreateProjectFromTemplateTemplate = { sourceRepository: CreateProjectFromTemplateSourceRepository; /** * Fork repository in / format */ forkRepository: string; /** * Template root directory inside alienplatform/alien */ templatePath: CreateProjectFromTemplateTemplatePathResponse; resolvedRootDirectory: string; }; /** * Project created successfully from template. */ export type CreateProjectFromTemplateResponse = { /** * Unique identifier for the project. */ id: string; /** * Project name. */ name: string; /** * Verified source repository connected to the project. Alien uses this for GitHub Actions setup and source-aware features; releases are still created explicitly by CI or `alien release`. */ gitRepository?: CreateProjectFromTemplateGitRepository | null | undefined; /** * The name of a directory or relative path to the source code of your project. When null is used it will default to the project root */ rootDirectory?: string | null | undefined; /** * Customer-facing deployment portal appearance settings. */ deploymentPortalAppearance?: | CreateProjectFromTemplateDeploymentPortalAppearance | null | undefined; /** * Configuration for embedded packages (CLI, CloudFormation, Helm, Terraform) */ packagesConfig?: | CreateProjectFromTemplatePackagesConfigResponse | null | undefined; /** * Selected domain for this project (null = default system domain) */ domainId?: string | null | undefined; /** * Project default private managers for new push deployments. */ defaultManagers?: CreateProjectFromTemplateDefaultManagers | null | undefined; /** * Capabilities this Project may offer through setup links. */ projectCapabilities?: | CreateProjectFromTemplateProjectCapabilities | null | undefined; createdAt: Date; /** * Unique identifier for the workspace. */ workspaceId: string; githubSetup?: CreateProjectFromTemplateGithubSetup | undefined; gitRepositoryWarning?: models.APIError | undefined; template: CreateProjectFromTemplateTemplate; }; /** @internal */ export const CreateProjectFromTemplateTemplatePathRequest$outboundSchema: z.ZodEnum = z.enum( CreateProjectFromTemplateTemplatePathRequest, ); /** @internal */ export const CreateProjectFromTemplateBinaryTargetRequest$outboundSchema: z.ZodEnum = z.enum( CreateProjectFromTemplateBinaryTargetRequest, ); /** @internal */ export type CreateProjectFromTemplateCliRequest$Outbound = { binaryTargets?: Array | undefined; displayName: string; name: string; enabled: boolean; }; /** @internal */ export const CreateProjectFromTemplateCliRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateCliRequest$Outbound, CreateProjectFromTemplateCliRequest > = z.object({ binaryTargets: z.array( CreateProjectFromTemplateBinaryTargetRequest$outboundSchema, ).optional(), displayName: z.string(), name: z.string(), enabled: z.boolean(), }); export function createProjectFromTemplateCliRequestToJSON( createProjectFromTemplateCliRequest: CreateProjectFromTemplateCliRequest, ): string { return JSON.stringify( CreateProjectFromTemplateCliRequest$outboundSchema.parse( createProjectFromTemplateCliRequest, ), ); } /** @internal */ export type CreateProjectFromTemplateCloudformationRequest$Outbound = { enabled: boolean; displayName?: string | null | undefined; }; /** @internal */ export const CreateProjectFromTemplateCloudformationRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateCloudformationRequest$Outbound, CreateProjectFromTemplateCloudformationRequest > = z.object({ enabled: z.boolean(), displayName: z.nullable(z.string()).optional(), }); export function createProjectFromTemplateCloudformationRequestToJSON( createProjectFromTemplateCloudformationRequest: CreateProjectFromTemplateCloudformationRequest, ): string { return JSON.stringify( CreateProjectFromTemplateCloudformationRequest$outboundSchema.parse( createProjectFromTemplateCloudformationRequest, ), ); } /** @internal */ export type CreateProjectFromTemplateOperatorImageRequest$Outbound = { brand?: string | null | undefined; displayName: string; envPrefix?: string | null | undefined; labelDomain?: string | null | undefined; name: string; enabled: boolean; }; /** @internal */ export const CreateProjectFromTemplateOperatorImageRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateOperatorImageRequest$Outbound, CreateProjectFromTemplateOperatorImageRequest > = z.object({ brand: z.nullable(z.string()).optional(), displayName: z.string(), envPrefix: z.nullable(z.string()).optional(), labelDomain: z.nullable(z.string()).optional(), name: z.string(), enabled: z.boolean(), }); export function createProjectFromTemplateOperatorImageRequestToJSON( createProjectFromTemplateOperatorImageRequest: CreateProjectFromTemplateOperatorImageRequest, ): string { return JSON.stringify( CreateProjectFromTemplateOperatorImageRequest$outboundSchema.parse( createProjectFromTemplateOperatorImageRequest, ), ); } /** @internal */ export type CreateProjectFromTemplateHelmRequest$Outbound = { chartName: string; description: string; enabled: boolean; }; /** @internal */ export const CreateProjectFromTemplateHelmRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateHelmRequest$Outbound, CreateProjectFromTemplateHelmRequest > = z.object({ chartName: z.string(), description: z.string(), enabled: z.boolean(), }); export function createProjectFromTemplateHelmRequestToJSON( createProjectFromTemplateHelmRequest: CreateProjectFromTemplateHelmRequest, ): string { return JSON.stringify( CreateProjectFromTemplateHelmRequest$outboundSchema.parse( createProjectFromTemplateHelmRequest, ), ); } /** @internal */ export type CreateProjectFromTemplateTerraformRequest$Outbound = { enabled: boolean; displayName?: string | null | undefined; }; /** @internal */ export const CreateProjectFromTemplateTerraformRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateTerraformRequest$Outbound, CreateProjectFromTemplateTerraformRequest > = z.object({ enabled: z.boolean(), displayName: z.nullable(z.string()).optional(), }); export function createProjectFromTemplateTerraformRequestToJSON( createProjectFromTemplateTerraformRequest: CreateProjectFromTemplateTerraformRequest, ): string { return JSON.stringify( CreateProjectFromTemplateTerraformRequest$outboundSchema.parse( createProjectFromTemplateTerraformRequest, ), ); } /** @internal */ export type CreateProjectFromTemplatePackagesConfigRequest$Outbound = { cli?: CreateProjectFromTemplateCliRequest$Outbound | null | undefined; cloudformation?: | CreateProjectFromTemplateCloudformationRequest$Outbound | null | undefined; operatorImage?: | CreateProjectFromTemplateOperatorImageRequest$Outbound | null | undefined; helm?: CreateProjectFromTemplateHelmRequest$Outbound | null | undefined; terraform?: | CreateProjectFromTemplateTerraformRequest$Outbound | null | undefined; }; /** @internal */ export const CreateProjectFromTemplatePackagesConfigRequest$outboundSchema: z.ZodType< CreateProjectFromTemplatePackagesConfigRequest$Outbound, CreateProjectFromTemplatePackagesConfigRequest > = z.object({ cli: z.nullable( z.lazy(() => CreateProjectFromTemplateCliRequest$outboundSchema), ).optional(), cloudformation: z.nullable( z.lazy(() => CreateProjectFromTemplateCloudformationRequest$outboundSchema ), ).optional(), operatorImage: z.nullable( z.lazy(() => CreateProjectFromTemplateOperatorImageRequest$outboundSchema ), ).optional(), helm: z.nullable( z.lazy(() => CreateProjectFromTemplateHelmRequest$outboundSchema), ).optional(), terraform: z.nullable( z.lazy(() => CreateProjectFromTemplateTerraformRequest$outboundSchema), ).optional(), }); export function createProjectFromTemplatePackagesConfigRequestToJSON( createProjectFromTemplatePackagesConfigRequest: CreateProjectFromTemplatePackagesConfigRequest, ): string { return JSON.stringify( CreateProjectFromTemplatePackagesConfigRequest$outboundSchema.parse( createProjectFromTemplatePackagesConfigRequest, ), ); } /** @internal */ export type CreateProjectFromTemplateRequest$Outbound = { name: string; targetNamespace: string; templatePath: string; rootDirectory?: string | null | undefined; packagesConfig?: | CreateProjectFromTemplatePackagesConfigRequest$Outbound | null | undefined; }; /** @internal */ export const CreateProjectFromTemplateRequest$outboundSchema: z.ZodType< CreateProjectFromTemplateRequest$Outbound, CreateProjectFromTemplateRequest > = z.object({ name: z.string(), targetNamespace: z.string(), templatePath: CreateProjectFromTemplateTemplatePathRequest$outboundSchema, rootDirectory: z.nullable(z.string()).optional(), packagesConfig: z.nullable( z.lazy(() => CreateProjectFromTemplatePackagesConfigRequest$outboundSchema), ).optional(), }); export function createProjectFromTemplateRequestToJSON( createProjectFromTemplateRequest: CreateProjectFromTemplateRequest, ): string { return JSON.stringify( CreateProjectFromTemplateRequest$outboundSchema.parse( createProjectFromTemplateRequest, ), ); } /** @internal */ export const CreateProjectFromTemplateType$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateType > = z.enum(CreateProjectFromTemplateType); /** @internal */ export const CreateProjectFromTemplateGitRepository$inboundSchema: z.ZodType< CreateProjectFromTemplateGitRepository, unknown > = z.object({ type: CreateProjectFromTemplateType$inboundSchema, repo: z.string(), }); export function createProjectFromTemplateGitRepositoryFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateGitRepository$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateGitRepository' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateDeploymentPortalAppearance$inboundSchema: z.ZodType = z .object({ avatarUrl: z.nullable(z.string()).optional(), preset: models.DeploymentPortalAppearancePreset$inboundSchema.default( "clean", ), accentColor: models.DeploymentPortalAccentColor$inboundSchema.default( "blue", ), title: z.nullable(z.string()).optional(), subtitle: z.nullable(z.string()).optional(), supportUrl: z.nullable(z.string()).optional(), docsUrl: z.nullable(z.string()).optional(), density: models.DeploymentPortalDensity$inboundSchema.default( "comfortable", ), }); export function createProjectFromTemplateDeploymentPortalAppearanceFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateDeploymentPortalAppearance, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateDeploymentPortalAppearance$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateDeploymentPortalAppearance' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateBinaryTargetResponse$inboundSchema: z.ZodEnum = z.enum( CreateProjectFromTemplateBinaryTargetResponse, ); /** @internal */ export const CreateProjectFromTemplateCliResponse$inboundSchema: z.ZodType< CreateProjectFromTemplateCliResponse, unknown > = z.object({ binaryTargets: z.array( CreateProjectFromTemplateBinaryTargetResponse$inboundSchema, ).optional(), displayName: z.string(), name: z.string(), enabled: z.boolean(), }); export function createProjectFromTemplateCliResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateCliResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateCliResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateCloudformationResponse$inboundSchema: z.ZodType = z .object({ enabled: z.boolean(), displayName: z.nullable(z.string()).optional(), }); export function createProjectFromTemplateCloudformationResponseFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateCloudformationResponse, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateCloudformationResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateCloudformationResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateOperatorImageResponse$inboundSchema: z.ZodType = z.object( { brand: z.nullable(z.string()).optional(), displayName: z.string(), envPrefix: z.nullable(z.string()).optional(), labelDomain: z.nullable(z.string()).optional(), name: z.string(), enabled: z.boolean(), }, ); export function createProjectFromTemplateOperatorImageResponseFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateOperatorImageResponse, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateOperatorImageResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateOperatorImageResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateHelmResponse$inboundSchema: z.ZodType< CreateProjectFromTemplateHelmResponse, unknown > = z.object({ chartName: z.string(), description: z.string(), enabled: z.boolean(), }); export function createProjectFromTemplateHelmResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateHelmResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateHelmResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateTerraformResponse$inboundSchema: z.ZodType = z.object({ enabled: z.boolean(), displayName: z.nullable(z.string()).optional(), }); export function createProjectFromTemplateTerraformResponseFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateTerraformResponse, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateTerraformResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateTerraformResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplatePackagesConfigResponse$inboundSchema: z.ZodType = z .object({ cli: z.nullable( z.lazy(() => CreateProjectFromTemplateCliResponse$inboundSchema), ).optional(), cloudformation: z.nullable( z.lazy(() => CreateProjectFromTemplateCloudformationResponse$inboundSchema ), ).optional(), operatorImage: z.nullable( z.lazy(() => CreateProjectFromTemplateOperatorImageResponse$inboundSchema ), ).optional(), helm: z.nullable( z.lazy(() => CreateProjectFromTemplateHelmResponse$inboundSchema), ).optional(), terraform: z.nullable( z.lazy(() => CreateProjectFromTemplateTerraformResponse$inboundSchema), ).optional(), }); export function createProjectFromTemplatePackagesConfigResponseFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplatePackagesConfigResponse, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplatePackagesConfigResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplatePackagesConfigResponse' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateDefaultManagers$inboundSchema: z.ZodType< CreateProjectFromTemplateDefaultManagers, unknown > = z.object({ aws: z.nullable(z.string()).optional(), gcp: z.nullable(z.string()).optional(), azure: z.nullable(z.string()).optional(), kubernetes: z.nullable(z.string()).optional(), machines: z.nullable(z.string()).optional(), local: z.nullable(z.string()).optional(), }); export function createProjectFromTemplateDefaultManagersFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateDefaultManagers, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateDefaultManagers$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateDefaultManagers' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateMethod$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateMethod > = z.enum(CreateProjectFromTemplateMethod); /** @internal */ export const CreateProjectFromTemplateDeployments$inboundSchema: z.ZodType< CreateProjectFromTemplateDeployments, unknown > = z.object({ enabled: z.boolean(), methods: z.array(CreateProjectFromTemplateMethod$inboundSchema).optional(), }); export function createProjectFromTemplateDeploymentsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateDeployments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateDeployments' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateKeys$inboundSchema: z.ZodType< CreateProjectFromTemplateKeys, unknown > = z.object({ enabled: z.boolean(), applicationEncryption: z.boolean(), }); export function createProjectFromTemplateKeysFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateKeys$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateKeys' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateAllowedProvider$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateAllowedProvider > = z.enum(CreateProjectFromTemplateAllowedProvider); /** @internal */ export const CreateProjectFromTemplateClientApi$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateClientApi > = z.enum(CreateProjectFromTemplateClientApi); /** @internal */ export const CreateProjectFromTemplateRequirement$inboundSchema: z.ZodType< CreateProjectFromTemplateRequirement, unknown > = z.object({ publicModelId: z.string(), clientApis: z.array(CreateProjectFromTemplateClientApi$inboundSchema), required: z.boolean(), }); export function createProjectFromTemplateRequirementFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateRequirement$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateRequirement' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateModels$inboundSchema: z.ZodType< CreateProjectFromTemplateModels, unknown > = z.object({ enabled: z.boolean(), allowedProviders: z.array( CreateProjectFromTemplateAllowedProvider$inboundSchema, ), requirements: z.array( z.lazy(() => CreateProjectFromTemplateRequirement$inboundSchema), ), }); export function createProjectFromTemplateModelsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateModels$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateModels' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateAccess$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateAccess > = z.enum(CreateProjectFromTemplateAccess); /** @internal */ export const CreateProjectFromTemplateBuckets$inboundSchema: z.ZodType< CreateProjectFromTemplateBuckets, unknown > = z.object({ enabled: z.boolean(), access: CreateProjectFromTemplateAccess$inboundSchema, }); export function createProjectFromTemplateBucketsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateBuckets$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateBuckets' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateCredentialPolicy$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateCredentialPolicy > = z.enum(CreateProjectFromTemplateCredentialPolicy); /** @internal */ export const CreateProjectFromTemplateRegistry$inboundSchema: z.ZodType< CreateProjectFromTemplateRegistry, unknown > = z.object({ enabled: z.boolean(), repositories: z.array(z.string()), credentialPolicy: CreateProjectFromTemplateCredentialPolicy$inboundSchema, }); export function createProjectFromTemplateRegistryFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateRegistry$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateRegistry' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateAzure$inboundSchema: z.ZodType< CreateProjectFromTemplateAzure, unknown > = z.object({ catalogImage: z.string(), idleSuspendSeconds: z.int(), }); export function createProjectFromTemplateAzureFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateAzure$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateAzure' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateRemoteSandbox$inboundSchema: z.ZodType< CreateProjectFromTemplateRemoteSandbox, unknown > = z.object({ enabled: z.boolean(), baseImage: z.string().optional(), azure: z.lazy(() => CreateProjectFromTemplateAzure$inboundSchema).optional(), maxLifetimeSeconds: z.int().optional(), }); export function createProjectFromTemplateRemoteSandboxFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateRemoteSandbox$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateRemoteSandbox' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateCapabilities$inboundSchema: z.ZodType< CreateProjectFromTemplateCapabilities, unknown > = z.object({ deployments: z.lazy(() => CreateProjectFromTemplateDeployments$inboundSchema) .optional(), keys: z.lazy(() => CreateProjectFromTemplateKeys$inboundSchema).optional(), models: z.lazy(() => CreateProjectFromTemplateModels$inboundSchema) .optional(), buckets: z.lazy(() => CreateProjectFromTemplateBuckets$inboundSchema) .optional(), registry: z.lazy(() => CreateProjectFromTemplateRegistry$inboundSchema) .optional(), remoteSandbox: z.lazy(() => CreateProjectFromTemplateRemoteSandbox$inboundSchema ).optional(), }); export function createProjectFromTemplateCapabilitiesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateCapabilities$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateCapabilities' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateProjectCapabilities$inboundSchema: z.ZodType = z.object({ schemaVersion: z.number(), capabilities: z.lazy(() => CreateProjectFromTemplateCapabilities$inboundSchema ), }); export function createProjectFromTemplateProjectCapabilitiesFromJSON( jsonString: string, ): SafeParseResult< CreateProjectFromTemplateProjectCapabilities, SDKValidationError > { return safeParse( jsonString, (x) => CreateProjectFromTemplateProjectCapabilities$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateProjectFromTemplateProjectCapabilities' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateGithubSetup$inboundSchema: z.ZodType< CreateProjectFromTemplateGithubSetup, unknown > = z.object({ pullRequestUrl: z.string(), workflowUrl: z.string(), }); export function createProjectFromTemplateGithubSetupFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateGithubSetup$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateGithubSetup' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateSourceRepository$inboundSchema: z.ZodEnum< typeof CreateProjectFromTemplateSourceRepository > = z.enum(CreateProjectFromTemplateSourceRepository); /** @internal */ export const CreateProjectFromTemplateTemplatePathResponse$inboundSchema: z.ZodEnum = z.enum( CreateProjectFromTemplateTemplatePathResponse, ); /** @internal */ export const CreateProjectFromTemplateTemplate$inboundSchema: z.ZodType< CreateProjectFromTemplateTemplate, unknown > = z.object({ sourceRepository: CreateProjectFromTemplateSourceRepository$inboundSchema, forkRepository: z.string(), templatePath: CreateProjectFromTemplateTemplatePathResponse$inboundSchema, resolvedRootDirectory: z.string(), }); export function createProjectFromTemplateTemplateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateTemplate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateTemplate' from JSON`, ); } /** @internal */ export const CreateProjectFromTemplateResponse$inboundSchema: z.ZodType< CreateProjectFromTemplateResponse, unknown > = z.object({ id: z.string(), name: z.string(), gitRepository: z.nullable( z.lazy(() => CreateProjectFromTemplateGitRepository$inboundSchema), ).optional(), rootDirectory: z.nullable(z.string()).optional(), deploymentPortalAppearance: z.nullable( z.lazy(() => CreateProjectFromTemplateDeploymentPortalAppearance$inboundSchema ), ).optional(), packagesConfig: z.nullable( z.lazy(() => CreateProjectFromTemplatePackagesConfigResponse$inboundSchema), ).optional(), domainId: z.nullable(z.string()).optional(), defaultManagers: z.nullable( z.lazy(() => CreateProjectFromTemplateDefaultManagers$inboundSchema), ).optional(), projectCapabilities: z.nullable( z.lazy(() => CreateProjectFromTemplateProjectCapabilities$inboundSchema), ).optional(), createdAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), workspaceId: z.string(), githubSetup: z.lazy(() => CreateProjectFromTemplateGithubSetup$inboundSchema) .optional(), gitRepositoryWarning: models.APIError$inboundSchema.optional(), template: z.lazy(() => CreateProjectFromTemplateTemplate$inboundSchema), }); export function createProjectFromTemplateResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateProjectFromTemplateResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectFromTemplateResponse' from JSON`, ); }