{ "apiVersion":"0.0.1", "swaggerVersion":"1.2", "basePath":"{{Protocol}}://{{Host}}", "resourcePath":"/error_injection", "produces":[ "application/json" ], "apis":[ { "path":"/v2/error_injection/injection/{injection}", "operations":[ { "method":"POST", "summary":"Activate an injection that triggers an error in code", "type":"void", "nickname":"enable_injection", "produces":[ "application/json" ], "parameters":[ { "name":"injection", "description":"injection name, should correspond to an injection added in code", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" }, { "name":"one_shot", "description":"boolean flag indicating whether the injection should be enabled to trigger only once", "required":false, "allowMultiple":false, "type":"boolean", "paramType":"query" }, { "name":"parameters", "description":"dict of parameters to pass to the injection (json format)", "required":false, "allowMultiple":false, "type":"dict", "paramType":"body" } ] }, { "method":"DELETE", "summary":"Deactivate an injection previously activated by the API", "type":"void", "nickname":"disable_injection", "produces":[ "application/json" ], "parameters":[ { "name":"injection", "description":"injection name", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] }, { "method":"GET", "summary":"Read the state of an injection from all shards", "type":"array", "items":{ "type":"error_injection_info" }, "nickname":"read_injection", "produces":[ "application/json" ], "parameters":[ { "name":"injection", "description":"injection name", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/v2/error_injection/injection/{injection}/message", "operations":[ { "method":"POST", "summary":"Send message to trigger an event in injection's code", "type":"void", "nickname":"message_injection", "produces":[ "application/json" ], "parameters":[ { "name":"injection", "description":"injection name, should correspond to an injection added in code", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/v2/error_injection/disconnect/{ip}", "operations":[ { "method":"POST", "summary":"Drop connection to a given IP", "type":"void", "nickname":"inject_disconnect", "produces":[ "application/json" ], "parameters":[ { "name":"ip", "description":"IP address to disconnect from", "required":true, "allowMultiple":false, "type":"string", "paramType":"path" } ] } ] }, { "path":"/v2/error_injection/injection", "operations":[ { "method":"GET", "summary":"List all enabled injections on all shards, i.e. injections that will trigger an error in the code", "type":"array", "items":{ "type":"string" }, "nickname":"get_enabled_injections_on_all", "produces":[ "application/json" ], "parameters":[] }, { "method":"DELETE", "summary":"Deactivate all injections previously activated on all shards by the API", "type":"void", "nickname":"disable_on_all", "produces":[ "application/json" ], "parameters":[] } ] } ], "components":{ "schemas": { "dict": { "type": "object", "additionalProperties": { "type": "string" } } } }, "models":{ "mapper":{ "id":"mapper", "description":"A key value mapping", "properties":{ "key":{ "type":"string", "description":"The key" }, "value":{ "type":"string", "description":"The value" } } }, "error_injection_info":{ "id":"error_injection_info", "description":"Information about an error injection", "properties":{ "enabled":{ "type":"boolean", "description":"Is the error injection enabled" }, "parameters":{ "type":"array", "items":{ "type":"mapper" }, "description":"The parameter values" } }, "required":["enabled"] } } }