Files
go-sip/docs/archive/upstream/v1/p1-development-profile.schema.json
T

133 lines
2.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://go-sip.local/contracts/v1/p1-development-profile.schema.json",
"title": "P1 isolated development profile",
"type": "object",
"additionalProperties": false,
"required": [
"profile_id",
"profile_version",
"environment",
"external_calls",
"real_authorization",
"topology",
"limits",
"modes",
"status"
],
"properties": {
"profile_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"profile_version": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"environment": {
"const": "mock"
},
"external_calls": {
"const": false
},
"real_authorization": {
"const": "blocked"
},
"topology": {
"type": "object",
"additionalProperties": false,
"required": [
"dispatcher_count",
"agent_count",
"cell_count",
"tenant_count"
],
"properties": {
"dispatcher_count": {
"const": 1
},
"agent_count": {
"const": 2
},
"cell_count": {
"const": 2
},
"tenant_count": {
"type": "integer",
"minimum": 1
}
}
},
"limits": {
"type": "object",
"additionalProperties": false,
"required": [
"global_concurrency",
"global_cps",
"tenant_concurrency",
"tenant_cps",
"pending_window_global",
"pending_window_per_tenant",
"lease_ttl_ms",
"final_permit_ttl_ms"
],
"properties": {
"global_concurrency": {
"type": "integer",
"minimum": 1
},
"global_cps": {
"type": "integer",
"minimum": 1
},
"tenant_concurrency": {
"type": "integer",
"minimum": 1
},
"tenant_cps": {
"type": "integer",
"minimum": 1
},
"pending_window_global": {
"type": "integer",
"minimum": 1
},
"pending_window_per_tenant": {
"type": "integer",
"minimum": 1
},
"lease_ttl_ms": {
"const": 10000
},
"final_permit_ttl_ms": {
"type": "integer",
"minimum": 1,
"maximum": 1000
}
}
},
"modes": {
"type": "array",
"minItems": 2,
"uniqueItems": true,
"items": {
"enum": [
"full_ai",
"asr_only"
]
}
},
"status": {
"const": "development-only-not-production-approval"
},
"real_budget": {
"const": "unknown"
},
"operator_approval": {
"const": "not-granted"
}
}
}