openapi: 3.2.0
info:
version: latest
description: '# Introduction
The NVIDIA Run:ai Control-Plane API reference is a guide that provides an easy-to-use programming interface for adding various tasks to your application, including workload submission, resource management, and administrative operations.
NVIDIA Run:ai APIs are accessed using *bearer tokens*. To obtain a token, you need to create a **Service account** through the NVIDIA Run:ai user interface.
To create a service account, in your UI, go to Access → Service Accounts (for organization-level service accounts) or User settings → Access Keys (for user access keys), and create a new one.
After you have created a new service account, you will need to assign it access rules.
To assign access rules to the service account, see [Create access rules](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/accessrules#create-or-delete-rules).
Make sure you assign the correct rules to your service account. Use the [Roles](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/roles) to assign the correct access rules.
To get your access token, follow the instructions in [Request a token](https://run-ai-docs.nvidia.com/saas/reference/api/rest-auth/#request-an-api-token).
'
title: NVIDIA Run:ai Access Keys Workspaces API
x-logo:
url: https://api.redocly.com/registry/raw/runai-xq8/saas/latest/public/runai-logo-api.png
altText: NVIDIA Run:ai
href: https://run.ai
license:
name: NVIDIA Run:ai
url: https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/
servers:
- url: https://app.run.ai
security:
- bearerAuth: []
tags:
- name: Workspaces
description: "A Workspace is a simplified tool for researchers to conduct experiments, build AI models, access standard MLOps tools, and collaborate with their peers.\nWorkspaces abstract complex concepts related to running containerized workloads in a Kubernetes environment and are built from predefined setups that include\nnetworking, storage, secrets and other resources. All the setup and configurations for research, including container \nimages, data sets, resource requests, as well as all tools are included. for the research, in a single place. \nIt answers the research needs while ensuring infrastructure owners keep control and allocation efficiency.\nA workspace is associated with a specific NVIDIA Run:ai project and you can have multiple workspaces under a specific project. \nFor more information, see [Workspaces](https://run-ai-docs.nvidia.com/saas/workloads-in-nvidia-run-ai/using-workspaces/running-workspace).\n"
paths:
/api/v1/workloads/workspaces:
post:
summary: Create a workspace.
operationId: create_workspace1
description: Create a new workspace in a specific project in the cluster.
tags:
- Workspaces
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceCreationRequest'
responses:
'202':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace1'
'400':
$ref: '#/components/responses/400SubmissionErrorV2'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/workloads/workspaces/{workloadId}:
delete:
summary: Delete a workspace.
description: Delete a workspace using the workspace id.
operationId: delete_workspace
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/WorkloadId'
responses:
'202':
$ref: '#/components/responses/202Accepted'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
get:
summary: Get workspace data.
description: Retrieve workspace details using a workload id.
operationId: get_workspace
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/WorkloadId'
responses:
'200':
description: Executed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace1'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/workloads/workspaces/{workloadId}/suspend:
post:
summary: Suspend a workspace.
description: Suspend a workspace using the workspace id.
operationId: suspend_workspace
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/WorkloadId'
responses:
'202':
$ref: '#/components/responses/202Accepted'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/workloads/workspaces/{workloadId}/resume:
post:
summary: Resume a workspace.
description: Resume the workspace operation using the workspace id.
operationId: resume_workspace
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/WorkloadId'
responses:
'202':
$ref: '#/components/responses/202Accepted'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
components:
schemas:
PodAffinity:
description: Pod affinity scheduling rules (e.g. co-locate this workload in the same node, zone, etc. as some other workloads).
type:
- object
- 'null'
properties:
type:
$ref: '#/components/schemas/PodAffinityType'
key:
description: The label key to use. (mandatory)
type:
- string
- 'null'
pattern: .*
Capability:
type: string
enum:
- AUDIT_CONTROL
- AUDIT_READ
- AUDIT_WRITE
- BLOCK_SUSPEND
- CHOWN
- DAC_OVERRIDE
- DAC_READ_SEARCH
- FOWNER
- FSETID
- IPC_LOCK
- IPC_OWNER
- KILL
- LEASE
- LINUX_IMMUTABLE
- MAC_ADMIN
- MAC_OVERRIDE
- MKNOD
- NET_ADMIN
- NET_BIND_SERVICE
- NET_BROADCAST
- NET_RAW
- SETGID
- SETFCAP
- SETPCAP
- SETUID
- SYS_ADMIN
- SYS_BOOT
- SYS_CHROOT
- SYS_MODULE
- SYS_NICE
- SYS_PACCT
- SYS_PTRACE
- SYS_RAWIO
- SYS_RESOURCE
- SYS_TIME
- SYS_TTY_CONFIG
- SYSLOG
- WAKE_ALARM
NodeAffinityRequired:
type:
- object
- 'null'
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
properties:
nodeSelectorTerms:
description: A list of node selector terms. The terms are ORed.
type: array
items:
$ref: '#/components/schemas/NodeSelectorTerm'
WorkspaceCreationRequest:
allOf:
- $ref: '#/components/schemas/WorkloadCreationMeta'
- $ref: '#/components/schemas/SubmitWithTemplateId'
- $ref: '#/components/schemas/WorkspaceSpec'
SupplementalGroups:
description: Comma separated list of groups that the user running the container belongs to, in addition to the group indicated by runAsGid. Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled. Using an empty string implies reverting the supplementary groups of the image.
type:
- string
- 'null'
example: 2,3,5,8
pattern: .*
Tolerations:
description: Set of tolerations to apply to the workload.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Toleration'
ImagePullPolicy:
description: Image pull policy. Defaults to `Always` if `:latest` tag is specified, otherwise it is `IfNotPresent`.
type:
- string
- 'null'
minLength: 1
enum:
- Always
- Never
- IfNotPresent
UidGidSource:
description: Indicate the way to determine the user and group ids of the container. The options are a. `fromTheImage` - user and group ids are determined by the docker image that the container runs. this is the default option. b. `custom` - user and group ids can be specified in the environment asset and/or the workload creation request. c. `idpToken` - user and group IDs are automatically taken from the identity provider (IdP) token (available only in SSO-enabled installations). For more information, see [User Identity](https://docs.run.ai/latest/admin/runai-setup/config/non-root-containers/).
type:
- string
- 'null'
enum:
- fromTheImage
- fromIdpToken
- custom
TerminationGracePeriod:
description: Duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down).
format: int64
type:
- integer
- 'null'
minimum: 0
example: 20
Label:
description: Label details to be populated into the container.
properties:
name:
description: The name of the label (mandatory)
type:
- string
- 'null'
minLength: 1
maxLength: 63
example: stage
pattern: .*
value:
description: The value of the label.
type:
- string
- 'null'
example: initial-research
pattern: .*
exclude:
description: Use 'true' in case the label is defined in defaults of the policy, and you wish to exclude it from the workload.
type:
- boolean
- 'null'
example: false
type:
- object
- 'null'
ProbeHandler:
description: The action taken to determine the health of the container. (mandatory)
type:
- object
- 'null'
properties:
httpGet:
description: An action based on HTTP Get requests.
type: object
properties:
path:
description: Path to access on the HTTP server, defaults to /.
type:
- string
- 'null'
pattern: ^(\x2F[a-zA-Z0-9\-_.\x2F]*)?$
example: /
port:
description: Number of the port to access on the container.
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 65535
host:
description: Host name to connect to, defaults to the pod IP.
type:
- string
- 'null'
format: hostname
example: example.com
pattern: .*
scheme:
$ref: '#/components/schemas/ProbeHandlerScheme'
EnvironmentVariablePodFieldReference:
description: Details of the field-reference and key use to populate the environment variable
properties:
path:
description: The field path resource. (mandatory)
type:
- string
- 'null'
minLength: 1
example: metadata.name
pattern: .*
type:
- object
- 'null'
Labels:
description: Set of labels to populate into the container running the workload.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Label'
ImagePullSecrets:
description: A list of references to Kubernetes secrets in the same namespace used for pulling container images.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ImagePullSecret'
SecretFieldsNonUpdatable:
properties:
secret:
description: The name of the Secret resource. (mandatory)
type:
- string
- 'null'
minLength: 1
type:
- object
- 'null'
CpuMemoryLimit:
description: Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.
type:
- string
- 'null'
pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
example: 30M
GitInstance:
allOf:
- $ref: '#/components/schemas/StorageInstanceName'
- $ref: '#/components/schemas/GitCommon'
- $ref: '#/components/schemas/GitPassword'
- $ref: '#/components/schemas/ExcludeField'
- type:
- object
- 'null'
properties:
secretRef:
$ref: '#/components/schemas/GitSecretRef'
type:
- object
- 'null'
NfsInstance:
allOf:
- $ref: '#/components/schemas/StorageInstanceName'
- $ref: '#/components/schemas/Nfs'
- $ref: '#/components/schemas/ExcludeField'
type:
- object
- 'null'
PortServiceType:
description: The service type of the port (mandatory).
type:
- string
- 'null'
enum:
- LoadBalancer
- NodePort
- ClusterIP
EnvironmentVariableUserCredential:
description: Defines a reference to a user-created credential and a specific key within that credential whose value will populate the environment variable. User credentials can only be accessed by the user who created them.
properties:
name:
description: The name of the user credential. (mandatory)
type:
- string
- 'null'
minLength: 1
example: my_postgres_user_and_password
key:
description: The key in the user credential resource. (mandatory)
type:
- string
- 'null'
minLength: 1
example: POSTGRES_PASSWORD
type:
- object
- 'null'
HostNetwork:
description: Whether to enable host networking. Default to false.
type:
- boolean
- 'null'
example: false
Args:
description: Arguments to the command that the container running the workload executes.
type:
- string
- 'null'
minLength: 1
example: -x my-script.py
pattern: .*
Phase:
type: string
enum:
- Creating
- Initializing
- Resuming
- Pending
- Deleting
- Running
- Updating
- Stopped
- Stopping
- Degraded
- Failed
- Completed
- Terminating
- Unknown
SeccompProfileType:
description: Indicates which kind of seccomp profile will be applied to the container. The options are a. `RuntimeDefault` - the container runtime default profile should be used. b. `Unconfined` - no profile should be applied. c. `Localhost` is not yet supported by Run:ai.
type:
- string
- 'null'
enum:
- RuntimeDefault
- Unconfined
- Localhost
AutoDeletionTimeAfterPreemption:
description: Specifies the duration after which a finished workload (completed or failed) will be automatically deleted. The default is 30 days. Log retention is managed separately.
format: int64
type:
- integer
- 'null'
example: 15
EmptyDir:
properties:
path:
description: Local path within the workload to which the EmptyDir volume will be mapped. (mandatory)
type:
- string
- 'null'
minLength: 1
example: /mnt/emptydir
pattern: .*
medium:
description: The type of storage medium for the volume. Use "Memory" for memory-backed storage, or leave empty for disk-backed storage.
type:
- string
- 'null'
minLength: 1
pattern: .*
sizeLimit:
description: The total amount of local storage or memory required for the emptyDir volume. Specify using Kubernetes quantity format (e.g., 1G, 500Mi).
type:
- string
- 'null'
pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
example: 1G
type:
- object
- 'null'
ComplianceIssuesV2:
properties:
complianceIssues:
type: array
items:
type: object
required:
- details
- field
properties:
field:
type: string
example: compute.gpuDevicesRequest
details:
type: string
example: value must be no less than 3
rule:
$ref: '#/components/schemas/PolicyRuleEnum'
type:
- object
- 'null'
HostPathItems:
description: Set of host paths to use in the workload.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/HostPathInstance'
Annotations:
description: Set of annotations to populate into the container running the workload.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Annotation'
PodAffinityType:
description: The affinity type, required or preferred. (mandatory)
type:
- string
- 'null'
enum:
- Required
- Preferred
GitPassword:
properties:
passwordSecret:
description: Secret containing the credentials of the repository (needed for non public repository which requires authentication). (deprecated)
type:
- string
- 'null'
minLength: 1
example: my-password-secret
secretKeyOfUser:
description: The key to use for loading the user name from the secret. The default is `User`. (deprecated)
type:
- string
- 'null'
minLength: 1
example: User
secretKeyOfPassword:
description: The key to use for loading the password from the secret. The default is `Password`. (deprecated)
type:
- string
- 'null'
minLength: 1
example: Password
type:
- object
- 'null'
Annotation:
description: Annotation details to be populated into the container.
properties:
name:
description: The name of the annotation (mandatory)
type:
- string
- 'null'
minLength: 1
maxLength: 63
example: billing
pattern: .*
value:
description: The value of the annotation.
type:
- string
- 'null'
example: my-billing-unit
pattern: .*
exclude:
description: Use 'true' in case the annotation is defined in defaults of the policy, and you wish to exclude it from the workload.
type:
- boolean
- 'null'
default: false
example: false
type:
- object
- 'null'
AllowPrivilegeEscalation:
description: Allow the container running the workload and all launched processes to gain additional privileges after the workload starts. For more information consult the User Identity in Container guide at https://docs.run.ai/admin/runai-setup/config/non-root-containers/
type:
- boolean
- 'null'
example: false
DataVolumeInstance:
allOf:
- $ref: '#/components/schemas/DataVolume'
- $ref: '#/components/schemas/ExcludeField'
type:
- object
- 'null'
RunAsUid:
description: The user id to run the entrypoint of the container which executes the workspace. Default to the value specified in the environment asset `runAsUid` field (optional). Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled.
type:
- integer
- 'null'
format: int64
example: 500
ReadOnlyRootFileSystem:
description: If true, mounts the container's root filesystem as read-only.
type:
- boolean
- 'null'
example: false
PvcVolumeMode:
description: Default volume mode for the PVC. Choose between Filesystem (default) or Block.
type:
- string
- 'null'
enum:
- Filesystem
- Block
ConfigMapInstance:
allOf:
- $ref: '#/components/schemas/StorageInstanceName'
- $ref: '#/components/schemas/ConfigMap'
- $ref: '#/components/schemas/ExcludeField'
type:
- object
- 'null'
RelatedUrl:
description: A URL that is related to the workload. For example, a URL to an external server providing statistics or logging about the workload.
properties:
url:
description: The URL for connecting an external service related to the workload. (mandatory)
type:
- string
- 'null'
example: https://my-url.com
pattern: .*
type:
description: The type of service that the url provides. For example, wandb (Weights & Biases). (mandatory)
type:
- string
- 'null'
example: wandb
pattern: .*
name:
description: Unique name to identify the instance. primarily used for policy locked rules.
type:
- string
- 'null'
example: url-instance-a
pattern: .*
exclude:
description: Use 'true' in case the item is defined in defaults of the policy, and you wish to exclude it from the workload.
type:
- boolean
- 'null'
default: false
example: false
type:
- object
- 'null'
BackoffLimit:
description: Specifies the number of retries before marking a workload as failed (not applicable to Inference workloads). The default value is 6.
format: int64
type:
- integer
- 'null'
example: 3
NodePools:
description: A prioritized list of node pools for the scheduler to run the workload on. The scheduler will always try to use the first node pool before moving to the next one if the first is not available.
type:
- array
- 'null'
items:
type: string
pattern: .*
example:
- my-node-pool-a
- my-node-pool-b
PvcClaimSize:
description: 'Requested size for the PVC. Mandatory when existingPvc is false. Recommended sizes: TB/GB/MB/TIB/GIB/MIB'
type:
- string
- 'null'
pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
example: 1G
ExposedUrl:
description: A URL for accessing the workload.
properties:
container:
description: The port that the container running the workload exposes. (mandatory)
type:
- integer
- 'null'
format: int32
example: 8080
url:
description: The URL for connecting to the container port. If not specified, the URL will be auto-generated by the system..
type:
- string
- 'null'
pattern: .*
example: https://my-url.com
authorizationType:
$ref: '#/components/schemas/AuthorizationType'
authorizedUsers:
description: List of users or service accounts that are allowed to access the URL. Note that authorizedUsers and authorizedGroups are mutually exclusive.
type:
- array
- 'null'
items:
type: string
pattern: .*
example:
- user-a
- user-b
authorizedGroups:
description: List of groups that are allowed to access the URL. Note that authorizedUsers and authorizedGroups are mutually exclusive.
type:
- array
- 'null'
items:
type: string
pattern: .*
example:
- group-a
- group-b
toolType:
description: The tool type that runs on this container port.
type:
- string
- 'null'
example: jupyter
pattern: .*
toolName:
description: A name describing the tool that runs on this url.
type:
- string
- 'null'
example: my-pytorch
pattern: .*
name:
description: Unique name to identify the instance. primarily used for policy locked rules.
type:
- string
- 'null'
minLength: 1
example: url-instance-a
pattern: .*
exclude:
description: Use 'true' in case the instance is defined in defaults of the policy, and you wish to exclude it from the workload.
type:
- boolean
- 'null'
example: false
type:
- object
- 'null'
Ports:
description: Set of container ports that the workload exposes.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Port'
Stdin:
description: Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF
type:
- boolean
- 'null'
ConfigMapItems:
description: Set of config map volumes to use in the workload
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ConfigMapInstance'
WorkspaceSpecSpec:
allOf:
- properties:
annotations:
$ref: '#/components/schemas/Annotations'
args:
$ref: '#/components/schemas/Args'
autoDeletionTimeAfterCompletionSeconds:
$ref: '#/components/schemas/AutoDeletionTimeAfterPreemption'
backoffLimit:
$ref: '#/components/schemas/BackoffLimit'
category:
$ref: '#/components/schemas/Category'
command:
$ref: '#/components/schemas/Command'
compute:
properties:
cpuCoreLimit:
$ref: '#/components/schemas/CpuCoreLimit'
cpuCoreRequest:
$ref: '#/components/schemas/CpuCoreRequest'
cpuMemoryLimit:
$ref: '#/components/schemas/CpuMemoryLimit'
cpuMemoryRequest:
$ref: '#/components/schemas/CpuMemoryRequest'
extendedResources:
$ref: '#/components/schemas/ExtendedResources'
gpuDevicesRequest:
$ref: '#/components/schemas/GpuDevicesRequest'
gpuMemoryLimit:
$ref: '#/components/schemas/GpuMemoryLimit'
gpuMemoryRequest:
$ref: '#/components/schemas/GpuMemoryRequest'
gpuPortionLimit:
$ref: '#/components/schemas/GpuPortionLimit'
gpuPortionRequest:
$ref: '#/components/schemas/GpuPortionRequest'
gpuRequestType:
$ref: '#/components/schemas/GpuRequestType'
largeShmRequest:
$ref: '#/components/schemas/LargeShmRequest'
type:
- object
- 'null'
createHomeDir:
$ref: '#/components/schemas/CreateHomeDir'
environmentVariables:
$ref: '#/components/schemas/EnvironmentVariables'
exposedUrls:
$ref: '#/components/schemas/ExposedUrls'
image:
$ref: '#/components/schemas/Image'
imagePullPolicy:
$ref: '#/components/schemas/ImagePullPolicy'
imagePullSecrets:
$ref: '#/components/schemas/ImagePullSecrets'
labels:
$ref: '#/components/schemas/Labels'
nodeAffinityRequired:
$ref: '#/components/schemas/NodeAffinityRequired'
nodePools:
$ref: '#/components/schemas/NodePools'
nodeType:
$ref: '#/components/schemas/NodeType3'
podAffinity:
$ref: '#/components/schemas/PodAffinity'
ports:
$ref: '#/components/schemas/Ports'
preemptibility:
$ref: '#/components/schemas/Preemptibility'
priorityClass:
$ref: '#/components/schemas/PriorityClass'
probes:
$ref: '#/components/schemas/Probes'
relatedUrls:
$ref: '#/components/schemas/RelatedUrls'
restartPolicy:
$ref: '#/components/schemas/RestartPolicy'
security:
properties:
allowPrivilegeEscalation:
$ref: '#/components/schemas/AllowPrivilegeEscalation'
capabilities:
$ref: '#/components/schemas/Capabilities'
hostIpc:
$ref: '#/components/schemas/HostIpc'
hostNetwork:
$ref: '#/components/schemas/HostNetwork'
readOnlyRootFilesystem:
$ref: '#/components/schemas/ReadOnlyRootFileSystem'
runAsGid:
$ref: '#/components/schemas/RunAsGid'
runAsNonRoot:
$ref: '#/components/schemas/RunAsNonRoot'
runAsUid:
$ref: '#/components/schemas/RunAsUid'
seccompProfileType:
$ref: '#/components/schemas/SeccompProfileType'
supplementalGroups:
$ref: '#/components/schemas/SupplementalGroups'
uidGidSource:
$ref: '#/components/schemas/UidGidSource'
type:
- object
- 'null'
stdin:
$ref: '#/components/schemas/Stdin'
storage:
properties:
configMapVolume:
$ref: '#/components/schemas/ConfigMapItems'
dataVolume:
$ref: '#/components/schemas/DataVolumeItems'
emptyDirVolume:
$ref: '#/components/schemas/EmptyDirItems'
git:
$ref: '#/components/schemas/GitItems'
hostPath:
$ref: '#/components/schemas/HostPathItems'
nfs:
$ref: '#/components/schemas/NfsItems'
pvc:
$ref: '#/components/schemas/PvcItems'
s3:
$ref: '#/components/schemas/S3Items'
secretVolume:
$ref: '#/components/schemas/SecretItems1'
type:
- object
- 'null'
terminateAfterPreemption:
$ref: '#/components/schemas/TerminateAfterPreemption'
terminationGracePeriodSeconds:
$ref: '#/components/schemas/TerminationGracePeriod'
# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runai/refs/heads/main/openapi/runai-workspaces-api-openapi.yml