Azioni
Le azioni rappresentano lo stato di una richiesta nel tempo, sono molto importanti per tracciare quelle che sono tutte le richieste asincrone attive, completate o fallite e il loro stato attuale.
Ultime Azioni
Per ottenere le ultime 50 azioni è disponibile una semplice richiesta:
Richiesta HTTP
GET /ecs/v2/actions
Risposta HTTP
{
"status": "ok",
"actions": [
{
"id": 709, //action id
"status": "completed", //stato corrente dell'azione' ['in-progress', 'completed', 'failed'],
"user": "foo",
"created_at": "2024-10-19T15:08:55.887799+00:00",
"started_at": "2024-10-19T15:08:55.887284+00:00",
"completed_at": "2024-10-19T15:09:56.067592+00:00",
"resource": "ec200285", //su che oggetto va a lavorare l'azione,
"resource_type": "ECS", //tipo di risorsa
"type": "delete_server", //tipologia di azione
"progress": 100 //progresso
}
{
"id": 708,
"status": "completed",
"user": "foo",
"created_at": "2024-10-18T15:08:55.887799+00:00",
"started_at": "2024-10-18T15:08:55.887284+00:00",
"completed_at": "2024-10-18T15:09:56.067592+00:00",
"resource": "ec200285",
"resource_type": "ECS",
"type": "new_server",
"progress": 100
},
...
],
"total_actions": 754 //tutte le azioni disponibili
}
Cercare tra le azioni
Per fare ricerche mirate tra le azioni la nostra richiesta espone diversi parametri che permettono di paginare i risultati e ricercare le nostre azioni per risorsa.
Paginazione
Per paginare i risultati sono disponibili i parametri 'start' e 'length', che definiscono rispettivamente:
- Da quale azione voglio iniziare la mia paginazione
- Quante azioni deve durare
Prendiamo per esempio la necessita di ottenere 20 azioni saltando le ultime 40 azioni.
Richiesta HTTP
GET /ecs/v2/actions?start=40&length=20
Info
Ricorda le azioni vengono sempre ordinate in base alla più recente.
Ricerca per risorsa
Oltre la paginazione un'altra funzionalità importante da utilizzare sulle azioni è la ricerca per risorsa, tale operazione può essere eseguita utilizzando il parametro 'resource'.
Poniamo di voler cercare tutti le azioni che riguardano 'ec000001'.
Richiesta HTTP
GET /ecs/v2/actions?resource=ec000001
Info
Ricorda se viene utilizzata sia la paginazione che la ricerca per risorsa la prima ha precedenza sulla seconda.
se eseguo la seguente richiesta:
GET /ecs/v2/actions?resource=ec000001&start=40&length=20
otterro 20 azioni che riguardano ec000001 saltando le prime 40, la paginazione verra quindi fatta dopo aver estratto le azioni riguardanti ec000001.
Una specifica Azione
Ovviamente è anche possibile monitorare una singola azione, ciò può essere utile per verificare la creazione o meno di un server.
Per fare ciò è sufficiente la seguente richiesta:
Richiesta HTTP
GET /ecs/v2/actions/{actionid}
Risposta HTTP
{
"status": "ok",
"action": {
"id": 709, //action id
"status": "completed", //stato corrente dell'azione' ['in-progress', 'completed', 'failed'],
"user": "foo",
"created_at": "2024-10-19T15:08:55.887799+00:00",
"started_at": "2024-10-19T15:08:55.887284+00:00",
"completed_at": "2024-10-19T15:09:56.067592+00:00",
"resource": "ec200285", //su che oggetto va a lavorare l'azione,
"resource_type": "ECS", //tipo di risorsa
"type": "delete_server", //tipologia di azione
"progress": 100 //progresso
}
}