import requests
url = "https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/data-migration/runs"
payload = { "approval_id": "<string>" }
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({approval_id: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/data-migration/runs', 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/org/applications/{application_id}/launch-plan/data-migration/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"approval_id": "<string>"
}
'{
"id": "<string>",
"application_id": "<string>",
"approval_id": "<string>",
"cluster_id": "<string>",
"commit_sha": "<string>",
"status": "running",
"plan": {},
"run": {},
"targets": {},
"environment_names": [
"<string>"
],
"rollback_requested_at": "2023-11-07T05:31:56Z",
"rollback_closes_at": "2023-11-07T05:31:56Z",
"started_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Start a Launch Plan data migration
Starts the data migration a plan-level approval covers (ankra-bjkszh.15): moves the application’s data off the vendors the approval selected, through the backup vault it named, to the in-cluster servers in targets, and flips the variables in environment at the cutover. Starting claims every data-migration action of the plan under the approval in one transaction, through the same gate a single claim passes, so it is refused unless the approval is the caller’s own, unexpired, unrevoked, still bound to the live plan, lists every data-migration action, and the caller still holds each action’s permission. The environment values go to the secret store only and are never answered. One data migration is in flight per application. Requires applications.write. Audited, refusals included.
import requests
url = "https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/data-migration/runs"
payload = { "approval_id": "<string>" }
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({approval_id: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/data-migration/runs', 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/org/applications/{application_id}/launch-plan/data-migration/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"approval_id": "<string>"
}
'{
"id": "<string>",
"application_id": "<string>",
"approval_id": "<string>",
"cluster_id": "<string>",
"commit_sha": "<string>",
"status": "running",
"plan": {},
"run": {},
"targets": {},
"environment_names": [
"<string>"
],
"rollback_requested_at": "2023-11-07T05:31:56Z",
"rollback_closes_at": "2023-11-07T05:31:56Z",
"started_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Starts the data migration an approval covers.
The in-cluster server each dependency's data lands in, by dependency key: postgres is the CloudNativePG Service (namespace, host, port, password_secret) a dump restores into.
Show child attributes
Show child attributes
The value every variable the cutover rewires takes, no more. Stored in the secret store only.
Show child attributes
Show child attributes
Response
The started run
One data-migration run of a Launch Plan (schema ankra.data-migration/v1, enginekit/datamigration). It carries the names of the staged environment values, never a value.
running, cut-over, completed, failed, rolling-back, rolled-back, rollback-failed The data-migration plan the approval covered: migrations, steps, environment changes, rollback steps, teardown checklist, actions and findings.
The state machine's run: every step and rollback step with its status, timestamps, detail and verification, the cutover time, and the failed step and reason.
Show child attributes
Show child attributes
When the rollback window closes; null before the cutover.