Valider une requête Cloud typée
Vérifiez localement une requête de projet, de membre, de source ou d’espace de travail, et inspectez son aperçu typé avec Altifigence CLI.
Utilisez Altifigence CLI 0.1.9 sous Linux pour valider un document de requête typée et vérifier sa méthode, son chemin, ses en-têtes et son corps.
Préparer la requête
Enregistrez cet exemple sous request.json :
{
"schema": "altifigence.dds.cloud-request.v1",
"orgId": "11111111-1111-4111-8111-111111111111",
"action": {
"type": "project-create",
"body": {
"name": "Counter",
"slug": "counter"
}
}
}Pour organizations, omettez orgId et projectId. Pour project-list et project-create, incluez orgId. Pour project-get, project-update, project-delete et toutes les actions de membre, de source et d’espace de travail, incluez orgId et projectId. Utilisez des UUID en minuscules au format v1–5.
Pour member-add, member-update et member-remove, ajoutez le userId du membre à action. member-add et member-update nécessitent également role : owner, editor ou viewer. Pour une action d’espace de travail, placez l’opération de l’espace de travail dans action.request.
Valider et inspecter l’aperçu
alti --json ide cloud contract --request request.jsonLe code de sortie 0 indique un contrat valide. L’exemple produit ce résultat 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"
}
}
}Vérifiez request.method, request.path et request.body. Le reçu consigne la validation locale avec status: "contract-only", executed: false et authorizationChecked: false.
Pour lire le même document depuis l’entrée standard, utilisez :
alti --json ide cloud contract --request - < request.jsonCorriger une requête refusée
Un nom de projet vide produit ce résultat avec le code de sortie 2 :
{
"schema": "altifigence.dds.cloud-receipt.v1",
"ok": false,
"executed": false,
"error": {
"code": "INVALID_PROJECT_BODY"
}
}Remplacez le nom par une valeur non vide comme Counter, enregistrez le document et relancez la commande de validation.
Pour CLOUD_IDENTITY_SCOPE_MISMATCH, adaptez orgId et projectId à l’action. Par exemple, retirez projectId d’une requête project-create et validez de nouveau. Pour INVALID_CLOUD_IDENTITY, fournissez un UUID en minuscules au format v1–5.
Pour INVALID_CLOUD_CONTRACT, vérifiez la syntaxe JSON et les noms des champs de la requête. Pour UNSUPPORTED_CLOUD_CONTRACT, définissez schema sur altifigence.dds.cloud-request.v1. Limitez chaque document à 1402200 octets.