import requests
url = "https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan"
payload = { "gateway_plan": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({gateway_plan: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"gateway_plan": "<string>"
}
'{
"gateway_plan": "<string>",
"plan_change_request_id": "<string>",
"resource_ids": [
"<string>"
],
"deferred_resource_ids": [
"<string>"
],
"notice": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Change UpCloud NAT gateway plan
Changes the plan of the cluster’s UpCloud NAT gateways in place. This interrupts the cluster’s outbound internet access while UpCloud rebuilds the gateway: expect several minutes without outbound access, much longer than the roughly 20 seconds UpCloud documents, so choose a quiet time and confirm with the user first. Answers 202 once the change is recorded: the gateway update job carries it out and reports it complete only after the gateway runs on the new plan and the cluster’s agent has checked in again over the restored egress. A stopped cluster’s gateways take the plan at the next start. Invalid states (empty or unlisted plan, non-UpCloud cluster, no gateway, a gateway being created or deleted) answer 409 with a detail message.
import requests
url = "https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan"
payload = { "gateway_plan": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({gateway_plan: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/api/v1/clusters/upcloud/{cluster_id}/gateway-plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"gateway_plan": "<string>"
}
'{
"gateway_plan": "<string>",
"plan_change_request_id": "<string>",
"resource_ids": [
"<string>"
],
"deferred_resource_ids": [
"<string>"
],
"notice": "<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
Body
A plan name from GET /api/v1/clusters/upcloud/gateway-plans.
Response
Change accepted
Identifies this change; the gateway's resource info records it as upcloud_gateway_plan_change_request_id once the change is carried out and egress is verified.
Running gateways handed to the reconciler now.
Gateways of a stopped cluster; the next start re-creates them on the new plan.
The egress interruption the change causes.