Qovery Environment Main Calls API

The Environment Main Calls API from Qovery — 7 operation(s) for environment main calls.

OpenAPI Specification

qovery-environment-main-calls-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery Account Info Environment Main Calls 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: Environment Main Calls
paths:
  /environment/{environmentId}:
    get:
      summary: Get environment by ID
      operationId: getEnvironment
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: Get environment by ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit an environment
      description: To edit an environment you must have the admin permission
      operationId: editEnvironment
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentEditRequest'
      responses:
        '200':
          description: Edit an environment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Environment name within the project is already taken
    delete:
      summary: Delete an environment
      description: To delete an environment you must have the admin permission
      operationId: deleteEnvironment
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      responses:
        '204':
          $ref: '#/components/responses/204-deletion'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /environment/{environmentId}/status:
    get:
      summary: Get environment status
      operationId: getEnvironmentStatus
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentStatus'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /environment/{environmentId}/statuses:
    get:
      summary: Get environment statuses with services status
      operationId: getEnvironmentStatuses
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: Get statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentStatuses'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /environment/{environmentId}/statusesWithStages:
    get:
      summary: Get environment statuses with stages
      operationId: getEnvironmentStatusesWithStages
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: Get statuses with stages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentStatusesWithStages'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /environment/{environmentId}/services:
    parameters:
    - schema:
        type: string
      name: environmentId
      in: path
      required: true
    get:
      summary: List Services By EnvironmentId
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: Service List
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    x-stoplight:
                      id: 0t9ccei2ecd8d
                    items:
                      x-stoplight:
                        id: lzycmwmefigki
                      oneOf:
                      - $ref: '#/components/schemas/Application'
                      - $ref: '#/components/schemas/ContainerResponse'
                      - $ref: '#/components/schemas/Database'
                      - $ref: '#/components/schemas/HelmResponse'
                      - $ref: '#/components/schemas/JobResponse'
                      - $ref: '#/components/schemas/TerraformResponse'
                      - $ref: '#/components/schemas/ArgocdAppResponse'
                      discriminator:
                        propertyName: service_type
                        mapping:
                          APPLICATION: '#/components/schemas/Application'
                          CONTAINER: '#/components/schemas/ContainerResponse'
                          DATABASE: '#/components/schemas/Database'
                          HELM: '#/components/schemas/HelmResponse'
                          JOB: '#/components/schemas/JobResponse'
                          TERRAFORM: '#/components/schemas/TerraformResponse'
                          ARGOCD_APP: '#/components/schemas/ArgocdAppResponse'
      operationId: listServicesByEnvironmentId
      x-stoplight:
        id: 9adquhr5t6qx3
  /environment/{environmentId}/deploymentQueue:
    parameters:
    - schema:
        type: string
        format: uuid
      name: environmentId
      in: path
      required: true
    get:
      summary: List Deployment Queue Request By EnvironmentId
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    x-stoplight:
                      id: zbjhuwhtkvxkj
                    items:
                      $ref: '#/components/schemas/QueuedDeploymentRequestWithStages'
      operationId: listDeploymentRequestByEnvironmentId
      x-stoplight:
        id: 0zhr0vfxayg96
  /service/{serviceId}/deploymentQueue:
    parameters:
    - schema:
        type: string
        format: uuid
      name: serviceId
      in: path
      required: true
    get:
      summary: List Deployment Queue Request By ServiceId
      tags:
      - Environment Main Calls
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QueuedDeploymentRequestForService'
      operationId: listDeploymentRequestByServiceId
      x-stoplight:
        id: augmimjz30ix3
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
    Environment:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - name
        - cloud_provider
        - mode
        - cluster_id
        - project
        - organization
        properties:
          name:
            type: string
            description: name is case insensitive
          organization:
            $ref: '#/components/schemas/ReferenceObject'
          project:
            $ref: '#/components/schemas/ReferenceObject'
          last_updated_by:
            type: string
            format: uuid
            description: uuid of the user that made the last update
          cloud_provider:
            type: object
            properties:
              provider:
                type: string
                example: aws
              cluster:
                type: string
                example: us-east-2
          mode:
            $ref: '#/components/schemas/EnvironmentModeEnum'
          cluster_id:
            type: string
            format: uuid
          cluster_name:
            type: string
            format: string
    GitProviderEnum:
      type: string
      enum:
      - BITBUCKET
      - GITHUB
      - GITLAB
    DeploymentHistoryTriggerAction:
      x-stoplight:
        id: 1hzy6riqo7lq4
      enum:
      - DEPLOY
      - DELETE
      - RESTART
      - STOP
      - DEPLOY_DRY_RUN
      - TERRAFORM_FORCE_UNLOCK
      - TERRAFORM_MIGRATE_STATE
      - DELETE_RESOURCES_ONLY
      - UNKNOWN
      - UNINSTALL
    ServiceAnnotationsRequestList:
      type: array
      items:
        $ref: '#/components/schemas/ServiceAnnotationRequest'
    BuildModeEnum:
      type: string
      enum:
      - DOCKER
      description: '`DOCKER` requires `dockerfile_path`

        '
      default: DOCKER
    DatabaseAccessibilityEnum:
      type: string
      default: PRIVATE
      enum:
      - PRIVATE
      - PUBLIC
    KedaScalerRole:
      title: KedaScalerRole
      x-stoplight:
        id: 1sl0mlxoqzr8w
      type: string
      enum:
      - PRIMARY
      - SAFETY
    EnvironmentDeploymentStatusEnum:
      title: EnvironmentDeploymentStatusEnum
      x-stoplight:
        id: sbw3iw6yteyba
      enum:
      - NEVER_DEPLOYED
      - UP_TO_DATE
      - OUT_OF_DATE
    JobTypeEnum:
      type: string
      description: type of job
      enum:
      - LIFECYCLE
      - CRON
    ContainerSource:
      type: object
      required:
      - image_name
      - tag
      - registry
      properties:
        image_name:
          type: string
          description: 'The image name pattern differs according to chosen container registry provider:

            * `ECR`: `repository`

            * `SCALEWAY_CR`: `namespace/image`

            * `DOCKER_HUB`: `image` or `repository/image`

            * `PUBLIC_ECR`: `registry_alias/repository`

            '
        tag:
          type: string
          description: tag of the image container
        registry_id:
          type: string
          description: tag of the image container
        registry:
          $ref: '#/components/schemas/ContainerRegistryProviderDetailsResponse'
    DatabaseTypeEnum:
      type: string
      enum:
      - MONGODB
      - MYSQL
      - POSTGRESQL
      - REDIS
    TerraformVarKeyValue:
      title: TerraformVarKeyValue
      type: object
      description: A Terraform input variable
      properties:
        key:
          type: string
          x-stoplight:
            id: enwctu8s88umi
        value:
          type: string
          x-stoplight:
            id: ix1y6viqpaxk6
        secret:
          type: boolean
          x-stoplight:
            id: df80p2az3whjg
    StageStepMetrics:
      type: object
      properties:
        stage_id:
          type: string
          format: uuid
        total_duration_sec:
          description: The total duration in seconds of the stage deployment or null if the deployment is not completed.
          type: integer
          nullable: true
        details:
          description: A list of metrics for deployment steps of the stage.
          type: array
          items:
            $ref: '#/components/schemas/StageStepMetric'
    StageStepMetric:
      type: object
      properties:
        stage_id:
          type: string
          format: uuid
        step_name:
          $ref: '#/components/schemas/StageStepMetricNameEnum'
        status:
          $ref: '#/components/schemas/StepMetricStatusEnum'
        duration_sec:
          description: The duration of the step in seconds.
          type: integer
    Annotation:
      type: object
      required:
      - key
      - value
      properties:
        key:
          type: string
        value:
          type: string
    TerraformBackend:
      oneOf:
      - type: object
        required:
        - kubernetes
        properties:
          kubernetes:
            $ref: '#/components/schemas/TerraformBackendKubernetes'
      - type: object
        required:
        - user_provided
        properties:
          user_provided:
            $ref: '#/components/schemas/TerraformBackendUserProvided'
      description: Configuration for Terraform backend - exactly one backend type must be specified
    AutoscalingPolicyResponse:
      title: AutoscalingPolicyResponse
      x-stoplight:
        id: mjawsx6obi237
      oneOf:
      - $ref: '#/components/schemas/KedaAutoscalingResponse'
      discriminator:
        propertyName: mode
        mapping:
          KEDA: '#/components/schemas/KedaAutoscalingResponse'
    TerraformBackendUserProvided:
      type: object
      description: User-provided backend configuration
    AutoscalingMode:
      title: AutoscalingMode
      x-stoplight:
        id: vmgo27882mrl3
      type: string
      enum:
      - KEDA
    TerraformFilesSource:
      title: TerraformFilesSource
      x-stoplight:
        id: ynhtfa5yo20ee
      type: object
      properties:
        git:
          x-stoplight:
            id: iavjewfs0d12k
          type: object
          properties:
            git_repository:
              $ref: '#/components/schemas/ApplicationGitRepository'
    BaseJobResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - environment
        - maximum_cpu
        - maximum_memory
        - maximum_gpu
        - name
        - cpu
        - memory
        - gpu
        - auto_preview
        - source
        - healthchecks
        - icon_uri
        - service_type
        properties:
          environment:
            $ref: '#/components/schemas/ReferenceObject'
          maximum_cpu:
            type: integer
            description: Maximum cpu that can be allocated to the job based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu
            example: 16000
          maximum_memory:
            type: integer
            description: Maximum memory that can be allocated to the job based on organization cluster configuration. unit is MB. 1024 MB = 1GB
            example: 16384
          maximum_gpu:
            type: integer
            description: Maximum memory that can be allocated to the job based on organization cluster configuration. unit is MB. 1024 MB = 1GB
            x-stoplight:
              id: 7o0e6wrgnxgcc
            minimum: 0
            default: 0
            example: 2
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
          cpu:
            type: integer
            description: unit is millicores (m). 1000m = 1 cpu
            example: 1250
          memory:
            type: integer
            description: unit is MB. 1024 MB = 1GB
            example: 1024
          gpu:
            type: integer
            x-stoplight:
              id: 50sj2wtkdypgg
            default: 0
            minimum: 0
            example: 1
          max_nb_restart:
            type: integer
            minimum: 0
            description: 'Maximum number of restart allowed before the job is considered as failed

              0 means that no restart/crash of the job is allowed

              '
          max_duration_seconds:
            type: integer
            minimum: 0
            description: 'Maximum number of seconds allowed for the job to run before killing it and mark it as failed

              '
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled for this container.  \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"
          port:
            type: integer
            minimum: 1
            description: Port where to run readiness and liveliness probes checks. The port will not be exposed externally
            default: null
            nullable: true
          source:
            nullable: false
            oneOf:
            - required:
              - image
              properties:
                image:
                  $ref: '#/components/schemas/ContainerSource'
              type: object
            - required:
              - docker
              properties:
                docker:
                  $ref: '#/components/schemas/JobSourceDockerResponse'
              type: object
          healthchecks:
            $ref: '#/components/schemas/Healthcheck'
          auto_deploy:
            type: boolean
            description: "Specify if the job will be automatically updated after receiving a new image tag or a new commit according to the source type. \nThe new image tag shall be communicated via the \"Auto Deploy job\" endpoint https://api-doc.qovery.com/#tag/Jobs/operation/autoDeployJobEnvironments\n"
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the job.
            x-stoplight:
              id: p1secr7kxozsd
          service_type:
            $ref: '#/components/schemas/ServiceTypeEnum'
    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: date-time
        is_part_last_deployment:
          type: boolean
        steps:
          $ref: '#/components/schemas/ServiceStepMetrics'
        execution_id:
          type: string
          x-stoplight:
            id: 3o9tz4272s2ct
        status_details:
          $ref: '#/components/schemas/StatusDetails'
        deployment_request_id:
          type: string
          x-stoplight:
            id: bepixrb7tyzme
          format: uuid
          nullable: true
        deployment_requests_count:
          type: integer
          x-stoplight:
            id: crku532vt3v4p
    EnvironmentStatuses:
      type: object
      required:
      - environment
      - containers
      - applications
      - jobs
      - databases
      - helms
      - terraforms
      properties:
        environment:
          $ref: '#/components/schemas/EnvironmentStatus'
        applications:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        containers:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        jobs:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        databases:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        helms:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        terraforms:
          type: array
          items:
            $ref: '#/components/schemas/Status'
    ServiceDeploymentStatusEnum:
      type: string
      enum:
      - NEVER_DEPLOYED
      - OUT_OF_DATE
      - UP_TO_DATE
    Base:
      type: object
      required:
      - id
      - created_at
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_at:
          type: string
          readOnly: true
          format: date-time
        updated_at:
          type: string
          readOnly: true
          format: date-time
    DatabaseModeEnum:
      type: string
      enum:
      - CONTAINER
      - MANAGED
    HelmKeyValues:
      type: array
      description: 'The input is in json array format: [ [$KEY,$VALUE], [...] ]'
      items:
        type: array
        items:
          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
    JobSourceDockerResponse:
      title: JobSourceDockerResponse
      x-stoplight:
        id: s59m8wajnieny
      type: object
      properties:
        git_repository:
          $ref: '#/components/schemas/ApplicationGitRepository'
        dockerfile_path:
          type: string
          x-stoplight:
            id: 72djyl4mjhxny
          description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER
          nullable: true
        dockerfile_raw:
          type: string
          x-stoplight:
            id: 7s4l0qg285y48
          description: The content of your dockerfile if it is not stored inside your git repository
          nullable: true
        docker_target_build_stage:
          type: string
          x-stoplight:
            id: 8o1faq3bgz92i
          description: The target build stage in the Dockerfile to build
          nullable: true
    TerraformEngineEnum:
      enum:
      - TERRAFORM
      - OPEN_TOFU
    OrganizationAnnotationsGroupScopeEnum:
      type: string
      description: Annotations Group Scope
      enum:
      - DEPLOYMENTS
      - STATEFUL_SETS
      - SERVICES
      - INGRESS
      - GATEWAY_API_ROUTES
      - HPA
      - PODS
      - SECRETS
      - JOBS
      - CRON_JOBS
    KedaAutoscalingResponse:
      title: KedaAutoscalingResponse
      x-stoplight:
        id: dgcb902szizvv
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        x-stoplight:
          id: zjlwqohiiyuwf
        required:
        - service_id
        - mode
        - polling_interval_seconds
        - cooldown_period_seconds
        - scalers
        properties:
          service_id:
            type: string
            x-stoplight:
              id: j9bxhtiyyl0iv
            format: uuid
          mode:
            $ref: '#/components/schemas/AutoscalingMode'
          polling_interval_seconds:
            type: integer
            x-stoplight:
              id: uone6zr48amok
            format: int32
          cooldown_period_seconds:
            type: integer
            x-stoplight:
              id: j2dapmjjjiafj
            format: int32
          scalers:
            type: array
            x-stoplight:
              id: oyhxgvwg36ixz
            minItems: 1
            items:
              $ref: '#/components/schemas/KedaScalerResponse'
      description: ''
    OrganizationLabelsGroupResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - name
        - labels
        properties:
          name:
            type: string
          labels:
            type: array
            items:
              $ref: '#/components/schemas/Label'
      title: ''
    ContainerResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - $ref: '#/components/schemas/ServiceStorage'
      - $ref: '#/components/schemas/ContainerSource'
      - type: object
        required:
        - environment
        - maximum_cpu
        - maximum_memory
        - maximum_gpu
        - name
        - cpu
        - memory
        - gpu
        - min_running_instances
        - max_running_instances
        - healthchecks
        - auto_preview
        - icon_uri
        - service_type
        properties:
          environment:
            $ref: '#/components/schemas/ReferenceObject'
          maximum_cpu:
            type: integer
            description: Maximum cpu that can be allocated to the container based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu
            example: 16000
          maximum_memory:
            type: integer
            description: Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB
            example: 16384
          maximum_gpu:
            type: integer
            description: Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB
            x-stoplight:
              id: zdw9ry7s5s0e8
            minimum: 0
            default: 0
            example: 2
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
            description: give a description to this container
          arguments:
            type: array
            items:
              type: string
          entrypoint:
            type: string
            description: optional entrypoint when launching container
          cpu:
            type: integer
            description: unit is millicores (m). 1000m = 1 cpu
            example: 1250
          memory:
            type: integer
            description: unit is MB. 1024 MB = 1GB
            example: 1024
          gpu:
            type: integer
            x-stoplight:
              id: qthonnmak3re3
            default: 0
            minimum: 0
            example: 1
          min_running_instances:
            type: integer
            minimum: 0
            description: 'Minimum number of instances running. This resource auto-scale based on the CPU and Memory consumption.

              Note: 0 means that there is no container running.

              '
            default: 1
          max_running_instances:
            type: integer
            description: 'Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption.

              Note: -1 means that there is no limit.

              '
            default: 1
          healthchecks:
            $ref: '#/components/schemas/Healthcheck'
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled for this container.  \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"
          ports:
            $ref: '#/components/schemas/ServicePortResponseList'
          auto_deploy:
            type: boolean
            description: "Specify if the container will be automatically updated after receiving a new image tag. \nThe new image tag shall be communicated via the \"Auto Deploy container\" endpoint https://api-doc.qovery.com/#tag/Containers/operation/autoDeployContainerEnvironments\n"
          annotations_groups:
            $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList'
          labels_groups:
            $ref: '#/components/schemas/OrganizationLabelsGroupResponseList'
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the container.
            x-stoplight:
              id: o2bdci7ak3bmz
          service_type:
            $ref: '#/components/schemas/ServiceTypeEnum'
          autoscaling:
            $ref: '#/components/schemas/AutoscalingPolicyResponse'
    CreateEnvironmentModeEnum:
      type: string
      enum:
      - DEVELOPMENT
      - PRODUCTION
      - STAGING
      example: PRODUCTION
    ServiceSubActionEnum:
      type: string
      default: NONE
      enum:
      - NONE
      - TERRAFORM_PLAN_ONLY
      - TERRAFORM_PLAN_AND_APPLY
      - TERRAFORM_DESTROY
      - TERRAFORM_FORCE_UNLOCK_STATE
      - TERRAFORM_MIGRATE_STATE
    EnvironmentStatusesWithStages:
      type: object
      properties:
        environment:
          $ref: '#/components/schemas/EnvironmentStatus'
        stages:
          type: array
          items:
            $ref: '#/components/schemas/DeploymentStageWithServicesStatuses'
        pre_check_stage:
          type: object
          x-stoplight:
            id: l9y5i1bt4jmsk
          properties:
            status:
              $ref: '#/components/schemas/StepMetricStatusEnum'
            total_duration_sec:
              type: integer
              x-stoplight:
                id: t6u28t17lth1l
    HelmSourceGitResponse:
      title: HelmSourceGitResponse
      x-stoplight:
        id: lsxautcdafty6
      type: object
      required:
      - git_repository
      properties:
        git_repository:
          $ref: '#/components/schemas/ApplicationGitRepository'
    PortProtocolEnum:
      type: string
      default: HTTP
      enum:
      - HTTP
      - GRPC
      - TCP
      - UDP
    EnvironmentModeEnum:
      type: string
      enum:
      - DEVELOPMENT
      - PREVIEW
      - PRODUCTION
      - STAGING
      example: PRODUCTION
    KedaTriggerAuthenticationResponse:
      title: KedaTriggerAuthenticationResponse
      x-stoplight:
        id: 7mm4a4sk9jhz3
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        x-stoplight:
          id: ssejnexbsra11
        required:
        - organization_id
        - name
        properties:
          organization_id:
            type: string
            x-stoplight:
              id: akxa3zctvjj5h
          name:
            type: string
            x-stoplight:
              id: gpvwed95xygk1
          config_yaml:
            type: string
            x-stoplight:
              id: r5lmrzakyk9o6
            description: ' Optional raw KEDA TriggerAuthentication YAML configuration.'
    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
    ServiceActionEnum:
      type: string
      enum:
      - DEPLOY
     

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