livediagrams.dev
Live Diagrams is a free, open-source tool for drawing distributed-systems and event-driven architecture diagrams, then watching messages flow through them. It runs in your browser.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 4 · Act 3 · Transact 0 · Score: Not yet scored
Tool inspector
edit_diagram
Add, connect, change or remove diagram elements in one atomic step (one undo). Describe kinds in plain words ('.NET consumer', 'Kafka topic'); the app picks the icon and position. Put a whole request in one call.
Page: /?view=canvas&example=new
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
ops |
array | yes | Use an empty list only with layout: full to rearrange the existing diagram. |
layout |
string | no | — |
dryRun |
boolean | no | Validate and report without changing the diagram. |
summary |
string | no | One short sentence for the person, e.g. 'Added a Redis cache in front of orders-db'. Shown with the change in the app's AI panel. |
Raw JSON schema
{
"type": "object",
"required": [
"ops"
],
"properties": {
"ops": {
"type": "array",
"minItems": 0,
"description": "Use an empty list only with layout: full to rearrange the existing diagram.",
"maxItems": 100,
"items": {
"oneOf": [
{
"type": "object",
"required": [
"op",
"kind",
"label"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "add_node"
},
"kind": {
"type": "string",
"maxLength": 100,
"description": "Plain words or a stencil id, e.g. 'Kafka topic', 'service.dotnet'."
},
"label": {
"type": "string",
"maxLength": 200
},
"sublabel": {
"type": "string",
"maxLength": 200,
"description": "Second line, e.g. a topic name 'orders.created'."
},
"key": {
"type": "string",
"maxLength": 50,
"description": "Name to refer to this node later in the same call."
},
"in": {
"$ref": "#/$defs/Ref",
"description": "Boundary to place it in."
},
"props": {
"$ref": "#/$defs/NodeProps"
}
}
},
{
"type": "object",
"required": [
"op",
"from",
"to"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "connect"
},
"from": {
"$ref": "#/$defs/Ref"
},
"to": {
"$ref": "#/$defs/Ref"
},
"label": {
"type": "string",
"maxLength": 200
},
"kind": {
"type": "string",
"enum": [
"async",
"sync"
],
"description": "async = messages/events; sync = request/response, writes to a database. Left out: sync into a database, gateway, outside or model API, or out of a client or gateway; async into or out of a queue, topic or stream, and otherwise."
},
"relation": {
"type": "string",
"enum": [
"flow",
"config",
"secret",
"identity",
"telemetry",
"deploy",
"depends"
],
"description": "Left out: infer from the stencils as in the editor (e.g. into Key Vault: secret; otherwise a flow). An explicit relation wins; flow carries traffic, while config, secret, identity, telemetry, deploy and depends are dotted dependencies with no traffic."
},
"fromSide": {
"$ref": "#/$defs/Side",
"description": "Fix the source end to this side."
},
"toSide": {
"$ref": "#/$defs/Side",
"description": "Fix the target end to this side."
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 50
}
}
},
{
"type": "object",
"required": [
"op",
"from",
"to",
"kind",
"label"
],
"additionalProperties": false,
"description": "Put a new node on the connection from -> to: it becomes from -> new -> to. Both new connections keep the old one's kind, relation and props; its label and source side go on the first, its target side on the second. Hand-shaped routes are reset.",
"properties": {
"op": {
"const": "insert_between"
},
"from": {
"$ref": "#/$defs/Ref"
},
"to": {
"$ref": "#/$defs/Ref"
},
"kind": {
"type": "string",
"maxLength": 100,
"description": "Plain words or a stencil id, e.g. 'Redis cache'."
},
"label": {
"type": "string",
"maxLength": 200
},
"sublabel": {
"type": "string",
"maxLength": 200
},
"key": {
"type": "string",
"maxLength": 50,
"description": "Name to refer to the new node later in the same call."
}
}
},
{
"type": "object",
"required": [
"op",
"target"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "update"
},
"target": {
"$ref": "#/$defs/Ref"
},
"label": {
"type": "string",
"maxLength": 200
},
"sublabel": {
"type": [
"string",
"null"
],
"maxLength": 200
},
"kind": {
"type": "string",
"maxLength": 100,
"description": "Nodes: change the stencil; its connections' relationships follow, as on the canvas (a flow into what becomes a config store turns config; an inferred dependency into what stops being one turns back into a flow), listed in the result's relations. Connections: 'async' or 'sync'."
},
"in": {
"type": [
"string",
"null"
],
"description": "Move into this boundary; null removes it from its boundary."
},
"props": {
"$ref": "#/$defs/PropsPatch"
},
"members": {
"type": "array",
"items": {
"$ref": "#/$defs/Ref"
}
},
"tone": {
"$ref": "#/$defs/Tone"
},
"fromSide": {
"anyOf": [
{
"$ref": "#/$defs/Side"
},
{
"type": "null"
}
],
"description": "Connections only: source side; null restores automatic side selection."
},
"toSide": {
"anyOf": [
{
"$ref": "#/$defs/Side"
},
{
"type": "null"
}
],
"description": "Connections only: target side; null restores automatic side selection."
},
"route": {
"type": "string",
"enum": [
"auto"
],
"description": "Connections only: reset a hand-shaped route. Agents never write bend coordinates."
}
}
},
{
"type": "object",
"required": [
"op",
"targets"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "remove"
},
"targets": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"$ref": "#/$defs/Ref"
},
"description": "Nodes, connections ('A -> B'), boundaries (contents are kept) or notes."
}
}
},
{
"type": "object",
"required": [
"op",
"label",
"members"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "add_boundary"
},
"label": {
"type": "string",
"maxLength": 200
},
"members": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/Ref"
}
},
"tone": {
"$ref": "#/$defs/Tone"
},
"key": {
"type": "string",
"maxLength": 50
}
}
},
{
"type": "object",
"required": [
"op",
"text"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "add_note"
},
"text": {
"type": "string",
"maxLength": 2000
},
"style": {
"type": "string",
"enum": [
"note",
"text"
],
"default": "note"
},
"near": {
"$ref": "#/$defs/Ref"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 50
}
}
},
{
"type": "object",
"required": [
"op"
],
"additionalProperties": false,
"properties": {
"op": {
"const": "set_meta"
},
"title": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 2000
},
"direction": {
"type": "string",
"enum": [
"LR",
"TB"
]
},
"requestRoutes": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"address"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"maxLength": 200
},
"address": {
"type": "object",
"additionalProperties": false,
"required": [
"method",
"path"
],
"properties": {
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^/"
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"query": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
}
}
},
"appearance": {
"type": "object",
"additionalProperties": false,
"required": [
"paletteSlot",
"marker"
],
"properties": {
"paletteSlot": {
"type": "integer",
"minimum": 0,
"maximum": 6
},
"marker": {
"enum": [
"circle",
"square",
"diamond",
"triangle"
]
}
}
}
}
},
"description": "Request routing (current planning model): the diagram's complete list of request routes, each an id and a method/path address. Replaces the list; mixes (props.trafficMix), caller addresses (connection props.requestRouteId) and route tables (props.routeTable on an HTTP router) refer to these ids."
}
}
}
]
}
},
"layout": {
"type": "string",
"enum": [
"auto",
"full",
"none"
],
"default": "auto"
},
"dryRun": {
"type": "boolean",
"default": false,
"description": "Validate and report without changing the diagram."
},
"summary": {
"type": "string",
"maxLength": 200,
"description": "One short sentence for the person, e.g. 'Added a Redis cache in front of orders-db'. Shown with the change in the app's AI panel."
}
},
"$defs": {
"Ref": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "An element: id from describe_diagram (preferred), a key set earlier in this call, an exact label, 'label (sublabel)', or for a connection 'From -> To'."
},
"NodeProps": {
"type": "object",
"additionalProperties": true,
"properties": {
"queue": {
"type": "object",
"additionalProperties": false,
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"whenFull": {
"type": "string",
"enum": [
"reject-new",
"drop-oldest"
]
},
"order": {
"type": "string",
"enum": [
"fifo",
"lifo"
]
},
"maxWaitMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
}
}
},
"resources": {
"type": "object",
"additionalProperties": false,
"required": [
"preset",
"presetRevision",
"cpuMsPerMessage",
"baselineMemoryMiB",
"memoryMiBPerMessage",
"startup",
"terminationGraceMs"
],
"properties": {
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"modelRevision": {
"enum": [
"a2"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"cpuMsPerMessage": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"baselineMemoryMiB": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"memoryMiBPerMessage": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"cpuRequestMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"cpuLimitMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"availableCpuMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"memoryRequestMiB": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"memoryLimitMiB": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"startup": {
"type": "object",
"additionalProperties": false,
"required": [
"delayMs",
"jitterFraction"
],
"properties": {
"delayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"jitterFraction": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"terminationGraceMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"requestDefaults": {
"type": "array",
"maxItems": 2,
"items": {
"enum": [
"cpu",
"memory"
]
}
}
}
},
"autoscaling": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a2"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"pollingMs",
"cooldownMs",
"initialCooldownMs",
"settings",
"triggers"
],
"properties": {
"kind": {
"enum": [
"keda"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"pollingMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"initialCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"idleReplicas": {
"enum": [
0
]
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
},
"triggers": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"allowIdleConsumers"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"kafka"
]
},
"allowIdleConsumers": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"azure-servicebus"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"scaleOnInFlight",
"scaleOnDelayed"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"aws-sqs-queue"
]
},
"scaleOnInFlight": {
"type": "boolean"
},
"scaleOnDelayed": {
"enum": [
false
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"protocol",
"excludeUnacknowledged"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"rabbitmq"
]
},
"protocol": {
"enum": [
"http",
"amqp"
]
},
"excludeUnacknowledged": {
"type": "boolean"
}
}
}
]
}
},
"fallback": {
"type": "object",
"additionalProperties": false,
"required": [
"failureThreshold",
"replicas",
"behavior"
],
"properties": {
"failureThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 600
},
"replicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"behavior": {
"enum": [
"static",
"currentReplicas",
"currentReplicasIfHigher",
"currentReplicasIfLower"
]
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"off"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"provider",
"reason"
],
"properties": {
"mode": {
"enum": [
"unsupported"
]
},
"provider": {
"type": "string",
"maxLength": 100
},
"reason": {
"type": "string",
"maxLength": 1000
},
"controllers": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"HPA",
"ScaledObject",
"ScaledJob"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"maxReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 100000
}
}
}
},
"controllersOmitted": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a1",
"a2"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"settings"
],
"properties": {
"kind": {
"enum": [
"hpa"
]
},
"minReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a3"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"metricPeriodMs",
"alarm",
"targetTracking",
"stepScaling"
],
"properties": {
"kind": {
"enum": [
"ecs"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"metricPeriodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"alarm": {
"type": "object",
"additionalProperties": false,
"required": [
"outPeriods",
"inPeriods",
"inMargin"
],
"properties": {
"outPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"inPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"inMargin": {
"type": "number",
"minimum": 0,
"maximum": 0.9
}
}
},
"targetTracking": {
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"target",
"scaleOutCooldownMs",
"scaleInCooldownMs",
"disableScaleIn"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"albRequestCountPerTarget"
]
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"scaleOutCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"scaleInCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"disableScaleIn": {
"type": "boolean"
}
}
}
},
"stepScaling": {
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"operator",
"threshold",
"evaluationPeriods",
"adjustmentType",
"steps",
"cooldownMs"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"albRequestCountPerTarget",
"albRequestCount"
]
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"operator": {
"enum": [
"GreaterThanOrEqualToThreshold",
"GreaterThanThreshold",
"LessThanThreshold",
"LessThanOrEqualToThreshold"
]
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"evaluationPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"adjustmentType": {
"enum": [
"ChangeInCapacity",
"PercentChangeInCapacity",
"ExactCapacity"
]
},
"steps": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"adjustment"
],
"properties": {
"lower": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"upper": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"adjustment": {
"type": "integer",
"minimum": -10000,
"maximum": 10000
}
}
}
},
"minAdjustmentMagnitude": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"pollingMs",
"cooldownMs",
"triggers",
"settings"
],
"properties": {
"kind": {
"enum": [
"aca"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"pollingMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"http": {
"type": "object",
"additionalProperties": false,
"required": [
"concurrentRequests"
],
"properties": {
"concurrentRequests": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
"triggers": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"allowIdleConsumers"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"kafka"
]
},
"allowIdleConsumers": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"azure-servicebus"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"scaleOnInFlight",
"scaleOnDelayed"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"aws-sqs-queue"
]
},
"scaleOnInFlight": {
"type": "boolean"
},
"scaleOnDelayed": {
"enum": [
false
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"protocol",
"excludeUnacknowledged"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"rabbitmq"
]
},
"protocol": {
"enum": [
"http",
"amqp"
]
},
"excludeUnacknowledged": {
"type": "boolean"
}
}
}
]
}
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"evaluationMs",
"rules"
],
"properties": {
"kind": {
"enum": [
"appService"
]
},
"minReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"evaluationMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"rules": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"operator",
"threshold",
"windowMs",
"direction",
"changeType",
"value",
"cooldownMs"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"httpQueue"
]
},
"operator": {
"enum": [
"GreaterThan",
"GreaterThanOrEqual",
"LessThan",
"LessThanOrEqual"
]
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"direction": {
"enum": [
"increase",
"decrease"
]
},
"changeType": {
"enum": [
"ChangeCount",
"PercentChangeCount",
"ExactCount"
]
},
"value": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"targetConcurrencyPct",
"targetCpuPct",
"evaluationMs",
"cpuWindowMs",
"concurrencyWindowsMs",
"scaleInDelayMs"
],
"properties": {
"kind": {
"enum": [
"cloudRun"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"targetConcurrencyPct": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"targetCpuPct": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"evaluationMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cpuWindowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"concurrencyWindowsMs": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
},
"scaleInDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
]
}
}
}
]
},
"resumeAutoscaling": {
"type": "boolean"
},
"api": {
"type": "object",
"additionalProperties": false,
"properties": {
"quotas": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
},
"maxInFlight": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedConcurrency": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"latencyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"errorRate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"costPerRequest": {
"type": "object",
"additionalProperties": false,
"properties": {
"requests": {
"type": "number",
"minimum": 1,
"maximum": 1
},
"tokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"inputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"outputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"costPoints": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"bytes": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
}
}
}
}
},
"endpoints": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"method",
"path"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"pattern": "^/"
},
"behaviour": {
"type": "object",
"additionalProperties": false,
"properties": {
"quotas": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
},
"maxInFlight": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedConcurrency": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"latencyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"errorRate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"costPerRequest": {
"type": "object",
"additionalProperties": false,
"properties": {
"requests": {
"type": "number",
"minimum": 1,
"maximum": 1
},
"tokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"inputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"outputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"costPoints": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"bytes": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
}
}
}
}
}
}
}
},
"scaling": {
"type": "string",
"enum": [
"fixed",
"auto"
]
},
"maxConcurrency": {
"type": "number",
"minimum": 0,
"maximum": 10000
},
"preset": {
"type": "string",
"enum": [
"processor-lesson",
"device-size",
"lambda-account",
"stripe-live",
"stripe-sandbox",
"api-gateway-account",
"managed-measured"
]
},
"presetRevision": {
"type": "string",
"enum": [
"1",
"2026-10-14"
]
},
"connections": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"querySlots": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"ingestUnits": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"ratePerSec": {
"type": "number",
"minimum": 0,
"maximum": 10000000
},
"latencyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"concurrency": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"replicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"jitter": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"failureRate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"retry": {
"type": "string",
"enum": [
"requeue",
"inplace"
]
},
"retryBackoffMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"maxDeliveryCount": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"partitions": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"messageType": {
"type": "string"
},
"emits": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"receives",
"sends"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"receives": {
"type": "string"
},
"sends": {
"type": "string"
}
}
}
}
]
},
"size": {
"type": "string",
"enum": [
"branch",
"campus",
"datacentre"
]
},
"gbps": {
"type": "number",
"minimum": 0,
"maximum": 1000000
},
"messageKB": {
"type": "number",
"minimum": 0.01,
"maximum": 1000000
},
"ha": {
"type": "string",
"enum": [
"standalone",
"active-standby",
"active-active"
]
},
"failoverMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"healthChecks": {
"type": "boolean"
},
"trafficMix": {
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"entries"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"shares",
"rates"
]
},
"entries": {
"type": "array",
"minItems": 1,
"maxItems": 64,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"routeId"
],
"properties": {
"routeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"share": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Shares mode: this route's fraction, 0..1."
},
"ratePerSec": {
"type": "number",
"minimum": 0,
"maximum": 10000000,
"description": "Rates mode: this route's real requests per second."
}
}
}
}
}
},
"routeTable": {
"type": "object",
"additionalProperties": false,
"required": [
"rules"
],
"properties": {
"rules": {
"type": "array",
"maxItems": 256,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"match",
"targets"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"maxLength": 200
},
"match": {
"type": "object",
"additionalProperties": false,
"properties": {
"methods": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
}
},
"path": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"exact",
"prefix",
"template"
]
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^/"
}
}
},
"hosts": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"query": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
}
}
},
"targets": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"edgeId",
"weight"
],
"properties": {
"edgeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"weight": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
}
},
"quotas": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
}
}
}
},
"default": {
"type": "object",
"additionalProperties": false,
"required": [
"targets"
],
"properties": {
"targets": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"edgeId",
"weight"
],
"properties": {
"edgeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"weight": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
}
},
"quotas": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
}
}
}
}
}
}
},
"Tone": {
"type": "string",
"enum": [
"azure",
"aws",
"gcp",
"k8s",
"onprem",
"neutral"
]
},
"PropsPatch": {
"type": "object",
"additionalProperties": true,
"properties": {
"priority": {
"type": [
"string",
"null"
],
"enum": [
"critical",
"normal",
"sheddable",
null
]
},
"requestRouteId": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 200
},
"requestFilter": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"methods": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
}
},
"path": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"exact",
"prefix",
"template"
]
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^/"
}
}
},
"hosts": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"query": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
}
}
},
"endpointId": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 200
},
"caller": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"wait": {
"enum": [
"blocking",
"non-blocking"
]
},
"replyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"deadlineMs": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 600000
},
{
"type": "null"
}
]
},
"retry": {
"type": "object",
"additionalProperties": false,
"required": [
"maxAttempts",
"backoffMs",
"strategy",
"retryOn"
],
"properties": {
"maxAttempts": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"backoffMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"maxBackoffMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"budget": {
"type": "object",
"additionalProperties": false,
"required": [
"percent"
],
"properties": {
"percent": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"minPerSec": {
"type": "number",
"minimum": 0,
"maximum": 10000
}
}
},
"strategy": {
"enum": [
"fixed",
"exponential"
]
},
"jitter": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"retryOn": {
"type": "array",
"maxItems": 3,
"uniqueItems": true,
"items": {
"enum": [
"throttled",
"transient",
"timeout"
]
}
},
"idempotent": {
"type": "boolean"
}
}
},
"breaker": {
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"failurePercent": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"slowCallMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"slowPercent": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"windowMs": {
"enum": [
1000,
2000,
3000,
4000,
5000,
6000,
7000,
8000,
9000,
10000,
11000,
12000,
13000,
14000,
15000,
16000,
17000,
18000,
19000,
20000,
21000,
22000,
23000,
24000,
25000,
26000,
27000,
28000,
29000,
30000,
31000,
32000,
33000,
34000,
35000,
36000,
37000,
38000,
39000,
40000,
41000,
42000,
43000,
44000,
45000,
46000,
47000,
48000,
49000,
50000,
51000,
52000,
53000,
54000,
55000,
56000,
57000,
58000,
59000,
60000
]
},
"minimumCalls": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"openMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"halfOpenCalls": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
}
}
]
},
"poolConnections": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
}
},
"group": {
"type": [
"string",
"null"
]
},
"groupOrigin": {
"type": [
"string",
"null"
],
"enum": [
"inferred",
null
]
},
"share": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
},
"dlq": {
"type": [
"boolean",
"null"
]
},
"travelMs": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 600000
},
"networkDelayMs": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 600000
},
"emits": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"receives",
"sends"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"receives": {
"type": "string"
},
"sends": {
"type": "string"
}
}
}
},
{
"type": "null"
}
]
},
"filter": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"deny": {
"type": [
"boolean",
"null"
]
},
"queue": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"whenFull": {
"type": "string",
"enum": [
"reject-new",
"drop-oldest"
]
},
"order": {
"type": "string",
"enum": [
"fifo",
"lifo"
]
},
"maxWaitMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
}
}
},
"resources": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"required": [
"preset",
"presetRevision",
"cpuMsPerMessage",
"baselineMemoryMiB",
"memoryMiBPerMessage",
"startup",
"terminationGraceMs"
],
"properties": {
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"modelRevision": {
"enum": [
"a2"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"cpuMsPerMessage": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"baselineMemoryMiB": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"memoryMiBPerMessage": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"cpuRequestMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"cpuLimitMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"availableCpuMilli": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"memoryRequestMiB": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"memoryLimitMiB": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"startup": {
"type": "object",
"additionalProperties": false,
"required": [
"delayMs",
"jitterFraction"
],
"properties": {
"delayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"jitterFraction": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"terminationGraceMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"requestDefaults": {
"type": "array",
"maxItems": 2,
"items": {
"enum": [
"cpu",
"memory"
]
}
}
}
},
"autoscaling": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a2"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"pollingMs",
"cooldownMs",
"initialCooldownMs",
"settings",
"triggers"
],
"properties": {
"kind": {
"enum": [
"keda"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"pollingMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"initialCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"idleReplicas": {
"enum": [
0
]
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
},
"triggers": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"allowIdleConsumers"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"kafka"
]
},
"allowIdleConsumers": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"azure-servicebus"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"scaleOnInFlight",
"scaleOnDelayed"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"aws-sqs-queue"
]
},
"scaleOnInFlight": {
"type": "boolean"
},
"scaleOnDelayed": {
"enum": [
false
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"protocol",
"excludeUnacknowledged"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"rabbitmq"
]
},
"protocol": {
"enum": [
"http",
"amqp"
]
},
"excludeUnacknowledged": {
"type": "boolean"
}
}
}
]
}
},
"fallback": {
"type": "object",
"additionalProperties": false,
"required": [
"failureThreshold",
"replicas",
"behavior"
],
"properties": {
"failureThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 600
},
"replicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"behavior": {
"enum": [
"static",
"currentReplicas",
"currentReplicasIfHigher",
"currentReplicasIfLower"
]
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"off"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"provider",
"reason"
],
"properties": {
"mode": {
"enum": [
"unsupported"
]
},
"provider": {
"type": "string",
"maxLength": 100
},
"reason": {
"type": "string",
"maxLength": 1000
},
"controllers": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"HPA",
"ScaledObject",
"ScaledJob"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"maxReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 100000
}
}
}
},
"controllersOmitted": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a1",
"a2"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"settings"
],
"properties": {
"kind": {
"enum": [
"hpa"
]
},
"minReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"modelRevision",
"preset",
"presetRevision",
"controller"
],
"properties": {
"mode": {
"enum": [
"on"
]
},
"modelRevision": {
"enum": [
"a3"
]
},
"preset": {
"type": "string",
"maxLength": 100
},
"presetRevision": {
"enum": [
"1"
]
},
"controller": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"metricPeriodMs",
"alarm",
"targetTracking",
"stepScaling"
],
"properties": {
"kind": {
"enum": [
"ecs"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"metricPeriodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"alarm": {
"type": "object",
"additionalProperties": false,
"required": [
"outPeriods",
"inPeriods",
"inMargin"
],
"properties": {
"outPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"inPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"inMargin": {
"type": "number",
"minimum": 0,
"maximum": 0.9
}
}
},
"targetTracking": {
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"target",
"scaleOutCooldownMs",
"scaleInCooldownMs",
"disableScaleIn"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"albRequestCountPerTarget"
]
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"scaleOutCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"scaleInCooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"disableScaleIn": {
"type": "boolean"
}
}
}
},
"stepScaling": {
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"operator",
"threshold",
"evaluationPeriods",
"adjustmentType",
"steps",
"cooldownMs"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"albRequestCountPerTarget",
"albRequestCount"
]
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"operator": {
"enum": [
"GreaterThanOrEqualToThreshold",
"GreaterThanThreshold",
"LessThanThreshold",
"LessThanOrEqualToThreshold"
]
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"evaluationPeriods": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"adjustmentType": {
"enum": [
"ChangeInCapacity",
"PercentChangeInCapacity",
"ExactCapacity"
]
},
"steps": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"adjustment"
],
"properties": {
"lower": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"upper": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"adjustment": {
"type": "integer",
"minimum": -10000,
"maximum": 10000
}
}
}
},
"minAdjustmentMagnitude": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"pollingMs",
"cooldownMs",
"triggers",
"settings"
],
"properties": {
"kind": {
"enum": [
"aca"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"pollingMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"http": {
"type": "object",
"additionalProperties": false,
"required": [
"concurrentRequests"
],
"properties": {
"concurrentRequests": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
"triggers": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"allowIdleConsumers"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"kafka"
]
},
"allowIdleConsumers": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"azure-servicebus"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"scaleOnInFlight",
"scaleOnDelayed"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"aws-sqs-queue"
]
},
"scaleOnInFlight": {
"type": "boolean"
},
"scaleOnDelayed": {
"enum": [
false
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"activation",
"useCachedMetrics",
"type",
"protocol",
"excludeUnacknowledged"
],
"properties": {
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"node"
],
"properties": {
"node": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"group": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
}
},
"target": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"useCachedMetrics": {
"type": "boolean"
},
"type": {
"enum": [
"rabbitmq"
]
},
"protocol": {
"enum": [
"http",
"amqp"
]
},
"excludeUnacknowledged": {
"type": "boolean"
}
}
}
]
}
},
"settings": {
"type": "object",
"additionalProperties": false,
"required": [
"syncMs",
"tolerance",
"initialReadinessDelayMs",
"cpuInitializationPeriodMs",
"metrics",
"up",
"down"
],
"properties": {
"syncMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"tolerance": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"initialReadinessDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"cpuInitializationPeriodMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"metrics": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source",
"target",
"windowMs",
"metricDelayMs"
],
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"resource"
],
"properties": {
"kind": {
"enum": [
"resource"
]
},
"resource": {
"enum": [
"cpu",
"memory"
]
},
"container": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"metric"
],
"properties": {
"kind": {
"enum": [
"pods"
]
},
"metric": {
"enum": [
"busyThreads"
]
}
}
}
]
},
"target": {
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"percentOfRequest"
],
"properties": {
"kind": {
"enum": [
"utilization"
]
},
"percentOfRequest": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"averageValue"
]
},
"value": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000
}
}
}
]
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"metricDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
},
"up": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
},
"down": {
"type": "object",
"additionalProperties": false,
"required": [
"stabilizationMs",
"selectPolicy",
"policies"
],
"properties": {
"stabilizationMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
},
"selectPolicy": {
"enum": [
"Max",
"Min",
"Disabled"
]
},
"policies": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"value",
"periodMs"
],
"properties": {
"type": {
"enum": [
"Pods",
"Percent"
]
},
"value": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"periodMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
}
}
}
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"evaluationMs",
"rules"
],
"properties": {
"kind": {
"enum": [
"appService"
]
},
"minReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"evaluationMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"rules": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"metric",
"operator",
"threshold",
"windowMs",
"direction",
"changeType",
"value",
"cooldownMs"
],
"properties": {
"metric": {
"enum": [
"cpu",
"memory",
"httpQueue"
]
},
"operator": {
"enum": [
"GreaterThan",
"GreaterThanOrEqual",
"LessThan",
"LessThanOrEqual"
]
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"windowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"direction": {
"enum": [
"increase",
"decrease"
]
},
"changeType": {
"enum": [
"ChangeCount",
"PercentChangeCount",
"ExactCount"
]
},
"value": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"cooldownMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"minReplicas",
"maxReplicas",
"initialReplicas",
"targetConcurrencyPct",
"targetCpuPct",
"evaluationMs",
"cpuWindowMs",
"concurrencyWindowsMs",
"scaleInDelayMs"
],
"properties": {
"kind": {
"enum": [
"cloudRun"
]
},
"minReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"maxReplicas": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"initialReplicas": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"targetConcurrencyPct": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"targetCpuPct": {
"type": "number",
"minimum": 1,
"maximum": 100
},
"evaluationMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"cpuWindowMs": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
},
"concurrencyWindowsMs": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "integer",
"minimum": 1000,
"maximum": 600000
}
},
"scaleInDelayMs": {
"type": "integer",
"minimum": 0,
"maximum": 600000
}
}
}
]
}
}
},
{
"type": "null"
}
]
},
"resumeAutoscaling": {
"type": [
"boolean",
"null"
]
},
"api": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"quotas": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
},
"maxInFlight": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedConcurrency": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"latencyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"errorRate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"costPerRequest": {
"type": "object",
"additionalProperties": false,
"properties": {
"requests": {
"type": "number",
"minimum": 1,
"maximum": 1
},
"tokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"inputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"outputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"costPoints": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"bytes": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
}
}
}
}
},
"endpoints": {
"type": [
"array",
"null"
],
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"method",
"path"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"pattern": "^/"
},
"behaviour": {
"type": "object",
"additionalProperties": false,
"properties": {
"quotas": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
},
"maxInFlight": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedConcurrency": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"latencyMs": {
"type": "number",
"minimum": 0,
"maximum": 600000
},
"errorRate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"costPerRequest": {
"type": "object",
"additionalProperties": false,
"properties": {
"requests": {
"type": "number",
"minimum": 1,
"maximum": 1
},
"tokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"inputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"outputTokens": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"costPoints": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"bytes": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
}
}
}
}
}
}
}
},
"scaling": {
"type": [
"string",
"null"
],
"enum": [
"fixed",
"auto",
null
]
},
"maxConcurrency": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 10000
},
"preset": {
"type": [
"string",
"null"
],
"enum": [
"processor-lesson",
"device-size",
"lambda-account",
"stripe-live",
"stripe-sandbox",
"api-gateway-account",
"managed-measured",
null
]
},
"presetRevision": {
"type": [
"string",
"null"
],
"enum": [
"1",
"2026-10-14",
null
]
},
"connections": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"querySlots": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"ingestUnits": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"ratePerSec": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 10000000
},
"latencyMs": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 600000
},
"concurrency": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"replicas": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"jitter": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
},
"failureRate": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
},
"retry": {
"type": [
"string",
"null"
],
"enum": [
"requeue",
"inplace",
null
]
},
"retryBackoffMs": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 600000
},
"maxDeliveryCount": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"partitions": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 10000
},
"messageType": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"string",
"null"
],
"enum": [
"branch",
"campus",
"datacentre",
null
]
},
"gbps": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000
},
"messageKB": {
"type": [
"number",
"null"
],
"minimum": 0.01,
"maximum": 1000000
},
"ha": {
"type": [
"string",
"null"
],
"enum": [
"standalone",
"active-standby",
"active-active",
null
]
},
"failoverMs": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 600000
},
"healthChecks": {
"type": [
"boolean",
"null"
]
},
"trafficMix": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"required": [
"mode",
"entries"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"shares",
"rates"
]
},
"entries": {
"type": "array",
"minItems": 1,
"maxItems": 64,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"routeId"
],
"properties": {
"routeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"share": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Shares mode: this route's fraction, 0..1."
},
"ratePerSec": {
"type": "number",
"minimum": 0,
"maximum": 10000000,
"description": "Rates mode: this route's real requests per second."
}
}
}
}
}
},
"routeTable": {
"type": [
"object",
"null"
],
"additionalProperties": false,
"required": [
"rules"
],
"properties": {
"rules": {
"type": "array",
"maxItems": 256,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"match",
"targets"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"maxLength": 200
},
"match": {
"type": "object",
"additionalProperties": false,
"properties": {
"methods": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS",
"TRACE"
]
}
},
"path": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"exact",
"prefix",
"template"
]
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^/"
}
}
},
"hosts": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"query": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 200
}
}
}
},
"targets": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"edgeId",
"weight"
],
"properties": {
"edgeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"weight": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
}
},
"quotas": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
}
}
}
},
"default": {
"type": "object",
"additionalProperties": false,
"required": [
"targets"
],
"properties": {
"targets": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"edgeId",
"weight"
],
"properties": {
"edgeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"weight": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
}
}
},
"quotas": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"unit",
"amount",
"windowMs",
"algorithm"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"unit": {},
"amount": {
"type": "number",
"minimum": 0.000001,
"maximum": 1000000000000
},
"windowMs": {
"type": "number",
"minimum": 1,
"maximum": 86400000
},
"algorithm": {
"type": "string",
"enum": [
"token-bucket"
]
},
"burst": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"sharedGroup": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
}
}
}
}
}
}
},
"Side": {
"type": "string",
"enum": [
"top",
"right",
"bottom",
"left"
]
}
}
}
Similar websites
morphus.myles4miles.chatgpt.site
Morphus is an AI-native workspace for designing worlds and generating playable game experiences.
damnpdfs.com
Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.
insignifi4nt.github.io
broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.
cabinet.varera.studio
The Cartographer's Cabinet