Qovery Helms API

The Helms API from Qovery — 5 operation(s) for helms.

OpenAPI Specification

qovery-helms-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery Account Info Helms API
  description: '- Qovery is the fastest way to deploy your full-stack apps on any Cloud provider.

    - ℹ️ The API is stable and still in development.

    '
  contact:
    name: Qovery Product Team
    url: https://www.qovery.com
    email: support+api+documentation@qovery.com
  x-logo:
    url: https://console.qovery.com/assets/logos/logo-white.svg
    altText: Qovery
servers:
- url: https://api.qovery.com
security:
- bearerAuth: []
- ApiKeyAuth: []
tags:
- name: Helms
paths:
  /defaultHelmAdvancedSettings:
    get:
      summary: List default helm advanced settings
      operationId: getDefaultHelmAdvancedSettings
      tags:
      - Helms
      responses:
        '200':
          description: Default helm advanced settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmAdvancedSettings'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
  /environment/{environmentId}/helm:
    get:
      summary: List helms
      operationId: listHelms
      parameters:
      - $ref: '#/components/parameters/environmentId'
      - $ref: '#/paths/~1environment~1%7BenvironmentId%7D~1job/get/parameters/1'
      tags:
      - Helms
      responses:
        '200':
          description: List helms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    post:
      summary: Create a helm
      operationId: createHelm
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Helms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmRequest'
      responses:
        '201':
          description: Create helm
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Helm name within the environment is already taken
  /environment/{environmentId}/helmDefaultValues:
    post:
      summary: Get helm default values
      operationId: createHelmDefaultValues
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Helms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmDefaultValuesRequest'
      responses:
        '201':
          description: helm values
          content:
            text/plain:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /environment/{environmentId}/helm/status:
    get:
      summary: List all environment helm statuses
      description: Returns a list of helms with only their id and status.
      operationId: getEnvironmentHelmStatus
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Helms
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceObjectStatusResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /helm/{helmId}/clone:
    post:
      summary: Clone helm
      description: This will create a new helm with the same configuration on the targeted environment Id.
      operationId: cloneHelm
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneServiceRequest'
      responses:
        '202':
          description: Helm clone has been requested
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Operation is in progress
components:
  schemas:
    ReferenceObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
    HelmPortResponseBase:
      type: object
      required:
      - id
      - internal_port
      - protocol
      - port_type
      properties:
        id:
          type: string
          format: uuid
        port_type:
          type: string
        name:
          type: string
        internal_port:
          type: integer
          example: 8080
          description: The listening port of your service.
        external_port:
          type: integer
          example: 8080
          description: The exposed port for your service. This is optional. If not set a default port will be used.
        namespace:
          type: string
        protocol:
          $ref: '#/components/schemas/HelmPortProtocolEnum'
        is_default:
          type: boolean
          description: is the default port to use for domain
    HelmPortProtocolEnum:
      type: string
      default: HTTP
      enum:
      - HTTP
      - GRPC
    GitProviderEnum:
      type: string
      enum:
      - BITBUCKET
      - GITHUB
      - GITLAB
    HelmKeyValues:
      type: array
      description: 'The input is in json array format: [ [$KEY,$VALUE], [...] ]'
      items:
        type: array
        items:
          type: string
    HelmPortResponseWithServiceName:
      allOf:
      - $ref: '#/components/schemas/HelmPortResponseBase'
      - type: object
        required:
        - service_name
        properties:
          service_name:
            type: string
    HelmSourceRepositoryResponse:
      title: HelmSourceRepositoryResponse
      x-stoplight:
        id: 4u8sg5mvbz502
      type: object
      required:
      - chart_name
      - chart_version
      - repository
      properties:
        chart_name:
          type: string
          x-stoplight:
            id: myqqxis6r2wum
        chart_version:
          type: string
          x-stoplight:
            id: bxqymhkfiwauw
        repository:
          type: object
          x-stoplight:
            id: fr4th9yrro2rh
          required:
          - id
          - name
          - url
          properties:
            id:
              type: string
              x-stoplight:
                id: 4mb2ymh7anud4
              format: uu
            name:
              type: string
              x-stoplight:
                id: bamkqh6qvsenc
            url:
              type: string
              x-stoplight:
                id: qxjxb9crdcsyv
              format: uri
    HelmRequest:
      allOf:
      - $ref: '#/components/schemas/HelmPortRequest'
      - type: object
        required:
        - name
        - auto_deploy
        - source
        - arguments
        - values_override
        properties:
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
          timeout_sec:
            type: integer
            minimum: 0
            default: 600
            description: 'Maximum number of seconds allowed for helm to run before killing it and mark it as failed

              '
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled.  \nIf enabled, a preview environment will be automatically cloned when `/preview` endpoint is called or when a new commit is updated.\nIf not specified, it takes the value of the `auto_preview` property from the associated environment.\n"
            nullable: true
          auto_deploy:
            type: boolean
            description: 'Specify if the helm will be automatically updated after receiving a new image tag or a new commit according to the source type.

              '
          source:
            oneOf:
            - type: object
              properties:
                git_repository:
                  $ref: '#/components/schemas/HelmGitRepositoryRequest'
            - type: object
              properties:
                helm_repository:
                  type: object
                  properties:
                    repository:
                      type: string
                      format: UUID
                      description: The id of the helm repository
                      nullable: true
                    chart_name:
                      type: string
                      description: The name of the chart in the repository
                    chart_version:
                      type: string
                      description: The version of the chart to use
          arguments:
            type: array
            description: The extra arguments to pass to helm
            items:
              type: string
          allow_cluster_wide_resources:
            type: boolean
            default: false
            description: 'If we should allow the chart to deploy object outside his specified namespace.

              Setting this flag to true, requires special rights

              '
          values_override:
            type: object
            description: 'Specify helm values you want to set or override

              '
            properties:
              set:
                $ref: '#/components/schemas/HelmKeyValues'
              set_string:
                $ref: '#/components/schemas/HelmKeyValues'
              set_json:
                $ref: '#/components/schemas/HelmKeyValues'
              file:
                type: object
                nullable: true
                properties:
                  git:
                    type: object
                    nullable: true
                    required:
                    - git_repository
                    - paths
                    properties:
                      git_repository:
                        $ref: '#/components/schemas/ApplicationGitRepositoryRequest'
                      paths:
                        type: array
                        description: List of path inside your git repository to locate values file. Must start by a /
                        items:
                          type: string
                  raw:
                    type: object
                    nullable: true
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: The name of the value file
                            content:
                              type: string
                              description: The content of the value file
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the helm service.
            x-stoplight:
              id: 117p5u95nwx2p
    HelmAdvancedSettings:
      type: object
      properties:
        deployment.custom_domain_check_enabled:
          type: boolean
          description: disable custom domain check when deploying a helm
        network.ingress.proxy_body_size_mb:
          type: integer
        network.ingress.force_ssl_redirect:
          type: boolean
          x-stoplight:
            id: 6tcwjiqqo99ii
          description: When using SSL offloading outside of cluster, you can enforce a redirect to HTTPS even when there is no TLS certificate available
        network.ingress.enable_cors:
          type: boolean
        network.ingress.cors_allow_origin:
          type: string
        network.ingress.cors_allow_methods:
          type: string
        network.ingress.cors_allow_headers:
          type: string
        network.ingress.proxy_buffer_size_kb:
          type: integer
          description: header buffer size used while reading response header from upstream
        network.ingress.keepalive_time_seconds:
          type: integer
          description: Limits the maximum time (in seconds) during which requests can be processed through one keepalive connection
        network.ingress.keepalive_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) during which an idle keepalive connection to an upstream server will stay open.
        network.ingress.send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a response to the client
        network.ingress.proxy_connect_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for establishing a connection to a proxied server
        network.ingress.proxy_send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the proxied server
        network.ingress.proxy_read_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for reading a response from the proxied server
        network.ingress.proxy_buffering:
          type: string
          description: Allows to enable or disable nginx `proxy-buffering`
        network.ingress.proxy_request_buffering:
          type: string
          description: Allows to enable or disable nginx `proxy-request-buffering`
        network.ingress.grpc_send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the grpc server
        network.ingress.grpc_read_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the grpc server
        network.ingress.whitelist_source_range:
          type: string
          description: "list of source ranges to allow access to ingress proxy. \nThis property can be used to whitelist source IP ranges for ingress proxy.\nThe value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1\nTo allow all source ranges, set 0.0.0.0/0.\n"
        network.ingress.denylist_source_range:
          type: string
          description: "list of source ranges to deny access to ingress proxy. \nThis property can be used to blacklist source IP ranges for ingress proxy.\nThe value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1\n"
        network.ingress.extra_headers:
          type: string
          description: Allows to define response headers
          example: '{"X-Frame-Options":"DENY ","X-Content-Type-Options":"nosniff"}'
        network.ingress.basic_auth_env_var:
          type: string
          description: 'Set the name of an environment variable to use as a basic authentication (`login:crypted_password`) from `htpasswd` command. You can add multiples comma separated values.

            '
        network.ingress.enable_sticky_session:
          type: boolean
          description: 'Enable the load balancer to bind a user''s session to a specific target.

            This ensures that all requests from the user during the session are sent to the same target

            '
        network.gateway_api.http_request_timeout_seconds:
          type: integer
          nullable: true
          minimum: 0
          description: Sets a timeout (in seconds) for requests proxied through the Gateway API route.
        network.gateway_api.http_connection_idle_timeout_seconds:
          type: integer
          nullable: true
          minimum: 0
          description: Sets the idle timeout (in seconds) for HTTP connections proxied through the Gateway API route.
    ApplicationGitRepository:
      type: object
      required:
      - provider
      - owner
      - name
      - url
      properties:
        has_access:
          type: boolean
        provider:
          $ref: '#/components/schemas/GitProviderEnum'
        owner:
          type: string
          example: John Doe
        url:
          type: string
          format: uri
        name:
          type: string
          description: repository name
          example: simple-node-app
        branch:
          type: string
        root_path:
          type: string
        deployed_commit_id:
          type: string
          description: Git commit ID corresponding to the deployed version of the app
        deployed_commit_date:
          type: string
          readOnly: true
          format: date-time
          description: Git commit date corresponding to the deployed version of the app
        deployed_commit_contributor:
          type: string
          description: Git commit user corresponding to the deployed version of the app
        deployed_commit_tag:
          type: string
          example: v1.0.1
        git_token_id:
          type: string
          nullable: true
        git_token_name:
          type: string
          nullable: true
      title: ''
    CloneServiceRequest:
      type: object
      required:
      - name
      - environment_id
      properties:
        name:
          type: string
        environment_id:
          type: string
          format: uuid
    ServiceTypeEnum:
      type: string
      x-stoplight:
        id: d66063cd29913
      description: type of the service (application, database, job, ...)
      enum:
      - APPLICATION
      - DATABASE
      - CONTAINER
      - JOB
      - HELM
      - TERRAFORM
      - ARGOCD_APP
    ReferenceObjectStatusResponseList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReferenceObjectStatus'
    StepMetricStatusEnum:
      type: string
      enum:
      - SUCCESS
      - ERROR
      - CANCEL
      - SKIP
      description: 'The status of completion for the step:

        - SUCCESS: The step completed successfully.

        - ERROR: The step completed with an error.

        - CANCEL: The step was canceled.

        - SKIP: The step was skipped because it was not necessary.

        '
    ServiceSubActionEnum:
      type: string
      default: NONE
      enum:
      - NONE
      - TERRAFORM_PLAN_ONLY
      - TERRAFORM_PLAN_AND_APPLY
      - TERRAFORM_DESTROY
      - TERRAFORM_FORCE_UNLOCK_STATE
      - TERRAFORM_MIGRATE_STATE
    HelmSourceGitResponse:
      title: HelmSourceGitResponse
      x-stoplight:
        id: lsxautcdafty6
      type: object
      required:
      - git_repository
      properties:
        git_repository:
          $ref: '#/components/schemas/ApplicationGitRepository'
    HelmGitRepositoryRequest:
      type: object
      required:
      - provider
      - owner
      - name
      - url
      properties:
        url:
          type: string
          description: application git repository URL
          example: https://github.com/Qovery/simple-node-app
        branch:
          type: string
          description: 'Name of the branch to use. This is optional

            If not specified, then the branch used is the `main` or `master` one

            '
          example: feat/text_xxx
        root_path:
          type: string
          default: /
          description: indicates the root path of the application.
        git_token_id:
          type: string
          format: uuid
          description: The git token id on Qovery side
          nullable: true
      title: ''
    ServiceStepMetric:
      type: object
      properties:
        step_name:
          $ref: '#/components/schemas/ServiceStepMetricNameEnum'
        status:
          $ref: '#/components/schemas/StepMetricStatusEnum'
        duration_sec:
          description: The duration of the step in seconds.
          type: integer
    HelmDefaultValuesRequest:
      allOf:
      - type: object
        required:
        - source
        properties:
          source:
            oneOf:
            - type: object
              properties:
                git_repository:
                  $ref: '#/components/schemas/HelmGitRepositoryRequest'
            - type: object
              properties:
                helm_repository:
                  type: object
                  properties:
                    repository:
                      type: string
                      format: UUID
                      description: The id of the helm repository
                      nullable: true
                    chart_name:
                      type: string
                      description: The name of the chart in the repository
                    chart_version:
                      type: string
                      description: The version of the chart to use
    ServiceDeploymentStatusEnum:
      type: string
      enum:
      - NEVER_DEPLOYED
      - OUT_OF_DATE
      - UP_TO_DATE
    ServiceStepMetricNameEnum:
      type: string
      enum:
      - REGISTRY_CREATE_REPOSITORY
      - GIT_CLONE
      - BUILD_QUEUEING
      - BUILD
      - DEPLOYMENT_QUEUEING
      - DEPLOYMENT
      - ROUTER_DEPLOYMENT
      - MIRROR_IMAGE
      - EXECUTING
      description: "The name of the deployment step at the service level:\n- REGISTRY_CREATE_REPOSITORY: The step to create the repository in the registry.\n- GIT_CLONE: The step to clone the source code repository. \n- BUILD_QUEUEING: The queuing time preceding the actual building step.\n- BUILD: The step to build the source code.\n- DEPLOYMENT_QUEUEING: The queuing time preceding the actual deployment step.\n- DEPLOYMENT: The step to deploy the service. \n- ROUTER_DEPLOYMENT: The step to deploy the router. \n- MIRROR_IMAGE: The step to mirror the image to the private registry.\n- EXECUTING: The step to execute a job or terraform apply.\n"
    HelmPortRequest:
      type: object
      properties:
        ports:
          type: array
          items:
            allOf:
            - type: object
              required:
              - internal_port
              properties:
                name:
                  type: string
                internal_port:
                  type: integer
                  example: 8080
                  description: The listening port of your service.
                external_port:
                  type: integer
                  example: 8080
                  description: The exposed port for your service. This is optional. If not set a default port will be used.
                namespace:
                  type: string
                protocol:
                  $ref: '#/components/schemas/HelmPortProtocolEnum'
                is_default:
                  type: boolean
                  description: is the default port to use for domain
            - oneOf:
              - type: object
                properties:
                  service_selectors:
                    type: array
                    items:
                      $ref: '#/components/schemas/KubernetesSelector'
              - type: object
                properties:
                  service_name:
                    type: string
    ServiceStepMetrics:
      type: object
      required:
      - total_duration_sec
      - total_computing_duration_sec
      - details
      properties:
        total_duration_sec:
          description: The total duration in seconds of the service deployment or null if the deployment is not completed.
          type: integer
          nullable: true
        total_computing_duration_sec:
          description: The total duration in seconds of the service deployment without queuing steps.
          type: integer
        details:
          description: A list of metrics for deployment steps of the service.
          type: array
          items:
            $ref: '#/components/schemas/ServiceStepMetric'
    ServiceActionEnum:
      type: string
      enum:
      - DEPLOY
      - DELETE
      - RESTART
      - STOP
      - UNKNOWN
    ApplicationGitRepositoryRequest:
      type: object
      required:
      - url
      - owner
      - name
      - provider
      properties:
        url:
          type: string
          description: application git repository URL
          example: https://github.com/Qovery/simple-node-app
        branch:
          type: string
          description: 'Name of the branch to use. This is optional

            If not specified, then the branch used is the `main` or `master` one

            '
          example: feat/text_xxx
        root_path:
          type: string
          default: /
          description: indicates the root path of the application.
        git_token_id:
          type: string
          format: uuid
          description: The git token id on Qovery side
          nullable: true
        provider:
          $ref: '#/components/schemas/GitProviderEnum'
    HelmResponseList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/HelmResponse'
    HelmResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - environment
        - name
        - auto_preview
        - auto_deploy
        - source
        - arguments
        - allow_cluster_wide_resources
        - values_override
        - icon_uri
        - service_type
        properties:
          environment:
            $ref: '#/components/schemas/ReferenceObject'
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
          timeout_sec:
            type: integer
            minimum: 0
            default: 600
            description: 'Maximum number of seconds allowed for helm to run before killing it and mark it as failed

              '
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled.  \nIf enabled, a preview environment will be automatically cloned when `/preview` endpoint is called.  \nIf not specified, it takes the value of the `auto_preview` property from the associated environment.\n"
          auto_deploy:
            type: boolean
            description: 'Specify if the service will be automatically updated after receiving a new image tag or a new commit according to the source type.

              '
          ports:
            type: array
            items:
              oneOf:
              - $ref: '#/components/schemas/HelmPortResponseWithServiceName'
              - $ref: '#/components/schemas/HelmPortResponseWithServiceSelectors'
              discriminator:
                propertyName: port_type
                mapping:
                  SERVICE_NAME: '#/components/schemas/HelmPortResponseWithServiceName'
                  SERVICE_SELECTORS: '#/components/schemas/HelmPortResponseWithServiceSelectors'
          source:
            nullable: false
            oneOf:
            - required:
              - git
              properties:
                git:
                  $ref: '#/components/schemas/HelmSourceGitResponse'
              type: object
            - x-stoplight:
                id: 0prdehm6z8pua
              required:
              - repository
              properties:
                repository:
                  $ref: '#/components/schemas/HelmSourceRepositoryResponse'
              type: object
          arguments:
            type: array
            description: The extra arguments to pass to helm
            items:
              type: string
          allow_cluster_wide_resources:
            type: boolean
            default: false
            description: 'If we should allow the chart to deploy object outside his specified namespace.

              Setting this flag to true, requires special rights

              '
          values_override:
            type: object
            description: 'Specify helm values you want to set or override

              '
            properties:
              set:
                $ref: '#/components/schemas/HelmKeyValues'
              set_string:
                $ref: '#/components/schemas/HelmKeyValues'
              set_json:
                $ref: '#/components/schemas/HelmKeyValues'
              file:
                type: object
                nullable: true
                properties:
                  raw:
                    type: object
                    nullable: true
                    required:
                    - values
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                          required:
                          - name
                          - content
                          properties:
                            name:
                              type: string
                              description: The name of the value file
                            content:
                              type: string
                              description: The content of the value file
                  git:
                    type: object
                    nullable: true
                    required:
                    - git_repository
                    - paths
                    properties:
                      git_repository:
                        $ref: '#/components/schemas/ApplicationGitRepository'
                      paths:
                        type: array
                        description: List of path inside your git repository to locate values file. Must start by a /
                        items:
                          type: string
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the helm service.
            x-stoplight:
              id: i2pvbugqsldhe
          service_type:
            $ref: '#/components/schemas/ServiceTypeEnum'
    ReferenceObjectStatus:
      allOf:
      - $ref: '#/components/schemas/ReferenceObject'
      - $ref: '#/components/schemas/Status'
    KubernetesSelector:
      title: KubernetesSelector
      x-stoplight:
        id: 4i1ztgngi75vs
      type: object
      required:
      - key
      - value
      properties:
        key:
          type: string
          x-stoplight:
            id: 1zcgvzdknhr8n
        value:
          type: string
          x-stoplight:
            id: 6zpc45u4laog4
    StateEnum:
      type: string
      enum:
      - BUILDING
      - BUILD_ERROR
      - CANCELED
      - CANCELING
      - DELETED
      - DELETE_ERROR
      - DELETE_QUEUED
      - DELETING
      - DEPLOYED
      - DEPLOYING
      - DEPLOYMENT_ERROR
      - DEPLOYMENT_QUEUED
      - EXECUTING
      - QUEUED
      - READY
      - RECAP
      - RESTARTED
      - RESTARTING
      - RESTART_ERROR
      - RESTART_QUEUED
      - STOPPED
      - STOPPING
      - STOP_ERROR
      - STOP_QUEUED
      - UNAVAILABLE
      - WAITING_DELETING
      - WAITING_RESTARTING
      - WAITING_RUNNING
      - WAITING_STOPPING
    HelmPortResponseWithServiceSelectors:
      allOf:
      - $ref: '#/components/schemas/HelmPortResponseBase'
      - type: object
        required:
        - service_selectors
        properties:
          service_selectors:
            type: array
            items:
              $ref: '#/components/schemas/KubernetesSelector'
    Status:
      type: object
      required:
      - id
      - state
      - service_deployment_status
      - status_details
      - is_part_last_deployment
      - deployment_requests_count
      - deployment_request_id
      properties:
        id:
          type: string
          format: uuid
        state:
          $ref: '#/components/schemas/StateEnum'
        service_deployment_status:
          $ref: '#/components/schemas/ServiceDeploymentStatusEnum'
        last_deployment_date:
          type: string
          format: d

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qovery/refs/heads/main/openapi/qovery-helms-api-openapi.yml