Qovery Container Main Calls API

The Container Main Calls API from Qovery — 3 operation(s) for container main calls.

OpenAPI Specification

qovery-container-main-calls-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery Account Info Container 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: Container Main Calls
paths:
  /container/{containerId}:
    get:
      summary: Get container by ID
      operationId: getContainer
      parameters:
      - $ref: '#/components/parameters/containerId'
      tags:
      - Container Main Calls
      responses:
        '200':
          description: Get container by ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit container
      description: '- To edit the container you must have the admin permission.

        - For port edition, if you provide a port id, we will update the corresponding port. If you don''t we will create a new one. If you remove a port from the payload, we will delete it.

        - For storage edition, if you provide a storage id, we will update the corresponding storage. If you don''t we will create a new one. If you remove a storage from the payload, we will delete it.

        '
      operationId: editContainer
      parameters:
      - $ref: '#/components/parameters/containerId'
      tags:
      - Container Main Calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerRequest'
      responses:
        '200':
          description: Edit container
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Container name within the environment is already taken
    delete:
      summary: Delete container
      description: To delete the container you must have the admin permission
      operationId: deleteContainer
      parameters:
      - $ref: '#/components/parameters/containerId'
      tags:
      - Container Main Calls
      responses:
        '204':
          $ref: '#/components/responses/204-deletion'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /container/{containerId}/status:
    get:
      summary: Get container status
      operationId: getContainerStatus
      parameters:
      - $ref: '#/components/parameters/containerId'
      tags:
      - Container Main Calls
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /container/{containerId}/link:
    get:
      summary: List all URLs of the container
      description: This will return all the custom domains and Qovery autogenerated domain for the given container
      operationId: listContainerLinks
      parameters:
      - $ref: '#/components/parameters/containerId'
      tags:
      - Container Main Calls
      responses:
        '200':
          description: List links
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
components:
  schemas:
    ReferenceObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
    ServicePortResponseList:
      type: array
      items:
        $ref: '#/components/schemas/ServicePort'
    Link:
      type: object
      required:
      - service_id
      - service_type
      - url
      - internal_port
      - external_port
      - is_qovery_domain
      - is_default
      properties:
        service_id:
          type: string
          format: uuid
          description: ID of the associated service
        service_type:
          $ref: '#/components/schemas/ServiceTypeEnum'
        url:
          type: string
          description: URL to access the service
        internal_port:
          type: integer
          description: The port from which the service is reachable from within the cluster
        external_port:
          type: integer
          description: 'The port from which the service is reachable from externally (i.e: 443 for HTTPS)'
        is_qovery_domain:
          type: boolean
          description: True if the domain is managed by Qovery, false if it belongs to the user
        is_default:
          type: boolean
          description: 'Indicate if the link is using the root of the domain and not one derivated from port

            i.e:

            p8080.zxxxx.jvm.worl      => is_default = false, is_qovery = true

            zxxxx.jvm.world           => is_default = true, is_qovery = true

            p8080-my-super-domain.com => is_default = false, is_qovery = false

            my-super-domain.com       => is_default = true, is_qovery = false

            '
    ServiceLabelRequest:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
    ServiceStorage:
      type: object
      properties:
        storage:
          type: array
          items:
            type: object
            required:
            - id
            - type
            - size
            - mount_point
            properties:
              id:
                type: string
                format: uuid
              type:
                $ref: '#/components/schemas/StorageTypeEnum'
              size:
                type: integer
                description: unit is GB
                example: 16
              mount_point:
                type: string
                example: /mnt/images
    ContainerRegistryProviderDetailsResponse:
      type: object
      required:
      - id
      - name
      - url
      - kind
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        url:
          type: string
          description: URL of the container registry
        kind:
          $ref: '#/components/schemas/ContainerRegistryKindEnum'
    OrganizationAnnotationsGroupScopeEnum:
      type: string
      description: Annotations Group Scope
      enum:
      - DEPLOYMENTS
      - STATEFUL_SETS
      - SERVICES
      - INGRESS
      - GATEWAY_API_ROUTES
      - HPA
      - PODS
      - SECRETS
      - JOBS
      - CRON_JOBS
    ServiceAnnotationsRequestList:
      type: array
      items:
        $ref: '#/components/schemas/ServiceAnnotationRequest'
    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: ''
    KedaScalerRole:
      title: KedaScalerRole
      x-stoplight:
        id: 1sl0mlxoqzr8w
      type: string
      enum:
      - PRIMARY
      - SAFETY
    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'
    OrganizationLabelsGroupResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - name
        - labels
        properties:
          name:
            type: string
          labels:
            type: array
            items:
              $ref: '#/components/schemas/Label'
      title: ''
    StorageTypeEnum:
      type: string
      enum:
      - FAST_SSD
    Healthcheck:
      type: object
      nullable: false
      properties:
        readiness_probe:
          $ref: '#/components/schemas/Probe'
        liveness_probe:
          $ref: '#/components/schemas/Probe'
    ServiceAnnotationRequest:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
    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'
    ServiceTypeEnum:
      type: string
      x-stoplight:
        id: d66063cd29913
      description: type of the service (application, database, job, ...)
      enum:
      - APPLICATION
      - DATABASE
      - CONTAINER
      - JOB
      - HELM
      - TERRAFORM
      - ARGOCD_APP
    KedaAutoscalingRequest:
      title: KedaAutoscalingRequest
      x-stoplight:
        id: 4vq8n2a7z3pen
      type: object
      required:
      - mode
      - scalers
      properties:
        mode:
          $ref: '#/components/schemas/AutoscalingMode'
        polling_interval_seconds:
          type: integer
          x-stoplight:
            id: wy5blh9au1d85
          format: int32
        cooldown_period_seconds:
          type: integer
          x-stoplight:
            id: zy5rt4bh9fyph
          format: int32
        scalers:
          type: array
          x-stoplight:
            id: 6oh134v1tqb28
          minItems: 1
          items:
            $ref: '#/components/schemas/KedaScalerRequest'
    OrganizationAnnotationsGroupResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - name
        - annotations
        - scopes
        properties:
          name:
            type: string
          annotations:
            type: array
            items:
              $ref: '#/components/schemas/Annotation'
          scopes:
            type: array
            items:
              $ref: '#/components/schemas/OrganizationAnnotationsGroupScopeEnum'
    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.

        '
    Label:
      type: object
      required:
      - key
      - value
      - propagate_to_cloud_provider
      properties:
        key:
          type: string
        value:
          type: string
        propagate_to_cloud_provider:
          type: boolean
    LinkResponseList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    Probe:
      type: object
      nullable: true
      properties:
        type:
          type: object
          properties:
            tcp:
              type: object
              nullable: true
              properties:
                port:
                  type: integer
                host:
                  type: string
                  default: null
                  nullable: true
            http:
              type: object
              nullable: true
              properties:
                path:
                  type: string
                  default: /
                scheme:
                  type: string
                  default: HTTP
                port:
                  type: integer
            exec:
              type: object
              nullable: true
              description: Execute a command inside the container. The probe succeeds if the command exits with status code 0.
              properties:
                command:
                  type: array
                  description: 'Command to execute inside the container, specified as an array of strings. The first element is the executable, followed by its arguments. Example: ["sh", "-c", "test -f /tmp/healthy"]'
                  example:
                  - sh
                  - -c
                  - test -f /tmp/healthy
                  items:
                    type: string
                  minItems: 1
            grpc:
              type: object
              nullable: true
              properties:
                service:
                  type: string
                  nullable: true
                  default: null
                port:
                  type: integer
        initial_delay_seconds:
          type: integer
          default: 30
        period_seconds:
          type: integer
          default: 10
        timeout_seconds:
          type: integer
          default: 5
        success_threshold:
          type: integer
          default: 1
        failure_threshold:
          type: integer
          default: 9
    ServiceSubActionEnum:
      type: string
      default: NONE
      enum:
      - NONE
      - TERRAFORM_PLAN_ONLY
      - TERRAFORM_PLAN_AND_APPLY
      - TERRAFORM_DESTROY
      - TERRAFORM_FORCE_UNLOCK_STATE
      - TERRAFORM_MIGRATE_STATE
    KedaScalerRequest:
      title: KedaScalerRequest
      x-stoplight:
        id: hfn4tfrtivkcs
      type: object
      required:
      - scaler_type
      - role
      properties:
        scaler_type:
          type: string
          x-stoplight:
            id: 3ba9iisjwqgsp
        enabled:
          type: boolean
          x-stoplight:
            id: 9m67trg9m0ioz
        role:
          $ref: '#/components/schemas/KedaScalerRole'
        config_json:
          type: object
          x-stoplight:
            id: si5ekni2hc6w9
        config_yaml:
          type: string
          x-stoplight:
            id: 8c7vktd7svl30
        trigger_authentication:
          $ref: '#/components/schemas/KedaTriggerAuthenticationRequest'
    PortProtocolEnum:
      type: string
      default: HTTP
      enum:
      - HTTP
      - GRPC
      - TCP
      - UDP
    KedaTriggerAuthenticationRequest:
      title: KedaTriggerAuthenticationRequest
      x-stoplight:
        id: wp51tmturog3b
      type: object
      required:
      - name
      properties:
        name:
          type: string
          x-stoplight:
            id: ka4ltf1usuola
        config_yaml:
          type: string
          x-stoplight:
            id: 65znz6jclbew5
          description: Optional raw KEDA TriggerAuthentication YAML configuration.
    ServiceLabelsRequestList:
      type: array
      items:
        $ref: '#/components/schemas/ServiceLabelRequest'
    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.'
    OrganizationLabelsGroupResponseList:
      type: array
      items:
        $ref: '#/components/schemas/OrganizationLabelsGroupResponse'
      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
    ContainerRegistryKindEnum:
      type: string
      enum:
      - ECR
      - SCALEWAY_CR
      - DOCKER_HUB
      - GITHUB_CR
      - GITHUB_ENTERPRISE_CR
      - GITLAB_CR
      - PUBLIC_ECR
      - DOCR
      - GENERIC_CR
      - GCP_ARTIFACT_REGISTRY
      - AZURE_CR
      description: The type of your container registry
    Annotation:
      type: object
      required:
      - key
      - value
      properties:
        key:
          type: string
        value:
          type: string
    AutoscalingPolicyResponse:
      title: AutoscalingPolicyResponse
      x-stoplight:
        id: mjawsx6obi237
      oneOf:
      - $ref: '#/components/schemas/KedaAutoscalingResponse'
      discriminator:
        propertyName: mode
        mapping:
          KEDA: '#/components/schemas/KedaAutoscalingResponse'
    ServiceDeploymentStatusEnum:
      type: string
      enum:
      - NEVER_DEPLOYED
      - OUT_OF_DATE
      - UP_TO_DATE
    KedaScalerResponse:
      title: KedaScalerResponse
      x-stoplight:
        id: gaaqg32ivl48h
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        x-stoplight:
          id: 74tt3hgf95nfe
        required:
        - scaler_type
        - enabled
        - role
        properties:
          scaler_type:
            type: string
            x-stoplight:
              id: 1ckp76ziimkg4
          enabled:
            type: boolean
            x-stoplight:
              id: 0dnjwnlkuj3kp
          role:
            $ref: '#/components/schemas/KedaScalerRole'
          config_json:
            type: object
            nullable: true
          config_yaml:
            type: string
            nullable: true
          trigger_authentication:
            $ref: '#/components/schemas/KedaTriggerAuthenticationResponse'
    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"
    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
    ContainerRequest:
      allOf:
      - $ref: '#/components/schemas/ServiceStorageRequest'
      - $ref: '#/components/schemas/ServicePortRequest'
      - type: object
        required:
        - name
        - registry_id
        - image_name
        - tag
        - healthchecks
        properties:
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
            description: give a description to this container
          registry_id:
            type: string
            description: id of the linked registry
          image_name:
            type: string
            description: "The image name pattern differs according to chosen container registry provider:  \n* `ECR`: `repository`\n* `SCALEWAY_CR`: `namespace/image`\n* `DOCKER_HUB`: `image` or `repository/image`\n* `PUBLIC_ECR`: `registry_alias/repository`\n"
          tag:
            type: string
            description: tag of the image 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
            default: 500
            example: 1250
          memory:
            type: integer
            description: unit is MB. 1024 MB = 1GB
            default: 512
            example: 1024
          gpu:
            type: integer
            x-stoplight:
              id: j1i1u2mlnlgfm
            minimum: 0
            default: 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"
          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"
            nullable: true
          annotations_groups:
            $ref: '#/components/schemas/ServiceAnnotationsRequestList'
          labels_groups:
            $ref: '#/components/schemas/ServiceLabelsRequestList'
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the container.
            x-stoplight:
              id: jiypvl6nd63dm
          autoscaling:
            $ref: '#/components/schemas/AutoscalingPolicyRequest'
    AutoscalingPolicyRequest:
      title: AutoscalingPolicyRequest
      x-stoplight:
        id: ylgyx3ozik2hf
      oneOf:
      - $ref: '#/components/schemas/KedaAutoscalingRequest'
      discriminator:
        propertyName: mode
        mapping:
          KEDA: '#/components/schemas/KedaAutoscalingRequest'
    AutoscalingMode:
      title: AutoscalingMode
      x-stoplight:
        id: vmgo27882mrl3
      type: string
      enum:
      - KEDA
    ServicePortRequest:
      type: object
      properties:
        ports:
          type: array
          items:
            type: object
            required:
            - internal_port
            - publicly_accessible
            properties:
              id:
                type: string
                format: uuid
              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.
              publicly_accessible:
                type: boolean
                description: Expose the port to the world
              is_default:
                type: boolean
                description: is the default port to use for domain
              protocol:
                $ref: '#/components/schemas/PortProtocolEnum'
              public_path:
                type: string
                description: "Indicate the path or regex that must match for traffic to be accepted on your service\ni.e: /api/ will only accept http calls that start with /api/ \nOnly valid for publicly_accessible HTTP or GRPC ports."
              public_path_rewrite:
                type: string
                description: "Indicate the new path that will be used to reach your service after replacement\ni.e: public_path -> /(.*)  public_path_rewrite -> /api/$1 will append /api/ on all externaly requested url when reaching the service \nexternal/use url -> example.com/foobar  -> url seen by the service -> example.com/api/foobar\nOnly valid for publicly_accessible HTTP or GRPC ports."
    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
    ServiceStorageRequest:
      type: object
      properties:
        storage:
          type: array
          items:
            type: object
            required:
            - type
            - size
            - mount_point
            properties:
              id:
                type: string
                format: uuid
              type:
                $ref: '#/components/schemas/StorageTypeEnum'
              size:
                type: integer
                description: 'unit is GB

                  Minimum size is 4 GB

                  '
                example: 16
              mount_point:
       

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