sky-lattice/blueprint/schemas/discover-report.schema.json

47 lines
1.4 KiB
JSON
Raw Permalink Normal View History

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://skylattice.dev/schemas/discover-report.schema.json",
"title": "SkyLatticeDiscoverReport",
"type": "object",
"required": ["customer", "generated_at", "objects", "summary"],
"properties": {
"customer": { "type": "string" },
"generated_at": { "type": "string" },
"source": {
"type": "string",
"enum": ["live", "inventory_file", "terraform_state", "merged"],
"default": "inventory_file"
},
"objects": {
"type": "array",
"items": {
"type": "object",
"required": ["kind", "name", "classification"],
"properties": {
"kind": {
"type": "string",
"enum": ["database", "schema", "role", "warehouse", "user", "grant"]
},
"name": { "type": "string" },
"classification": {
"type": "string",
"enum": ["in_sync", "drifted_managed", "unmanaged_live", "in_state_missing_live", "blueprint_match", "conflict"]
},
"tf_address": { "type": ["string", "null"] },
"notes": { "type": "string" }
}
}
},
"summary": {
"type": "object",
"properties": {
"total": { "type": "integer" },
"matched_pct": { "type": "number" },
"unmanaged": { "type": "integer" },
"conflicts": { "type": "integer" },
"drifted": { "type": "integer" }
}
}
}
}