import requests
url = "https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id} \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {
"schema_version": 1,
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generation": 2,
"namespace": "<string>",
"stack": {
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "deployed",
"members": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "addon",
"name": "<string>",
"namespace": "<string>"
}
],
"member_digest": "<string>"
},
"nothing_deployed": true,
"owned_draft_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consumers_to_disconnect": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>"
}
],
"shared_kept": [
{
"stack_name": "<string>",
"title": "<string>"
}
],
"data": {
"namespace_deleted": true,
"volumes_deleted": true,
"secrets_deleted": true,
"export_offered": true,
"restore_points": "kept_per_vault_retention",
"statement": "<string>"
},
"expires_at": "2023-11-07T05:31:56Z",
"namespace_contents": {
"observed_at": "2023-11-07T05:31:56Z",
"complete": true,
"incomplete_reason": "<string>",
"items": [
{
"resource_type": "<string>",
"kind": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"owner": {
"kind": "<string>",
"name": "<string>"
}
}
],
"volumes": [
{
"claim_name": "<string>",
"claim_uid": "<string>",
"created_by_service": true,
"storage_class": "<string>",
"volume_name": "<string>",
"reclaim_policy": "<string>"
}
]
},
"cluster_deleted": true
},
"digest": "<string>",
"state": "pending",
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z",
"phase": "retire_stack",
"settled_at": "2023-11-07T05:31:56Z",
"outcome": "retired",
"reason": "<string>",
"volume_disposal": {
"observed_at": "2023-11-07T05:31:56Z",
"volumes": [
{
"claim_name": "<string>",
"volume_name": "<string>",
"state": "deleted",
"reclaim_policy": "<string>",
"phase": "<string>"
}
],
"retained_volumes": [
"<string>"
],
"complete": true
}
}Get a managed-service retirement
Requires the applications rollout flag, applications.deploy, and on the service cluster clusters.operate, stacks.delete and clusters.read, plus clusters.read on every consumer cluster, all intersected with live token scopes. Returns a retirement its actor prepared, with its state, phase and outcome. Another actor’s retirement is not found.
import requests
url = "https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id} \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {
"schema_version": 1,
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generation": 2,
"namespace": "<string>",
"stack": {
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "deployed",
"members": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "addon",
"name": "<string>",
"namespace": "<string>"
}
],
"member_digest": "<string>"
},
"nothing_deployed": true,
"owned_draft_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consumers_to_disconnect": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>"
}
],
"shared_kept": [
{
"stack_name": "<string>",
"title": "<string>"
}
],
"data": {
"namespace_deleted": true,
"volumes_deleted": true,
"secrets_deleted": true,
"export_offered": true,
"restore_points": "kept_per_vault_retention",
"statement": "<string>"
},
"expires_at": "2023-11-07T05:31:56Z",
"namespace_contents": {
"observed_at": "2023-11-07T05:31:56Z",
"complete": true,
"incomplete_reason": "<string>",
"items": [
{
"resource_type": "<string>",
"kind": "<string>",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"owner": {
"kind": "<string>",
"name": "<string>"
}
}
],
"volumes": [
{
"claim_name": "<string>",
"claim_uid": "<string>",
"created_by_service": true,
"storage_class": "<string>",
"volume_name": "<string>",
"reclaim_policy": "<string>"
}
]
},
"cluster_deleted": true
},
"digest": "<string>",
"state": "pending",
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z",
"phase": "retire_stack",
"settled_at": "2023-11-07T05:31:56Z",
"outcome": "retired",
"reason": "<string>",
"volume_disposal": {
"observed_at": "2023-11-07T05:31:56Z",
"volumes": [
{
"claim_name": "<string>",
"volume_name": "<string>",
"state": "deleted",
"reclaim_policy": "<string>",
"phase": "<string>"
}
],
"retained_volumes": [
"<string>"
],
"complete": true
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
The actor's retirement with its progress.
The server-resolved statement of what the retirement removes and keeps. The digest covers all of it; nothing in it is supplied by the client.
Show child attributes
Show child attributes
^sha256:[a-f0-9]{64}$pending and expired describe an unconfirmed review's window; in_progress and settled a confirmed retirement.
pending, expired, in_progress, settled The confirmation's receipt: the execution carrying out the retirement.
retire_stack, await_teardown, dispose_data Only retired releases the service's name; every other outcome keeps it reserved and reason says why.
retired, removal_failed, disposal_unknown, refused, interrupted Why the retirement ended other than retired. A retired outcome carries one only when a reviewed volume still holds the service's data or could not be confirmed gone.
What the retirement lane observed of the reviewed volumes once the namespace was gone: deleting a claim releases its volume, and the volume's reclaim policy decides its data. Each reviewed volume is read live; retained_volumes names exactly the persistent volumes that still hold the service's data, which Ankra does not delete (deleting a retained PersistentVolume would leave its disk behind). Null until the retirement settles retired, and for one that deleted no namespace or was reviewed before the namespace contents were read.
Show child attributes
Show child attributes