/* tslint:disable */
/* eslint-disable */
/**
 * Daytona
 * Daytona AI platform API Docs
 *
 * The version of the OpenAPI document: 1.0
 * Contact: support@daytona.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { CreateBuildInfo } from './create-build-info';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxVolume } from './sandbox-volume';

export interface CreateWorkspace {
    /**
     * The image used for the workspace
     */
    'image'?: string;
    /**
     * The user associated with the project
     */
    'user'?: string;
    /**
     * Environment variables for the workspace
     */
    'env'?: { [key: string]: string; };
    /**
     * Labels for the workspace
     */
    'labels'?: { [key: string]: string; };
    /**
     * Whether the workspace http preview is publicly accessible
     */
    'public'?: boolean;
    /**
     * The workspace class type
     */
    'class'?: CreateWorkspaceClassEnum;
    /**
     * The target (region) where the workspace will be created
     */
    'target'?: CreateWorkspaceTargetEnum;
    /**
     * CPU cores allocated to the workspace
     */
    'cpu'?: number;
    /**
     * GPU units allocated to the workspace
     */
    'gpu'?: number;
    /**
     * Memory allocated to the workspace in GB
     */
    'memory'?: number;
    /**
     * Disk space allocated to the workspace in GB
     */
    'disk'?: number;
    /**
     * Auto-stop interval in minutes (0 means disabled)
     */
    'autoStopInterval'?: number;
    /**
     * Auto-archive interval in minutes (0 means the maximum interval will be used)
     */
    'autoArchiveInterval'?: number;
    /**
     * Array of volumes to attach to the workspace
     */
    'volumes'?: Array<SandboxVolume>;
    /**
     * Build information for the workspace
     */
    'buildInfo'?: CreateBuildInfo;
}

export const CreateWorkspaceClassEnum = {
    SMALL: 'small',
    MEDIUM: 'medium',
    LARGE: 'large',
    UNKNOWN_DEFAULT_OPEN_API: '11184809',
} as const;

export type CreateWorkspaceClassEnum = typeof CreateWorkspaceClassEnum[keyof typeof CreateWorkspaceClassEnum];
export const CreateWorkspaceTargetEnum = {
    EU: 'eu',
    US: 'us',
    ASIA: 'asia',
    UNKNOWN_DEFAULT_OPEN_API: '11184809',
} as const;

export type CreateWorkspaceTargetEnum = typeof CreateWorkspaceTargetEnum[keyof typeof CreateWorkspaceTargetEnum];


