Skip to main content
PUT
/
organization
/
{organizationId}
/
cluster
/
{clusterId}
Edit a cluster
curl --request PUT \
  --url https://api.qovery.com/organization/{organizationId}/cluster/{clusterId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "region": "<string>",
  "cloud_provider": "AWS",
  "description": "<string>",
  "cloud_provider_credentials": {
    "cloud_provider": "AWS",
    "credentials": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>"
    },
    "region": "<string>"
  },
  "min_running_nodes": 1,
  "max_running_nodes": 1,
  "disk_size": 50,
  "disk_iops": 7800,
  "disk_throughput": 255,
  "instance_type": "T3A_LARGE",
  "kubernetes": "MANAGED",
  "production": true,
  "ssh_keys": [
    "<string>"
  ],
  "features": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "value": "<string>"
    }
  ],
  "metrics_parameters": {
    "enabled": true,
    "configuration": {
      "kind": "MANAGED_BY_QOVERY",
      "resource_profile": "LOW",
      "high_availability": true
    }
  },
  "infrastructure_charts_parameters": {
    "nginx_parameters": {
      "replica_count": 1,
      "default_ssl_certificate": "<string>",
      "publish_status_address": "<string>",
      "annotation_metal_lb_load_balancer_ips": "<string>",
      "annotation_external_dns_kubernetes_target": "<string>"
    },
    "cert_manager_parameters": {
      "kubernetes_namespace": "<string>"
    },
    "metal_lb_parameters": {
      "ip_address_pools": [
        "<string>"
      ]
    }
  },
  "labels_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "secret_manager_accesses": [
    {
      "name": "<string>",
      "endpoint": {
        "mode": "AWS_SECRET_MANAGER",
        "region": "<string>"
      },
      "authentication": {
        "mode": "AUTOMATICALLY_CONFIGURED"
      },
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ]
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_at": "2023-11-07T05:31:56Z",
  "organization": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "name": "<string>",
  "region": "<string>",
  "cloud_provider": "AWS",
  "updated_at": "2023-11-07T05:31:56Z",
  "description": "<string>",
  "min_running_nodes": 1,
  "max_running_nodes": 1,
  "disk_size": 50,
  "disk_iops": 7800,
  "disk_throughput": 255,
  "instance_type": "T3A_LARGE",
  "kubernetes": "MANAGED",
  "cpu": 10000,
  "memory": 4096,
  "estimated_cloud_provider_cost": 123,
  "status": "BUILDING",
  "has_access": true,
  "version": "<string>",
  "is_default": true,
  "is_demo": true,
  "production": true,
  "ssh_keys": [
    "<string>"
  ],
  "features": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "title": "<string>",
      "description": "<string>",
      "cost_per_month_in_cents": 9900,
      "cost_per_month": 99,
      "currency_code": "USD",
      "is_cloud_provider_paying_feature": true,
      "cloud_provider_feature_documentation": "https://cloud.provider.doc/feature",
      "is_qovery_paying_feature": true,
      "qovery_feature_documentation": "https://qovery.doc/feature",
      "value_type": "BOOLEAN",
      "value_object": {
        "type": "STRING",
        "value": "<string>"
      },
      "is_value_updatable": false,
      "accepted_values": [
        "<string>"
      ]
    }
  ],
  "deployment_status": "NEVER_DEPLOYED",
  "metrics_parameters": {
    "enabled": true,
    "configuration": {
      "kind": "MANAGED_BY_QOVERY",
      "resource_profile": "LOW",
      "cloud_watch_export_config": {
        "enabled": true
      },
      "high_availability": true,
      "internal_network_monitoring": {
        "enabled": true
      },
      "alerting": {
        "enabled": true,
        "default_rule_labels": {},
        "spec_config_secret": "<string>",
        "spec_external_url": "<string>",
        "config_name": "<string>"
      }
    }
  },
  "infrastructure_outputs": {
    "kind": "AKS",
    "cluster_name": "<string>",
    "cluster_oidc_issuer": "<string>"
  },
  "infrastructure_charts_parameters": {
    "nginx_parameters": {
      "replica_count": 1,
      "default_ssl_certificate": "<string>",
      "publish_status_address": "<string>",
      "annotation_metal_lb_load_balancer_ips": "<string>",
      "annotation_external_dns_kubernetes_target": "<string>"
    },
    "cert_manager_parameters": {
      "kubernetes_namespace": "<string>"
    },
    "metal_lb_parameters": {
      "ip_address_pools": [
        "<string>"
      ]
    },
    "eks_anywhere_parameters": {
      "git_repository": {
        "url": "https://github.com/Qovery/eks-anywhere-config.git",
        "git_token_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "branch": "main",
        "commit_id": "4e3128725f47140002fa47d65d83195a51f5140f",
        "provider": "BITBUCKET"
      },
      "yaml_file_path": "/clusters/cluster-a.yaml",
      "cluster_backup": {
        "s3": {
          "bucket": "<string>",
          "region": "<string>",
          "role_arn": "<string>",
          "key_prefix": "<string>"
        },
        "enabled": true,
        "timeout_seconds": 300,
        "certs_secret_name": "<string>"
      }
    }
  },
  "keda": {
    "enabled": true
  },
  "labels_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "secret_manager_accesses": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "endpoint": {
        "mode": "AWS_SECRET_MANAGER",
        "region": "<string>"
      },
      "authentication": {
        "mode": "AUTOMATICALLY_CONFIGURED"
      }
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://qovery-feat-new-navigation.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example ' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" '

Path Parameters

organizationId
string<uuid>
required

Organization ID

clusterId
string<uuid>
required

Cluster ID

Body

application/json
name
string
required

name is case-insensitive

region
string
required
cloud_provider
enum<string>
required
Available options:
AWS,
SCW,
GCP,
DO,
AZURE,
OVH,
CIVO,
HETZNER,
ORACLE,
IBM,
ON_PREMISE
description
string
cloud_provider_credentials
object
min_running_nodes
integer
default:1
max_running_nodes
integer
default:1
disk_size
integer
default:40

Unit is in GB. The disk size to be used for the node configuration

Example:

50

disk_iops
integer

Unit is operation/seconds. The disk IOPS to be used for the node configuration

Required range: 3000 <= x <= 16000
Example:

7800

disk_throughput
integer

Unit is in MB/s. The disk thoughput to be used for the node configuration

Required range: 125 <= x <= 1000
Example:

255

instance_type
string

the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType

Example:

"T3A_LARGE"

kubernetes
enum<string>
default:MANAGED
Available options:
MANAGED,
SELF_MANAGED,
PARTIALLY_MANAGED
production
boolean

specific flag to indicate that this cluster is a production one

ssh_keys
string[]

Indicate your public ssh_key to remotely connect to your EC2 instance.

features
object[]
metrics_parameters
MetricsParameters · object
infrastructure_charts_parameters
object
keda
ClusterKeda · object
labels_groups
ClusterLabelsGroup · object[]
secret_manager_accesses
SecretManagerAccessRequestList · object[]

Response

Edited the cluster

id
string<uuid>
required
read-only
created_at
string<date-time>
required
read-only
organization
object
required
name
string
required

name is case-insensitive

region
string
required
cloud_provider
enum<string>
required
Available options:
AWS,
SCW,
GCP,
DO,
AZURE,
OVH,
CIVO,
HETZNER,
ORACLE,
IBM,
ON_PREMISE
updated_at
string<date-time>
read-only
description
string
min_running_nodes
integer
default:1
max_running_nodes
integer
default:1
disk_size
integer
default:20

Unit is in GB. The disk size to be used for the node configuration

Example:

50

disk_iops
integer

Unit is operation/seconds. The disk IOPS to be used for the node configuration

Required range: 3000 <= x <= 16000
Example:

7800

disk_throughput
integer

Unit is in MB/s. The disk thoughput to be used for the node configuration

Required range: 125 <= x <= 1000
Example:

255

instance_type
string

the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType

Example:

"T3A_LARGE"

kubernetes
enum<string>
default:MANAGED
Available options:
MANAGED,
SELF_MANAGED,
PARTIALLY_MANAGED
cpu
integer

unit is millicores (m). 1000m = 1 cpu

Example:

10000

memory
integer

unit is MB. 1024 MB = 1GB

Example:

4096

estimated_cloud_provider_cost
integer

This is an estimation of the cost this cluster will represent on your cloud proider bill, based on your current configuration

status
enum<string>
Available options:
BUILDING,
BUILD_ERROR,
CANCELED,
CANCELING,
DELETED,
DELETE_ERROR,
DELETE_QUEUED,
DELETING,
DEPLOYED,
DEPLOYING,
DEPLOYMENT_ERROR,
DEPLOYMENT_QUEUED,
DRY_RUN,
QUEUED,
READY,
STOPPED,
STOPPING,
STOP_ERROR,
STOP_QUEUED,
RESTART_QUEUED,
RESTARTING,
RESTARTED,
RESTART_ERROR,
INVALID_CREDENTIALS
has_access
boolean
version
string
is_default
boolean
is_demo
boolean

specific flag to indicate that this cluster is a demo one

production
boolean

specific flag to indicate that this cluster is a production one

ssh_keys
string[]

Indicate your public ssh_key to remotely connect to your EC2 instance.

features
object[]
deployment_status
enum<string>
Available options:
NEVER_DEPLOYED,
OUT_OF_DATE,
UP_TO_DATE
metrics_parameters
MetricsParameters · object
infrastructure_outputs
object
infrastructure_charts_parameters
object
keda
ClusterKeda · object
labels_groups
ClusterLabelsGroup · object[]
secret_manager_accesses
SecretManagerAccessList · object[]