{
  "model": {
    "kind": "model",
    "name": "faultToleranceConfiguration",
    "title": "Fault Tolerance Configuration",
    "description": "MicroProfile Fault Tolerance Circuit Breaker EIP configuration",
    "deprecated": false,
    "label": "configuration,eip",
    "javaType": "org.apache.camel.model.FaultToleranceConfigurationDefinition",
    "abstract": false,
    "input": false,
    "output": false
  },
  "properties": {
    "circuitBreaker": { "index": 0, "kind": "attribute", "displayName": "Circuit Breaker", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to an existing io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use." },
    "delay": { "index": 1, "kind": "attribute", "displayName": "Delay", "required": false, "type": "duration", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5000", "description": "Control how long the circuit breaker stays open. The default is 5 seconds." },
    "successThreshold": { "index": 2, "kind": "attribute", "displayName": "Success Threshold", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "description": "Controls the number of trial calls which are allowed when the circuit breaker is half-open" },
    "requestVolumeThreshold": { "index": 3, "kind": "attribute", "displayName": "Request Volume Threshold", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "20", "description": "Controls the size of the rolling window used when the circuit breaker is closed" },
    "failureRatio": { "index": 4, "kind": "attribute", "displayName": "Failure Ratio", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "50", "description": "Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage." },
    "timeoutEnabled": { "index": 5, "kind": "attribute", "displayName": "Timeout Enabled", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether timeout is enabled or not on the circuit breaker. Default is false." },
    "timeoutDuration": { "index": 6, "kind": "attribute", "displayName": "Timeout Duration", "required": false, "type": "duration", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Configures the thread execution timeout. Default value is 1 second." },
    "timeoutPoolSize": { "index": 7, "kind": "attribute", "displayName": "Timeout Pool Size", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10", "description": "Configures the pool size of the thread pool when timeout is enabled. Default value is 10." },
    "timeoutScheduledExecutorService": { "index": 8, "kind": "attribute", "displayName": "Timeout Scheduled Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "References to a custom thread pool to use when timeout is enabled" },
    "bulkheadEnabled": { "index": 9, "kind": "attribute", "displayName": "Bulkhead Enabled", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether bulkhead is enabled or not on the circuit breaker. Default is false." },
    "bulkheadMaxConcurrentCalls": { "index": 10, "kind": "attribute", "displayName": "Bulkhead Max Concurrent Calls", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10", "description": "Configures the max amount of concurrent calls the bulkhead will support." },
    "bulkheadWaitingTaskQueue": { "index": 11, "kind": "attribute", "displayName": "Bulkhead Waiting Task Queue", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10", "description": "Configures the task queue size for holding waiting tasks to be processed by the bulkhead." },
    "bulkheadExecutorService": { "index": 12, "kind": "attribute", "displayName": "Bulkhead Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "References to a custom thread pool to use when bulkhead is enabled." },
    "id": { "index": 13, "kind": "attribute", "displayName": "Id", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" }
  }
}
