| { |
| "controls":[ |
| { |
| "name":"admission_control_policy", |
| "description":"various parameters to control admission of dual connection", |
| "control_state_request_rmr_type":"DC_ADM_GET_POLICY", |
| "control_state_request_reply_rmr_type":"DC_ADM_GET_POLICY_ACK", |
| "message_receives_rmr_type":"DC_ADM_INT_CONTROL", |
| "message_receives_payload_schema":{ |
| "$schema":"http://json-schema.org/draft-07/schema#", |
| "type":"object", |
| "properties":{ |
| "enforce":{ |
| "type":"boolean", |
| "default":true |
| }, |
| "window_length":{ |
| "type":"integer", |
| "default":1, |
| "minimum":1, |
| "maximum":60, |
| "description":"Sliding window length (in minutes)" |
| }, |
| "blocking_rate":{ |
| "type":"number", |
| "default":10, |
| "minimum":1, |
| "maximum":100, |
| "description":"% Connections to block" |
| }, |
| "trigger_threshold":{ |
| "type":"integer", |
| "default":10, |
| "minimum":1, |
| "description":"Minimum number of events in window to trigger blocking" |
| } |
| }, |
| "required":[ |
| "enforce", |
| "blocking_rate", |
| "trigger_threshold", |
| "window_length" |
| ], |
| "additionalProperties":false |
| }, |
| "message_sends_rmr_type":"DC_ADM_INT_CONTROL_ACK", |
| "message_sends_payload_schema":{ |
| "$schema":"http://json-schema.org/draft-07/schema#", |
| "type":"object", |
| "properties":{ |
| "status":{ |
| "type":"string", |
| "enum":[ |
| "SUCCESS", |
| "FAIL" |
| ] |
| }, |
| "message":{ |
| "type":"string" |
| } |
| }, |
| "required":[ |
| "status" |
| ], |
| "additionalProperties":false |
| } |
| }, |
| { |
| "name":"test_policy", |
| "description":"for the purposes of testing", |
| "message_receives_rmr_type":"TEST_REQ", |
| "message_sends_rmr_type":"TEST_ACK", |
| "message_sends_payload_schema":{ |
| "$schema":"http://json-schema.org/draft-07/schema#", |
| "type":"object", |
| "properties":{ |
| "status":{ |
| "type":"string", |
| "enum":[ |
| "SUCCESS", |
| "FAIL" |
| ] |
| } |
| } |
| } |
| } |
| ] |
| } |