Convalidare una richiesta Cloud tipizzata

Verifica localmente una richiesta di progetto, membro, sorgente o spazio di lavoro ed esaminane l’anteprima tipizzata con Altifigence CLI.

Utilizza Altifigence CLI 0.1.9 su Linux per convalidare un documento di richiesta tipizzata e controllarne metodo, percorso, intestazioni e corpo.

Preparare la richiesta

Salva questo esempio come request.json:

{
  "schema": "altifigence.dds.cloud-request.v1",
  "orgId": "11111111-1111-4111-8111-111111111111",
  "action": {
    "type": "project-create",
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

Per organizations, ometti orgId e projectId. Per project-list e project-create, includi orgId. Per project-get, project-update, project-delete e tutte le azioni relative ai membri, ai sorgenti e agli spazi di lavoro, includi sia orgId sia projectId. Utilizza UUID in minuscolo nel formato v1–5.

Per member-add, member-update e member-remove, aggiungi lo userId del membro ad action. member-add e member-update richiedono anche role: owner, editor o viewer. Per un’azione su uno spazio di lavoro, inserisci l’operazione dello spazio di lavoro in action.request.

Convalidare ed esaminare l’anteprima

alti --json ide cloud contract --request request.json

Il codice di uscita 0 indica un contratto valido. L’esempio produce questo risultato JSON:

{
  "schema": "altifigence.dds.cloud-contract.v1",
  "status": "contract-only",
  "validated": true,
  "executed": false,
  "authorizationChecked": false,
  "authorization": {
    "kind": "native-cli-pkce",
    "clientId": "altifigencecli",
    "productId": "altifigence-cli",
    "selectedOrganizationRequired": true,
    "genericCloudTokenAccepted": false
  },
  "request": {
    "method": "POST",
    "path": "/v1/native/orgs/11111111-1111-4111-8111-111111111111/projects",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

Esamina request.method, request.path e request.body. La ricevuta registra la convalida locale con status: "contract-only", executed: false e authorizationChecked: false.

Per leggere lo stesso documento dall’ingresso standard, utilizza:

alti --json ide cloud contract --request - < request.json

Correggere una richiesta rifiutata

Un nome di progetto vuoto produce questo risultato con codice di uscita 2:

{
  "schema": "altifigence.dds.cloud-receipt.v1",
  "ok": false,
  "executed": false,
  "error": {
    "code": "INVALID_PROJECT_BODY"
  }
}

Modifica il nome con un valore non vuoto come Counter, salva il documento ed esegui nuovamente il comando di convalida.

Per CLOUD_IDENTITY_SCOPE_MISMATCH, adegua orgId e projectId all’azione. Ad esempio, rimuovi projectId da una richiesta project-create e convalida nuovamente. Per INVALID_CLOUD_IDENTITY, fornisci un UUID in minuscolo nel formato v1–5.

Per INVALID_CLOUD_CONTRACT, verifica la sintassi JSON e i nomi dei campi della richiesta. Per UNSUPPORTED_CLOUD_CONTRACT, imposta schema su altifigence.dds.cloud-request.v1. Mantieni ogni documento entro 1402200 byte.

Primo risultato con la CLI