Vai al contenuto

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
    }
}