}
}
+ grouping shard-result-output {
+ list shard-result {
+ key "shard-name data-store-type";
+ uses shard-operation-result;
+
+ description "The list of results, one per shard";
+ }
+ }
+
rpc add-shard-replica {
input {
leaf shard-name {
+ mandatory true;
type string;
description "The name of the shard for which to create a replica.";
}
leaf data-store-type {
+ mandatory true;
type data-store-type;
description "The type of the data store to which the replica belongs";
}
rpc remove-shard-replica {
input {
leaf shard-name {
+ mandatory true;
type string;
description "The name of the shard for which to remove the replica.";
}
leaf member-name {
+ mandatory true;
type string;
description "The cluster member from which the shard replica should be removed";
}
leaf data-store-type {
+ mandatory true;
type data-store-type;
description "The type of the data store to which the replica belongs";
}
rpc add-replicas-for-all-shards {
output {
- list shard-result {
- key "shard-name data-store-type";
- uses shard-operation-result;
-
- description "The list of results, one per shard";
- }
+ uses shard-result-output;
}
description "Adds replicas on this node for all currently defined shards. This is equivalent to issuing
}
rpc remove-all-shard-replicas {
+ input {
+ leaf member-name {
+ mandatory true;
+ type string;
+ description "The cluster member from which the shard replicas should be removed";
+ }
+ }
+
+ output {
+ uses shard-result-output;
+ }
+
description "Removes replicas for all shards on this node. This is equivalent to issuing
a remove-shard-replica for all shards and essentially removes this node from a cluster.";
}