import requests
url = "https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision \
--header 'Authorization: Bearer <token>'{
"marked_to_start_at": "2023-11-07T05:31:56Z",
"created_operations": 0,
"scope": "all",
"state_restore": "requested",
"state_snapshot_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state_snapshot": {
"captured_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trigger": "<string>"
},
"captured_state_snapshots": 0,
"state_restore_message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Start a cluster
Starts a stopped cluster, retries a start whose control plane never came up (the cluster offline or provider_without_access), or brings back parked workers with the default scope; any other state answers 409. Pass scope=control_plane to start only the control plane (the default starts everything), and restore_state=false to boot an empty etcd instead of restoring a captured cluster state snapshot. By default a cluster whose stop deleted its VMs restores a restore already requested, otherwise the newest snapshot captured after its last start (the stop’s own capture, otherwise the newest scheduled backup); an older one is restored only when named with restore_snapshot_id. A paused cluster keeps its etcd and gets no new restore. The answer’s state_restore, state_snapshot and state_restore_message say which snapshot is restored. Answers 409 when the cluster cannot be started in its current state.
import requests
url = "https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/clusters/{cluster_id}/provision \
--header 'Authorization: Bearer <token>'{
"marked_to_start_at": "2023-11-07T05:31:56Z",
"created_operations": 0,
"scope": "all",
"state_restore": "requested",
"state_snapshot_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state_snapshot": {
"captured_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trigger": "<string>"
},
"captured_state_snapshots": 0,
"state_restore_message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
'control_plane' to only provision control plane, or 'all' (default)
Response
Successful Response
What the first control plane does with the cluster's etcd: requested (it restores state_snapshot), none (nothing captured, or the cluster kept its etcd), skipped (restore_state=false: it bootstraps an empty etcd).
requested, none, skipped The restored snapshot's id, set with state_restore=requested.
The restored snapshot, set with state_restore=requested.
Show child attributes
Show child attributes
How many captured state snapshots of the cluster a start could restore, the restored one included.
One sentence on what happens to the cluster's state: the snapshot restored (id, trigger, capture time), or that the cluster boots with an empty etcd and how many captured snapshots are left unrestored.