From 842238c98ad9fb4d1b932b2e1ac585c5a6e23418 Mon Sep 17 00:00:00 2001 From: YolanFery Date: Mon, 16 Feb 2026 10:21:47 +0100 Subject: [PATCH] feat: timeout, profile and limits --- .../graphql/graphql_client/input_types.py | 8 +++++++ openhexa/graphql/schema.generated.graphql | 21 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/openhexa/graphql/graphql_client/input_types.py b/openhexa/graphql/graphql_client/input_types.py index 1d8cb6dc..d4801055 100644 --- a/openhexa/graphql/graphql_client/input_types.py +++ b/openhexa/graphql/graphql_client/input_types.py @@ -509,6 +509,14 @@ class ResetPasswordInput(BaseModel): class ResourceCountsInput(BaseModel): + max_pipeline_timeout: Optional[int] = Field( + alias="maxPipelineTimeout", default=None + ) + notebook_profile: Optional[str] = Field(alias="notebookProfile", default=None) + pipeline_cpu_limit: Optional[str] = Field(alias="pipelineCpuLimit", default=None) + pipeline_memory_limit: Optional[str] = Field( + alias="pipelineMemoryLimit", default=None + ) pipeline_runs: int = Field(alias="pipelineRuns") users: int workspaces: int diff --git a/openhexa/graphql/schema.generated.graphql b/openhexa/graphql/schema.generated.graphql index 9f6d17b5..47c5710b 100644 --- a/openhexa/graphql/schema.generated.graphql +++ b/openhexa/graphql/schema.generated.graphql @@ -3898,6 +3898,18 @@ type ResourceCounts { """Input type for resource counts (used for subscription limits).""" input ResourceCountsInput { + """Maximum pipeline timeout in seconds.""" + maxPipelineTimeout: Int + + """JupyterHub profile to use (e.g., "trial").""" + notebookProfile: String + + """CPU limit for pipeline pods (e.g., "1").""" + pipelineCpuLimit: String + + """Memory limit for pipeline pods (e.g., "1G").""" + pipelineMemoryLimit: String + """Number of pipeline runs.""" pipelineRuns: Int! @@ -4120,6 +4132,15 @@ type Subscription { """The date when the subscription ends.""" endDate: Date! + """Whether the subscription has expired.""" + isExpired: Boolean! + + """ + Whether the subscription is in the grace period after expiration. + During the grace period, limits are not enforced but a warning is shown. + """ + isInGracePeriod: Boolean! + """Resource limits for this subscription.""" limits: ResourceCounts!