addedInput schema / properties / resilienceConfig
Added value: +{
+ "additionalProperties": false,
+ "description": "Optional retry/cascade resilience model returned by scenario.list",
+ "properties": {
+ "dependencies": {
+ "description": "Dependency edges with retry and protection policies",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "authDependencyId": {
+ "description": "Dependency receiving generated auth/token traffic",
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "authRequestsPerAttempt": {
+ "description": "Auth/token requests generated per dependency attempt",
+ "maximum": 10,
+ "minimum": 0,
+ "type": "number"
+ },
+ "capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "maxConcurrent": {
+ "exclusiveMinimum": 0,
+ "maximum": 1000000,
+ "type": "integer"
+ },
+ "maxRps": {
+ "exclusiveMinimum": 0,
+ "maximum": 500000,
+ "type": "number"
+ },
+ "meanServiceTimeMs": {
+ "exclusiveMinimum": 0,
+ "maximum": 120000,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "Unique dependency edge ID",
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "protection": {
+ "additionalProperties": false,
+ "properties": {
+ "circuitBreaker": {
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "failureRateThreshold": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "halfOpenMaxRequests": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minimumRequests": {
+ "maximum": 100000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "openSteps": {
+ "maximum": 120,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "loadShedding": {
+ "type": "boolean"
+ },
+ "rateLimitRps": {
+ "exclusiveMinimum": 0,
+ "maximum": 500000,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "requestRatio": {
+ "description": "Requests to target per original request",
+ "maximum": 20,
+ "minimum": 0,
+ "type": "number"
+ },
+ "retryPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "backoffMs": {
+ "maximum": 60000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "backoffMultiplier": {
+ "maximum": 10,
+ "minimum": 1,
+ "type": "number"
+ },
+ "jitterRatio": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "maxRetries": {
+ "maximum": 8,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "retryActorId": {
+ "description": "Actor producing retries, such as a gateway or client",
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "retryBudgetRatio": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "number"
+ },
+ "retryBudgetRps": {
+ "maximum": 500000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "timeoutMs": {
+ "maximum": 120000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sourceId": {
+ "description": "Upstream resource ID",
+ "minLength": 1,
+ "type": "string"
+ },
+ "targetId": {
+ "description": "Downstream resource ID",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sourceId",
+ "targetId"
+ ],
+ "type": "object"
+ },
+ "maxItems": 64,
+ "type": "array"
+ },
+ "enabled": {
+ "description": "Master switch for retry/cascade modeling",
+ "type": "boolean"
+ },
+ "maxCascadeDepth": {
+ "maximum": 8,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "maxGeneratedRps": {
+ "exclusiveMinimum": 0,
+ "maximum": 500000,
+ "type": "number"
+ },
+ "maxStepWork": {
+ "maximum": 2048,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "retryGeneratedTrafficAffectsCost": {
+ "type": "boolean"
+ },
+ "scalingPolicies": {
+ "description": "Capacity-observation policies, including intentional autoscaling blind spots",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "constrainedMetric": {
+ "enum": [
+ "rps",
+ "concurrency"
+ ],
+ "type": "string"
+ },
+ "dependencyId": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "observationMetric": {
+ "enum": [
+ "source_cpu",
+ "capacity_utilization"
+ ],
+ "type": "string"
+ },
+ "observedResourceId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "scaleOutCapacityMultiplier": {
+ "maximum": 20,
+ "minimum": 1,
+ "type": "number"
+ },
+ "scaleOutThresholdPercent": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "id",
+ "dependencyId",
+ "constrainedMetric",
+ "observationMetric",
+ "scaleOutThresholdPercent"
+ ],
+ "type": "object"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "scheduledFaults": {
+ "description": "Scheduled capacity, error, latency, concurrency, or traffic-surge faults",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "addedLatencyMs": {
+ "maximum": 120000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "capacityPercent": {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ "dependencyId": {
+ "type": "string"
+ },
+ "endStep": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "errorRate": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxConcurrent": {
+ "exclusiveMinimum": 0,
+ "maximum": 1000000,
+ "type": "integer"
+ },
+ "startStep": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "targetResourceId": {
+ "type": "string"
+ },
+ "trafficMultiplier": {
+ "description": "traffic_surge demand multiplier",
+ "exclusiveMinimum": 1,
+ "maximum": 20,
+ "type": "number"
+ },
+ "type": {
+ "description": "Fault type; traffic_surge increases root client demand",
+ "enum": [
+ "capacity_limit",
+ "concurrency_limit",
+ "latency",
+ "error_rate",
+ "traffic_surge"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "startStep"
+ ],
+ "type": "object"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "version": {
+ "const": 1,
+ "description": "Resilience model version",
+ "type": "number"
+ }
+ },
+ "type": "object"
+}