summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-08-24 15:42:48 +0100
committerDaniil Fedotov <dfedotov@pivotal.io>2016-08-24 15:52:50 +0100
commit15116daafe3f1ef1b55427c35b27c51a5cf2592d (patch)
tree2c61608b737adae97b4e23f0864815eacd9cdbb5 /src
parent086fd01ae1356c358bbc2ebc0f02a375b8cd618b (diff)
downloadrabbitmq-server-git-15116daafe3f1ef1b55427c35b27c51a5cf2592d.tar.gz
operator_policy runtime parameter
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_policy.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/rabbit_policy.erl b/src/rabbit_policy.erl
index 18d5c44261..59367fb182 100644
--- a/src/rabbit_policy.erl
+++ b/src/rabbit_policy.erl
@@ -58,6 +58,9 @@
register() ->
rabbit_registry:register(runtime_parameter, <<"policy">>, ?MODULE).
+register() ->
+ rabbit_registry:register(runtime_parameter, <<"operator_policy">>, ?MODULE).
+
name(#amqqueue{policy = Policy}) -> name0(Policy);
name(#exchange{policy = Policy}) -> name0(Policy).
@@ -270,6 +273,19 @@ notify_clear(VHost, <<"policy">>, Name) ->
rabbit_event:notify(policy_cleared, [{name, Name}, {vhost, VHost}]),
update_policies(VHost).
+% TODO: copy-paste. Check
+validate(_VHost, <<"operator_policy">>, Name, Term, _User) ->
+ rabbit_parameter_validation:proplist(
+ Name, policy_validation(), Term).
+
+notify(VHost, <<"operator_policy">>, Name, Term) ->
+ rabbit_event:notify(policy_set, [{name, Name}, {vhost, VHost} | Term]),
+ update_policies(VHost).
+
+notify_clear(VHost, <<"operator_policy">>, Name) ->
+ rabbit_event:notify(policy_cleared, [{name, Name}, {vhost, VHost}]),
+ update_policies(VHost).
+
%%----------------------------------------------------------------------------
%% [1] We need to prevent this from becoming O(n^2) in a similar