Skip to content

Clusters

All operations require authentication.

13 operationsv2/publicCloud/project
Agent setup

List managed Kubernetes clustersBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes

Path parameters

projectId
required
string

Project ID

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Cluster[]successful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ null ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": null, "syncPeriod": null }, "ipvs": { "minSyncPeriod": null, "scheduler": null, "syncPeriod": null, "tcpFinTimeout": null, "tcpTimeout": null, "udpTimeout": null }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": null, "serviceType": null }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": null }, "ui": { "backendResources": null, "enabled": null, "frontendResources": null } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": null } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ null ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": null, "syncPeriod": null }, "ipvs": { "minSyncPeriod": null, "scheduler": null, "syncPeriod": null, "tcpFinTimeout": null, "tcpTimeout": null, "udpTimeout": null }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": null, "serviceType": null }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": null }, "ui": { "backendResources": null, "enabled": null, "frontendResources": null } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": null } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z" }]

Get a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Create a managed Kubernetes clusterBeta

POST
/v2/publicCloud/project/{projectId}/managedKubernetes

Path parameters

projectId
required
string

Project ID

Request body (required)

targetSpec
required
ClusterTargetSpec

Desired cluster specification

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a managed Kubernetes clusterBeta

DELETE
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a managed Kubernetes clusterBeta

PUT
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Request body (required)

checksum
string

Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).

targetSpec
required
ClusterUpdateTargetSpec

Updated cluster specification with mutable fields only

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Retrieve the cluster admin kubeconfigBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/kubeconfig

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200Kubeconfigsuccessful operation
content
read-only
string

Kubeconfig file content in YAML format

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/kubeconfig \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "content": "string"}

Reset the cluster admin kubeconfigBeta

POST
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/kubeconfig/reset

Rotates the cluster admin credentials asynchronously. The previous kubeconfig stops working.

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/kubeconfig/reset \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Restart the control plane of a managed Kubernetes clusterBeta

POST
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/restart

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Request body (required)

force
boolean

Force the restart. When true the API server may be briefly unavailable. Defaults to false.

Response

200Clustersuccessful operation
checksum
read-only
string

Concurrency control hash of the target specification

createdAt
read-only
stringdate-time

Cluster creation timestamp

currentState
read-only
ClusterCurrentState

Actual cluster state

currentTasks
read-only
CurrentTask[]

In-progress asynchronous operations on the cluster

id
read-only
stringuuid

Unique identifier of the cluster

resourceStatus
read-only
ResourceStatusEnum

Current lifecycle status of the cluster

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
ClusterTargetSpec

Desired cluster specification

updatedAt
read-only
stringdate-time

Last cluster modification timestamp

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/restart \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] }, "publicEndpoint": { "url": "string" } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "deployedVersion": "string", "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "apiServer": { "access": { "authorizedIps": { "rules": [ { "cidr": null } ] } }, "admissionPlugins": { "key": { "enabled": true } } }, "authentication": { "oidc": { "caContent": "string", "clientId": "string", "groupsClaim": [ "string" ], "groupsPrefix": "string", "issuerUrl": "string", "requiredClaim": [ "string" ], "signingAlgs": [ "ES256" ], "usernameClaim": "string", "usernamePrefix": "string" }, "type": "OIDC" }, "autoUpgrade": { "patch": { "enabled": true } }, "cni": { "canal": { "kubeProxy": { "iptables": { "minSyncPeriod": "string", "syncPeriod": "string" }, "ipvs": { "minSyncPeriod": "string", "scheduler": "DESTINATION_HASHING", "syncPeriod": "string", "tcpFinTimeout": "string", "tcpTimeout": "string", "udpTimeout": "string" }, "mode": "IPTABLES" } }, "cilium": { "clusterId": 0, "clusterMesh": { "apiServer": { "nodePort": 0, "serviceType": "LoadBalancer" }, "enabled": true }, "hubble": { "enabled": true, "relay": { "enabled": true }, "ui": { "backendResources": { "limits": null, "requests": null }, "enabled": true, "frontendResources": { "limits": null, "requests": null } } } }, "type": "CANAL" }, "ipAllocationPolicy": { "pods": "192.0.2.0/24", "services": "192.0.2.0/24" }, "name": "string", "network": { "type": "PUBLIC", "vrack": { "defaultEgress": { "type": "MANAGED_GATEWAY", "userGateway": { "ip": "192.0.2.0" } }, "loadBalancerSubnetId": "00000000-0000-0000-0000-000000000000", "privateNetworkId": "00000000-0000-0000-0000-000000000000", "subnetId": "00000000-0000-0000-0000-000000000000" } }, "plan": "FREE", "region": "string", "version": "string" }, "updatedAt": "2024-01-01T12:00:00Z"}

Get the versions of a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/capabilities/version

Returns the full version deployed on the cluster, the patch versions of the current minor it can update to, and the versions of the next minor it can upgrade to. Multi-minor jumps are never returned.

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200ClusterVersionssuccessful operation
availableUpdates
read-only
VersionReference[]

Patch versions of the current minor the cluster can update to, for example 1.32.8-1 to 1.32.8-2

availableUpgrades
read-only
VersionReference[]

Versions of the next minor the cluster can upgrade to, for example 1.32.8-1 to 1.33.1-2. Multi-minor jumps are never listed.

currentVersion
read-only
string

Full Kubernetes version currently deployed on the cluster, for example 1.32.8-1

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/capabilities/version \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "availableUpdates": [ { "status": "END_OF_SUPPORT", "version": "string" } ], "availableUpgrades": [ { "status": "END_OF_SUPPORT", "version": "string" } ], "currentVersion": "string"}

Get the etcd database usage and quota for a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/usage/etcd

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Response

200EtcdUsagesuccessful operation
limit
read-only
integer

Etcd storage quota in bytes

used
read-only
integer

Current etcd storage usage in bytes

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/usage/etcd \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "limit": 0, "used": 0}

List all events related to a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/event

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Query parameters

taskId
stringuuid

Return only the events belonging to this task

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Event[]successful operation
createdAt
read-only
stringdate-time

Creation date of the event

kind
read-only
string

Nature of the event

link
read-only
string

Link to the event related resource

message
read-only
string

Description of what happened on the event

type
read-only
EventTypeEnum

Type of the event

ValuesTARGET_SPEC_UPDATETASK_ERRORTASK_STARTTASK_SUCCESS

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/event \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "createdAt": "2024-01-01T12:00:00Z", "kind": "string", "link": "string", "message": "string", "type": "TARGET_SPEC_UPDATE" }]

List all tasks related to a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/task

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Task[]successful operation
createdAt
read-only
stringdate-time

Creation date of the task

errors
read-only
TaskError[]

Errors that occurred on the task

finishedAt
read-only
stringdate-time

Ending date of the task

id
read-only
stringuuid

Unique identifier of the task

link
read-only
string

Link to the related resource

message
read-only
string

Description of the task

progress
read-only
TaskProgress[]

Progress steps of the asynchronous operation

startedAt
read-only
stringdate-time

Starting date of the task

status
read-only
TaskStatusEnum

Current global status of the task

ValuesDONEERRORPENDINGRUNNINGSCHEDULEDWAITING_USER_INPUT
type
read-only
string

Type of the task

updatedAt
read-only
stringdate-time

Last update of the task

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/task \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "createdAt": "2024-01-01T12:00:00Z", "errors": [ { "message": "string" } ], "finishedAt": "2024-01-01T12:00:00Z", "id": "00000000-0000-0000-0000-000000000000", "link": "string", "message": "string", "progress": [ { "name": "string", "status": "DONE" } ], "startedAt": "2024-01-01T12:00:00Z", "status": "DONE", "type": "string", "updatedAt": "2024-01-01T12:00:00Z" }]

Get a specific task related to a managed Kubernetes clusterBeta

GET
/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/task/{taskId}

Path parameters

managedKubernetesId
required
stringuuid

Managed kubernetes ID

projectId
required
string

Project ID

taskId
required
stringuuid

Task ID

Response

200Tasksuccessful operation
createdAt
read-only
stringdate-time

Creation date of the task

errors
read-only
TaskError[]

Errors that occurred on the task

finishedAt
read-only
stringdate-time

Ending date of the task

id
read-only
stringuuid

Unique identifier of the task

link
read-only
string

Link to the related resource

message
read-only
string

Description of the task

progress
read-only
TaskProgress[]

Progress steps of the asynchronous operation

startedAt
read-only
stringdate-time

Starting date of the task

status
read-only
TaskStatusEnum

Current global status of the task

ValuesDONEERRORPENDINGRUNNINGSCHEDULEDWAITING_USER_INPUT
type
read-only
string

Type of the task

updatedAt
read-only
stringdate-time

Last update of the task

Example uses managedKubernetesId = 00000000-0000-0000-0000-000000000000, projectId = string, taskId = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/managedKubernetes/{managedKubernetesId}/task/{taskId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "createdAt": "2024-01-01T12:00:00Z", "errors": [ { "message": "string" } ], "finishedAt": "2024-01-01T12:00:00Z", "id": "00000000-0000-0000-0000-000000000000", "link": "string", "message": "string", "progress": [ { "name": "string", "status": "DONE" } ], "startedAt": "2024-01-01T12:00:00Z", "status": "DONE", "type": "string", "updatedAt": "2024-01-01T12:00:00Z"}