Seqera Labs compute-envs API

Compute environments

OpenAPI Specification

seqera-labs-compute-envs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  contact:
    email: info@seqera.io
    url: https://seqera.io
  description: Seqera Platform services API
  title: Seqera actions compute-envs API
  version: 1.181.0
tags:
- description: Compute environments
  name: compute-envs
paths:
  /compute-envs:
    get:
      description: Lists all available compute environments in a user context. Append `?workspaceId` to list compute environments in a workspace context, and `?status` to filter by compute environment status.
      operationId: ListComputeEnvs
      parameters:
      - description: Compute environment status
        in: query
        name: status
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      - description: 'Additional attribute values to include in the response (`labels`, `resources`). Returns an empty value (ex. `labels: null`) if omitted.'
        explode: false
        in: query
        name: attributes
        schema:
          items:
            $ref: '#/components/schemas/ComputeEnvQueryAttribute'
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListComputeEnvsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: List compute environments
      tags:
      - compute-envs
    post:
      description: Creates a new compute environment. Append `?workspaceId` to create the environment in a workspace context.
      operationId: CreateComputeEnv
      parameters:
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateComputeEnvRequest'
        description: Compute environment create request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputeEnvResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: Create compute environment
      tags:
      - compute-envs
  /compute-envs/validate:
    get:
      description: Confirms the validity of the given compute environment name in a user context. Append `?name=<your_ce_name>`.
      operationId: ValidateComputeEnvName
      parameters:
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      - description: Compute environment name to validate
        in: query
        name: name
        schema:
          type: string
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Duplicate element
      security:
      - BearerAuth: []
      summary: Validate compute environment name
      tags:
      - compute-envs
  /compute-envs/{computeEnvId}:
    delete:
      description: Deletes the compute environment identified by the given `computeEnvId`. When `force=true`, bypasses active-job checks and SCMS/forge cleanup; only allowed for environments in ERRORED, INVALID, or DELETING status.
      operationId: DeleteComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      - description: Force-delete a stuck compute environment, bypassing active-job checks. Only valid for environments in ERRORED, INVALID, or DELETING status.
        in: query
        name: force
        schema:
          type: boolean
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflicting deletion
      security:
      - BearerAuth: []
      summary: Delete compute environment
      tags:
      - compute-envs
    get:
      description: Retrieves the details of the compute environment identified by the given `computeEnvId`.
      operationId: DescribeComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      - description: 'Additional attribute values to include in the response (`labels`). Returns an empty value (`labels: null`) if omitted.'
        in: query
        name: attributes
        schema:
          items:
            $ref: '#/components/schemas/ComputeEnvQueryAttribute'
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeComputeEnvResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: Describe compute environment
      tags:
      - compute-envs
    put:
      description: Updates the details of the compute environment identified by the given `computeEnvId`.
      operationId: UpdateComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateComputeEnvRequest'
        description: Compute environment update request
        required: true
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Duplicate element
      security:
      - BearerAuth: []
      summary: Update compute environment
      tags:
      - compute-envs
  /compute-envs/{computeEnvId}/disable:
    post:
      description: Disables the compute environment identified by the given `computeEnvId`. A disabled compute environment cannot be used to launch workflows. If the compute environment is primary, it will be automatically unset as primary.
      operationId: DisableComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyBodyRequest'
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: Disable compute environment
      tags:
      - compute-envs
  /compute-envs/{computeEnvId}/enable:
    post:
      description: Enables the compute environment identified by the given `computeEnvId`. An enabled compute environment can be used to launch workflows.
      operationId: EnableComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyBodyRequest'
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: Enable compute environment
      tags:
      - compute-envs
  /compute-envs/{computeEnvId}/primary:
    post:
      description: Selects the compute environment identified by the given `computeEnvId` as the primary compute environment in the given workspace context.
      operationId: UpdateComputeEnvPrimary
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyBodyRequest'
      responses:
        '204':
          description: OK - No content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '403':
          description: Operation not allowed
      security:
      - BearerAuth: []
      summary: Define primary compute environment
      tags:
      - compute-envs
  /compute-envs/{computeEnvId}/validate:
    post:
      description: Re-runs the pre-flight checks (associated-credential validation and work-directory accessibility) for the compute environment identified by the given `computeEnvId` and persists the outcome to the compute environment and its credential. Intended to recover a compute environment marked `INVALID` after the underlying problem has been fixed. Available only while the pre-flight feature is enabled.
      operationId: ValidateComputeEnv
      parameters:
      - description: Compute environment string identifier
        in: path
        name: computeEnvId
        required: true
        schema:
          type: string
      - description: Workspace numeric identifier
        in: query
        name: workspaceId
        schema:
          format: int64
          type: integer
      - description: When true, skip the credential and work-dir checks and force the compute environment (INVALID only, with an AVAILABLE credential) to AVAILABLE. Rejected with 409 otherwise.
        in: query
        name: force
        required: false
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyBodyRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateComputeEnvResponse'
          description: Validation outcome - inspect status and the transientError flag on the response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Compute environment is in a status that cannot be validated
        '403':
          description: Operation not allowed
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Compute environment not found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Pre-flight feature is disabled
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Force override rejected because the compute environment or its associated credential is not in a compatible state
      security:
      - BearerAuth: []
      summary: Validate a compute environment
      tags:
      - compute-envs
components:
  schemas:
    ComputeEnv.Status:
      enum:
      - CREATING
      - AVAILABLE
      - DISABLED
      - DELETING
      - ERRORED
      - INVALID
      - DELETED
      type: string
    AltairPbsComputeConfig:
      allOf:
      - $ref: '#/components/schemas/AbstractGridConfig'
      title: Altair PBS configuration
      type: object
    AzBatchConfig:
      allOf:
      - $ref: '#/components/schemas/ComputeConfig'
      - properties:
          autoPoolMode:
            deprecated: true
            type: boolean
          deleteJobsOnCompletion:
            allOf:
            - $ref: '#/components/schemas/JobCleanupPolicy'
            nullable: true
            readOnly: true
          deleteJobsOnCompletionEnabled:
            nullable: true
            type: boolean
          deletePoolsOnCompletion:
            type: boolean
          deleteTasksOnCompletion:
            nullable: true
            type: boolean
          forge:
            $ref: '#/components/schemas/AzBatchForgeConfig'
          fusion2Enabled:
            type: boolean
          headJobCpus:
            description: Number of CPU slots reserved on the head pool VM for the Nextflow head job. Defaults to 1 so multiple head jobs can share a head pool VM; increase to dedicate more CPU and memory to each head job.
            example: 1
            format: int32
            nullable: true
            type: integer
          headJobMemoryMb:
            description: Memory in MiB reserved for the Nextflow head job container. When omitted, the value is derived from the head pool VM size as the per-slot share (vmMemory / vmCpus) multiplied by the requested slot count.
            example: 4096
            format: int32
            nullable: true
            type: integer
          headPool:
            type: string
          jobMaxWallClockTime:
            description: 'Maximum wall clock time for Azure Batch jobs before automatic termination. Accepts human-readable duration syntax (e.g., ''7d'', ''1d1h1m''). Defaults to 7d when not specified. Maximum: 180 days.'
            example: 7d
            nullable: true
            type: string
          managedIdentityClientId:
            nullable: true
            type: string
          managedIdentityHeadResourceId:
            nullable: true
            type: string
          managedIdentityPoolClientId:
            nullable: true
            type: string
          managedIdentityPoolResourceId:
            nullable: true
            type: string
          region:
            type: string
          subnetId:
            description: Azure VNet subnet resource ID for private network isolation. Requires Entra (service principal) credentials.
            example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet
            nullable: true
            type: string
          terminateJobsOnCompletion:
            nullable: true
            type: boolean
          tokenDuration:
            type: string
          waveEnabled:
            type: boolean
          workerPool:
            type: string
        type: object
      title: Azure Batch configuration
      type: object
    Map.Entry_String.String_:
      properties:
        key:
          type: string
        value:
          type: string
      type: object
    ForgeConfig:
      properties:
        allocStrategy:
          enum:
          - BEST_FIT
          - BEST_FIT_PROGRESSIVE
          - SPOT_CAPACITY_OPTIMIZED
          - SPOT_PRICE_CAPACITY_OPTIMIZED
          type: string
        allowBuckets:
          items:
            type: string
          type: array
        arm64Enabled:
          type: boolean
        bidPercentage:
          format: int32
          type: integer
        disposeOnDeletion:
          type: boolean
        dragenAmiId:
          type: string
        dragenEnabled:
          type: boolean
        dragenInstanceType:
          type: string
        ebsAutoScale:
          type: boolean
        ebsBlockSize:
          format: int32
          type: integer
        ebsBootSize:
          format: int32
          type: integer
        ec2KeyPair:
          type: string
        ecsConfig:
          type: string
        efsCreate:
          type: boolean
        efsId:
          type: string
        efsMount:
          type: string
        fargateHeadEnabled:
          type: boolean
        fsxMount:
          type: string
        fsxName:
          type: string
        fsxSize:
          format: int32
          type: integer
        fusionEnabled:
          type: boolean
        gpuEnabled:
          type: boolean
        imageId:
          type: string
        instanceTypes:
          items:
            type: string
          type: array
        maxCpus:
          format: int32
          type: integer
        minCpus:
          format: int32
          type: integer
        securityGroups:
          items:
            type: string
          type: array
        subnets:
          items:
            type: string
          type: array
        type:
          enum:
          - SPOT
          - EC2
          type: string
        vpcId:
          type: string
      type: object
    ValidateComputeEnvResponse:
      properties:
        message:
          description: 'Human-readable explanation of the outcome: the failure reason when the compute environment is INVALID, the provider-unreachable reason on a transient outcome, or null when the compute environment is AVAILABLE.'
          nullable: true
          type: string
        status:
          allOf:
          - $ref: '#/components/schemas/ComputeEnv.Status'
          description: 'The compute environment status after the run: AVAILABLE when every applicable check passed, INVALID when a check failed. On a transient outcome this is the unchanged prior status.'
        transientError:
          description: True when a provider could not be reached (timeout / throttle / 5xx). The persisted status is left unchanged; retry later.
          type: boolean
      type: object
    LabelDbDto:
      properties:
        dateCreated:
          format: date-time
          type: string
        id:
          format: int64
          type: integer
        isDefault:
          type: boolean
        isDynamic:
          type: boolean
        isInterpolated:
          type: boolean
        name:
          type: string
        resource:
          type: boolean
        value:
          type: string
      type: object
    ListComputeEnvsResponse.Entry:
      properties:
        credentialsId:
          type: string
        description:
          nullable: true
          type: string
        fusion2Enabled:
          nullable: true
          type: boolean
        id:
          type: string
        labels:
          items:
            $ref: '#/components/schemas/LabelDbDto'
          nullable: true
          type: array
        lastUsed:
          format: date-time
          type: string
        message:
          type: string
        name:
          type: string
        platform:
          type: string
        primary:
          type: boolean
        region:
          type: string
        resources:
          allOf:
          - $ref: '#/components/schemas/ComputeEnvResources'
          nullable: true
        schedEnabled:
          nullable: true
          type: boolean
        status:
          $ref: '#/components/schemas/ComputeEnv.Status'
        visibility:
          type: string
        waveEnabled:
          nullable: true
          type: boolean
        workDir:
          type: string
        workspaceName:
          type: string
      type: object
    LocalComputeConfig:
      allOf:
      - $ref: '#/components/schemas/ComputeConfig'
      - properties:
          fusion2Enabled:
            type: boolean
          schedConfig:
            $ref: '#/components/schemas/SchedConfig'
          schedEnabled:
            type: boolean
          waveEnabled:
            type: boolean
        type: object
      title: Local execution configuration
      type: object
    ConfigEnvVariable:
      properties:
        compute:
          type: boolean
        head:
          type: boolean
        name:
          type: string
        value:
          type: string
      type: object
    PodCleanupPolicy:
      enum:
      - on_success
      - always
      - never
      type: string
      x-enum-varnames:
      - on_success
      - always
      - never
    LsfComputeConfig:
      allOf:
      - $ref: '#/components/schemas/AbstractGridConfig'
      - properties:
          perJobMemLimit:
            type: boolean
          perTaskReserve:
            type: boolean
          unitForLimits:
            type: string
        type: object
      title: IBM LSF configuration
      type: object
    EksComputeConfig:
      allOf:
      - $ref: '#/components/schemas/K8sComputeConfig'
      - properties:
          clusterName:
            description: The AWS EKS cluster name
            type: string
          fusion2Enabled:
            type: boolean
          region:
            description: AWS region
            type: string
          waveEnabled:
            type: boolean
        type: object
      title: Amazon EKS cluster configuration
      type: object
    SeqeraComputeCloudInstanceTypeSize:
      enum:
      - SMALL
      - MEDIUM
      - LARGE
      type: string
    ComputeEnvResources:
      properties:
        cpus:
          format: int32
          nullable: true
          type: integer
        diskSize:
          format: int32
          nullable: true
          type: integer
        estimatedPrice:
          format: float
          nullable: true
          type: number
        gpuEnabled:
          nullable: true
          type: boolean
        gpus:
          format: int32
          nullable: true
          type: integer
        instanceType:
          nullable: true
          type: string
        memory:
          format: int32
          nullable: true
          type: integer
      type: object
    SchedConfig:
      properties:
        backendStrategy:
          description: Backend used by Intelligent Compute to run tasks. 'ECS' (AWS only, default) delegates task execution to AWS ECS; 'EC2' (AWS only) runs tasks directly on AWS EC2 instances; 'VM' runs tasks on cloud VMs (provider-agnostic).
          enum:
          - ECS
          - EC2
          - VM
          type: string
        diskAllocation:
          type: string
        fusionSnapshots:
          description: Enable Fusion snapshots so interrupted (e.g. spot-reclaimed) tasks can resume from a snapshot instead of restarting from scratch.
          type: boolean
        machineTypes:
          description: EC2 instance types for compute nodes. Leave empty to automatically select the most cost-effective types for each task.
          items:
            type: string
          type: array
        nvmeEnabled:
          description: When true, only use instance types providing local SSD (NVMe) storage. Maps to diskAllocation='nvme'.
          type: boolean
        pool:
          allOf:
          - $ref: '#/components/schemas/SchedConfig.Pool'
          description: Warm-pool configuration. When present and enabled, the scheduler maintains a pool of idle VMs ready to absorb incoming tasks with sub-5s start latency.
        predictionModel:
          description: 'Resource-prediction model used by Intelligent Compute to size tasks. Suggested values: ''none'' (default), ''qr/v1'', ''qr/v2''. Any other string is accepted.'
          type: string
        provisioningModel:
          enum:
          - spot
          - spotFirst
          - ondemand
          type: string
      type: object
    CreateComputeEnvRequest:
      properties:
        computeEnv:
          $ref: '#/components/schemas/ComputeEnv_ComputeConfig_'
        labelIds:
          items:
            format: int64
            type: integer
          type: array
      type: object
    ErrorResponse:
      properties:
        message:
          type: string
      required:
      - message
      type: object
    ListComputeEnvsResponse:
      properties:
        computeEnvs:
          items:
            $ref: '#/components/schemas/ListComputeEnvsResponse.Entry'
          type: array
      type: object
    CreateComputeEnvResponse:
      properties:
        computeEnvId:
          type: string
      type: object
    GkeComputeConfig:
      allOf:
      - $ref: '#/components/schemas/K8sComputeConfig'
      - properties:
          clusterName:
            description: The GKE cluster name
            type: string
          fusion2Enabled:
            type: boolean
          region:
            description: The GKE cluster region - or - zone
            type: string
          waveEnabled:
            type: boolean
        type: object
      title: Google GKE cluster configuration
      type: object
    GoogleBatchConfig:
      allOf:
      - $ref: '#/components/schemas/ComputeConfig'
      - properties:
          bootDiskImage:
            type: string
          bootDiskSizeGb:
            format: int32
            type: integer
          computeJobsInstanceTemplate:
            type: string
          computeJobsMachineType:
            items:
              type: string
            type: array
          copyImage:
            type: string
          cpuPlatform:
            type: string
          debugMode:
            format: int32
            type: integer
          fusion2Enabled:
            type: boolean
          fusionSnapshots:
            type: boolean
          headJobCpus:
            format: int32
            type: integer
          headJobInstanceTemplate:
            type: string
          headJobMemoryMb:
            format: int32
            type: integer
          labels:
            additionalProperties:
              type: string
            type: object
          location:
            type: string
          machineType:
            type: string
          network:
            type: string
          networkTags:
            items:
              type: string
            type: array
          nfsMount:
            type: string
          nfsTarget:
            type: string
          projectId:
            type: string
          serviceAccount:
            type: string
          spot:
            type: boolean
          sshDaemon:
            type: boolean
          sshImage:
            type: string
          subnetwork:
            type: string
          usePrivateAddress:
            type: boolean
          waveEnabled:
            type: boolean
        type: object
      title: Google Batch service configuration
      type: object
    AzBatchPoolConfig:
      description: Azure Batch pool configuration for head or worker pool
      properties:
        autoScale:
          type: boolean
        bootDiskSizeGB:
          description: Boot disk size in GB for this pool's nodes. Overrides the forge-level bootDiskSizeGB. When omitted, falls back to the forge-level value or Azure's default.
          example: 100
          format: int32
          maximum: 4095
          minimum: 50
          nullable: true
          type: integer
        vmCount:
          format: int32
          type: integer
        vmType:
          type: string
      type: object
    EmptyBodyRequest:
      type: object
    ComputeConfig:
      discriminator:
        mapping:
          altair-platform: '#/components/schemas/AltairPbsComputeConfig'
          aws-batch: '#/components/schemas/AwsBatchConfig'
          aws-cloud: '#/components/schemas/AwsCloudConfig'
          azure-batch: '#/components/schemas/AzBatchConfig'
          azure-cloud: '#/components/schemas/AzCloudConfig'
          eks-platform: '#/components/schemas/EksComputeConfig'
          gke-platform: '#/components/schemas/GkeComputeConfig'
          google-batch: '#/components/schemas/GoogleBatchConfig'
          google-cloud: '#/components/schemas/GoogleCloudConfig'
          google-lifesciences: '#/components/schemas/GoogleLifeSciencesConfig'
          k8s-platform: '#/components/schemas/K8sComputeConfig'
          local-platform: '#/components/schemas/LocalComputeConfig'
          lsf-platform: '#/components/schemas/LsfComputeConfig'
          moab-platform: '#/components/schemas/MoabComputeConfig'
          seqeracompute-platform: '#/components/schemas/SeqeraComputeConfig'
          slurm-platform: '#/components/schemas/SlurmComputeConfig'
          uge-platform: '#/components/schemas/UnivaComputeConfig'
        propertyName: discriminator
      oneOf:
      - $ref: '#/components/schemas/AwsBatchConfig'
      - $ref: '#/components/schemas/AwsCloudConfig'
      - $ref: '#/components/schemas/SeqeraComputeConfig'
      - $ref: '#/components/schemas/GoogleBatchConfig'
      - $ref: '#/components/schemas/GoogleCloudConfig'
      - $ref: '#/components/schemas/AzBatchConfig'
      - $ref: '#/components/schemas/AzCloudConfig'
      - $ref: '#/components/schemas/LsfComputeConfig'
      - $ref: '#/components/schemas/SlurmComputeConfig'
      - $ref: '#/components/schemas/K8sComputeConfig'
      - $ref: '#/components/schemas/EksComputeConfig'
      - $ref: '#/components/schemas/GkeComputeConfig'
      - $ref: '#/components/schemas/UnivaComputeConfig'
      - $ref: '#/components/schemas/AltairPbsComputeConfig'
      - $ref: '#/components/schemas/MoabComputeConfig'
      - $ref: '#/components/schemas/LocalComputeConfig'
      - $ref: '#/components/schemas/GoogleLifeSciencesConfig'
      properties:
        discriminator:
          description: property to select the compute config platform
          type: string
        environment:
          items:
            $ref: '#/components/schemas/ConfigEnvVariable'
          type: array
        nextflowConfig:
          type: string
        postRunScript:
          description: Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts).
          type: string
        preRunScript:
          description: Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-sc

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/seqera-labs/refs/heads/main/openapi/seqera-labs-compute-envs-api-openapi.yml