Files
chimera-Public/schemas/install-recipe.schema.json

118 lines
2.4 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://chimera.local/schemas/install-recipe.schema.json",
"title": "Chimera install recipe",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"recipeId",
"titleRef",
"version",
"steps",
"createdAt"
],
"properties": {
"schemaVersion": {
"const": 1
},
"recipeId": {
"type": "string",
"minLength": 1
},
"titleRef": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string"
},
"notes": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"steps": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"type",
"dependsOn",
"required",
"parameters"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$"
},
"type": {
"enum": [
"verify_artifact",
"extract_stage",
"apply_patch_bundle",
"build_image",
"transfer",
"install_ps4_pkg",
"stage_ps5_content",
"mount_register",
"copy_auxiliary",
"compatibility_preflight",
"wait_job",
"scan_reconcile",
"assert_install"
]
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"required": {
"type": "boolean"
},
"componentRef": {
"type": [
"string",
"null"
]
},
"destinationCapability": {
"type": [
"string",
"null"
]
},
"adapter": {
"type": [
"string",
"null"
]
},
"parameters": {
"type": "object"
},
"idempotencyKeyTemplate": {
"type": [
"string",
"null"
]
}
}
}
}
}
}