curl --request POST \
--url https://api.qovery.com/organization/{organizationId}/cluster \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"region": "<string>",
"description": "<string>",
"cloud_provider_credentials": {
"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",
"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"
}
]
}
'import requests
url = "https://api.qovery.com/organization/{organizationId}/cluster"
payload = {
"name": "<string>",
"region": "<string>",
"description": "<string>",
"cloud_provider_credentials": {
"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",
"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"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
region: '<string>',
description: '<string>',
cloud_provider_credentials: {
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', 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'
}
]
})
};
fetch('https://api.qovery.com/organization/{organizationId}/cluster', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qovery.com/organization/{organizationId}/cluster",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'region' => '<string>',
'description' => '<string>',
'cloud_provider_credentials' => [
'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',
'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'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/organization/{organizationId}/cluster"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.qovery.com/organization/{organizationId}/cluster")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/organization/{organizationId}/cluster")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "<string>",
"region": "<string>",
"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,
"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": {
"value": "<string>"
},
"is_value_updatable": false,
"accepted_values": [
"<string>"
]
}
],
"metrics_parameters": {
"enabled": true,
"configuration": {
"kind": "MANAGED_BY_QOVERY",
"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"
},
"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"
}
}
]
}Create a cluster
curl --request POST \
--url https://api.qovery.com/organization/{organizationId}/cluster \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"region": "<string>",
"description": "<string>",
"cloud_provider_credentials": {
"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",
"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"
}
]
}
'import requests
url = "https://api.qovery.com/organization/{organizationId}/cluster"
payload = {
"name": "<string>",
"region": "<string>",
"description": "<string>",
"cloud_provider_credentials": {
"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",
"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"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
region: '<string>',
description: '<string>',
cloud_provider_credentials: {
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', 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'
}
]
})
};
fetch('https://api.qovery.com/organization/{organizationId}/cluster', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qovery.com/organization/{organizationId}/cluster",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'region' => '<string>',
'description' => '<string>',
'cloud_provider_credentials' => [
'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',
'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'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/organization/{organizationId}/cluster"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.qovery.com/organization/{organizationId}/cluster")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/organization/{organizationId}/cluster")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"region\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_provider_credentials\": {\n \"credentials\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\"\n },\n \"region\": \"<string>\"\n },\n \"min_running_nodes\": 1,\n \"max_running_nodes\": 1,\n \"disk_size\": 50,\n \"disk_iops\": 7800,\n \"disk_throughput\": 255,\n \"instance_type\": \"T3A_LARGE\",\n \"kubernetes\": \"MANAGED\",\n \"production\": true,\n \"ssh_keys\": [\n \"<string>\"\n ],\n \"features\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"value\": \"<string>\"\n }\n ],\n \"metrics_parameters\": {\n \"enabled\": true,\n \"configuration\": {\n \"kind\": \"MANAGED_BY_QOVERY\",\n \"high_availability\": true\n }\n },\n \"infrastructure_charts_parameters\": {\n \"nginx_parameters\": {\n \"replica_count\": 1,\n \"default_ssl_certificate\": \"<string>\",\n \"publish_status_address\": \"<string>\",\n \"annotation_metal_lb_load_balancer_ips\": \"<string>\",\n \"annotation_external_dns_kubernetes_target\": \"<string>\"\n },\n \"cert_manager_parameters\": {\n \"kubernetes_namespace\": \"<string>\"\n },\n \"metal_lb_parameters\": {\n \"ip_address_pools\": [\n \"<string>\"\n ]\n }\n },\n \"labels_groups\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"secret_manager_accesses\": [\n {\n \"name\": \"<string>\",\n \"endpoint\": {\n \"mode\": \"AWS_SECRET_MANAGER\",\n \"region\": \"<string>\"\n },\n \"authentication\": {\n \"mode\": \"AUTOMATICALLY_CONFIGURED\"\n },\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "<string>",
"region": "<string>",
"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,
"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": {
"value": "<string>"
},
"is_value_updatable": false,
"accepted_values": [
"<string>"
]
}
],
"metrics_parameters": {
"enabled": true,
"configuration": {
"kind": "MANAGED_BY_QOVERY",
"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"
},
"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"
}
}
]
}Authorizations
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
Organization ID
Body
name is case-insensitive
AWS, SCW, GCP, DO, AZURE, OVH, CIVO, HETZNER, ORACLE, IBM, ON_PREMISE Show child attributes
Show child attributes
Unit is in GB. The disk size to be used for the node configuration
50
Unit is operation/seconds. The disk IOPS to be used for the node configuration
3000 <= x <= 160007800
Unit is in MB/s. The disk thoughput to be used for the node configuration
125 <= x <= 1000255
the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType
"T3A_LARGE"
MANAGED, SELF_MANAGED, PARTIALLY_MANAGED specific flag to indicate that this cluster is a production one
Indicate your public ssh_key to remotely connect to your EC2 instance.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Create cluster
Show child attributes
Show child attributes
name is case-insensitive
AWS, SCW, GCP, DO, AZURE, OVH, CIVO, HETZNER, ORACLE, IBM, ON_PREMISE Unit is in GB. The disk size to be used for the node configuration
50
Unit is operation/seconds. The disk IOPS to be used for the node configuration
3000 <= x <= 160007800
Unit is in MB/s. The disk thoughput to be used for the node configuration
125 <= x <= 1000255
the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType
"T3A_LARGE"
MANAGED, SELF_MANAGED, PARTIALLY_MANAGED unit is millicores (m). 1000m = 1 cpu
10000
unit is MB. 1024 MB = 1GB
4096
This is an estimation of the cost this cluster will represent on your cloud proider bill, based on your current configuration
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 specific flag to indicate that this cluster is a demo one
specific flag to indicate that this cluster is a production one
Indicate your public ssh_key to remotely connect to your EC2 instance.
Show child attributes
Show child attributes
NEVER_DEPLOYED, OUT_OF_DATE, UP_TO_DATE Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?