trisulrp 3.2.9 → 3.2.26
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.rdoc +1 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/trisulrp/protocol.rb +41 -0
- data/lib/trisulrp/trp.pb.rb +199 -1
- data/lib/trisulrp/trp.proto +214 -13
- data/trisulrp.gemspec +28 -28
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1eb9ef98c73c9736310f21bd9cdb84c4f6f2409dc4f1c0915aaf86f4d5522dba
|
4
|
+
data.tar.gz: e53eccfad2338f817067c392338d501bebd9c66e319e32fb189965f72f5d042b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a31a36b630e1e1f7a957fed3d3d4f480900f4cdfed69869bbeee628aa9a303c31b3f4f6a1e2740bd0297b6537896a38501a1b9d3a8395e279846f13a9490a51
|
7
|
+
data.tar.gz: 9080652d629291fb28f4b313c3f0c6769f1bc0117ca6d0295037e16b992d6bdecc435cd9a95c033b7458d61d8471310da781f33c4f2f79e6891e558916a95037
|
data/README.rdoc
CHANGED
@@ -16,7 +16,7 @@ Key Features :
|
|
16
16
|
|
17
17
|
* TRP Documentation and Tutorials http://trisul.org/docs/trp/index.html
|
18
18
|
* Getting started tutorial http://trisul.org/docs/trp/trpgemsteps.html
|
19
|
-
* Github repo of sample scripts https://github.com/
|
19
|
+
* Github repo of sample scripts https://github.com/trisulnsm/trisul-scripts/trp
|
20
20
|
|
21
21
|
|
22
22
|
== Contributing to trisulrp
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.2.
|
1
|
+
3.2.26
|
data/lib/trisulrp/protocol.rb
CHANGED
@@ -335,6 +335,32 @@ module TrisulRP::Protocol
|
|
335
335
|
return tint
|
336
336
|
end
|
337
337
|
|
338
|
+
|
339
|
+
# Helper iterate through each time interval in reverse order
|
340
|
+
#
|
341
|
+
# [endpoint] - the ZMQ endpoint
|
342
|
+
#
|
343
|
+
# ==== Returns
|
344
|
+
# ==== Yields
|
345
|
+
# [time_interval, id, total_intervals] A TRP::TimeInterval object which can be attached to any :time_interval field of a TRP request
|
346
|
+
#
|
347
|
+
#
|
348
|
+
def each_time_interval(zmq_endpt)
|
349
|
+
|
350
|
+
req=mk_request(TRP::Message::Command::TIMESLICES_REQUEST )
|
351
|
+
get_response_zmq(zmq_endpt,req) do |resp|
|
352
|
+
|
353
|
+
slice_id = 0
|
354
|
+
total_slices = resp.slices.size
|
355
|
+
|
356
|
+
resp.slices.reverse_each do | slc |
|
357
|
+
yield slc.time_interval, slice_id, total_slices
|
358
|
+
slice_id=slice_id+1
|
359
|
+
end
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
363
|
+
|
338
364
|
# Helper to allow assinging string to KeyT field
|
339
365
|
#
|
340
366
|
# instead of
|
@@ -460,6 +486,9 @@ module TrisulRP::Protocol
|
|
460
486
|
when TRP::Message::Command::QUERY_SESSIONS_REQUEST
|
461
487
|
fix_TRP_Fields( TRP::QuerySessionsRequest, params)
|
462
488
|
req.query_sessions_request = TRP::QuerySessionsRequest.new(params)
|
489
|
+
when TRP::Message::Command::AGGREGATE_SESSIONS_REQUEST
|
490
|
+
fix_TRP_Fields( TRP::AggregateSessionsRequest, params)
|
491
|
+
req.aggregate_sessions_request = TRP::AggregateSessionsRequest.new(params)
|
463
492
|
when TRP::Message::Command::GREP_REQUEST
|
464
493
|
fix_TRP_Fields( TRP::GrepRequest, params)
|
465
494
|
req.grep_request = TRP::GrepRequest.new(params)
|
@@ -517,6 +546,12 @@ module TrisulRP::Protocol
|
|
517
546
|
when TRP::Message::Command::GRAPH_REQUEST
|
518
547
|
fix_TRP_Fields( TRP::GraphRequest, params)
|
519
548
|
req.graph_request = TRP::GraphRequest.new(params)
|
549
|
+
when TRP::Message::Command::RUNTOOL_REQUEST
|
550
|
+
fix_TRP_Fields( TRP::RunToolRequest, params)
|
551
|
+
req.run_tool_request = TRP::RunToolRequest.new(params)
|
552
|
+
when TRP::Message::Command::TOOL_INFO_REQUEST
|
553
|
+
fix_TRP_Fields( TRP::ToolInfoRequest, params)
|
554
|
+
req.tool_info_request = TRP::ToolInfoRequest.new(params)
|
520
555
|
else
|
521
556
|
raise "Unknown TRP command ID"
|
522
557
|
end
|
@@ -586,6 +621,8 @@ module TrisulRP::Protocol
|
|
586
621
|
resp.session_tracker_response
|
587
622
|
when TRP::Message::Command::QUERY_SESSIONS_RESPONSE
|
588
623
|
resp.query_sessions_response
|
624
|
+
when TRP::Message::Command::AGGREGATE_SESSIONS_RESPONSE
|
625
|
+
resp.aggregate_sessions_response
|
589
626
|
when TRP::Message::Command::GREP_RESPONSE
|
590
627
|
resp.grep_response
|
591
628
|
when TRP::Message::Command::KEYSPACE_RESPONSE
|
@@ -614,6 +651,10 @@ module TrisulRP::Protocol
|
|
614
651
|
resp.file_response
|
615
652
|
when TRP::Message::Command::GRAPH_RESPONSE
|
616
653
|
resp.graph_response
|
654
|
+
when TRP::Message::Command::RUNTOOL_RESPONSE
|
655
|
+
resp.run_tool_response
|
656
|
+
when TRP::Message::Command::TOOL_INFO_RESPONSE
|
657
|
+
resp.tool_info_response
|
617
658
|
else
|
618
659
|
raise "#{resp.trp_command.to_i} Unknown TRP command ID"
|
619
660
|
end
|
data/lib/trisulrp/trp.pb.rb
CHANGED
@@ -78,7 +78,11 @@ module TRP
|
|
78
78
|
|
79
79
|
end
|
80
80
|
|
81
|
-
class CounterGroupT < ::Protobuf::Message
|
81
|
+
class CounterGroupT < ::Protobuf::Message
|
82
|
+
class Crosskey < ::Protobuf::Message; end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
82
86
|
class SessionT < ::Protobuf::Message; end
|
83
87
|
class AlertT < ::Protobuf::Message; end
|
84
88
|
class ResourceT < ::Protobuf::Message; end
|
@@ -159,6 +163,15 @@ module TRP
|
|
159
163
|
define :SUBSYSTEM_EXIT, 125
|
160
164
|
define :GRAPH_REQUEST, 130
|
161
165
|
define :GRAPH_RESPONSE, 131
|
166
|
+
define :AGGREGATE_SESSIONS_REQUEST, 132
|
167
|
+
define :AGGREGATE_SESSIONS_RESPONSE, 133
|
168
|
+
define :RUNTOOL_REQUEST, 134
|
169
|
+
define :RUNTOOL_RESPONSE, 135
|
170
|
+
define :HA_CONTROL_REQUEST, 140
|
171
|
+
define :HA_CONTROL_RESPONSE, 141
|
172
|
+
define :DOMAIN_PING, 142
|
173
|
+
define :TOOL_INFO_REQUEST, 143
|
174
|
+
define :TOOL_INFO_RESPONSE, 144
|
162
175
|
end
|
163
176
|
|
164
177
|
end
|
@@ -177,6 +190,13 @@ module TRP
|
|
177
190
|
class CounterGroupInfoResponse < ::Protobuf::Message; end
|
178
191
|
class QuerySessionsRequest < ::Protobuf::Message; end
|
179
192
|
class QuerySessionsResponse < ::Protobuf::Message; end
|
193
|
+
class AggregateSessionsRequest < ::Protobuf::Message; end
|
194
|
+
class AggregateSessionsResponse < ::Protobuf::Message
|
195
|
+
class KeyTCount < ::Protobuf::Message; end
|
196
|
+
class TagGroup < ::Protobuf::Message; end
|
197
|
+
|
198
|
+
end
|
199
|
+
|
180
200
|
class UpdateKeyRequest < ::Protobuf::Message; end
|
181
201
|
class SessionTrackerRequest < ::Protobuf::Message; end
|
182
202
|
class SessionTrackerResponse < ::Protobuf::Message; end
|
@@ -184,6 +204,12 @@ module TRP
|
|
184
204
|
class QueryAlertsResponse < ::Protobuf::Message; end
|
185
205
|
class QueryResourcesRequest < ::Protobuf::Message; end
|
186
206
|
class QueryResourcesResponse < ::Protobuf::Message; end
|
207
|
+
class AggregateResourcesRequest < ::Protobuf::Message; end
|
208
|
+
class AggregateResourcesResponse < ::Protobuf::Message
|
209
|
+
class KeyTCount < ::Protobuf::Message; end
|
210
|
+
|
211
|
+
end
|
212
|
+
|
187
213
|
class KeySpaceRequest < ::Protobuf::Message
|
188
214
|
class KeySpace < ::Protobuf::Message; end
|
189
215
|
|
@@ -227,6 +253,18 @@ module TRP
|
|
227
253
|
|
228
254
|
end
|
229
255
|
|
256
|
+
class HAControlRequest < ::Protobuf::Message
|
257
|
+
class HAOperation < ::Protobuf::Enum
|
258
|
+
define :HA_TEST_REACHABILITY, 0
|
259
|
+
define :HA_SWITCH_BACKUP, 1
|
260
|
+
define :HA_SWITCH_PRIMARY, 2
|
261
|
+
end
|
262
|
+
|
263
|
+
end
|
264
|
+
|
265
|
+
class HAControlResponse < ::Protobuf::Message; end
|
266
|
+
class ToolInfoRequest < ::Protobuf::Message; end
|
267
|
+
class ToolInfoResponse < ::Protobuf::Message; end
|
230
268
|
class NodeConfigRequest < ::Protobuf::Message
|
231
269
|
class IntelFeed < ::Protobuf::Message; end
|
232
270
|
|
@@ -265,6 +303,18 @@ module TRP
|
|
265
303
|
class FileResponse < ::Protobuf::Message; end
|
266
304
|
class GraphRequest < ::Protobuf::Message; end
|
267
305
|
class GraphResponse < ::Protobuf::Message; end
|
306
|
+
class RunToolRequest < ::Protobuf::Message
|
307
|
+
class NodeTool < ::Protobuf::Enum
|
308
|
+
define :PING, 1
|
309
|
+
define :DF, 2
|
310
|
+
define :GEOQUERY, 3
|
311
|
+
define :TOP, 4
|
312
|
+
define :BGPQUERY, 5
|
313
|
+
end
|
314
|
+
|
315
|
+
end
|
316
|
+
|
317
|
+
class RunToolResponse < ::Protobuf::Message; end
|
268
318
|
|
269
319
|
|
270
320
|
##
|
@@ -330,15 +380,25 @@ module TRP
|
|
330
380
|
optional :string, :description, 4
|
331
381
|
optional :int64, :metric, 5
|
332
382
|
repeated ::TRP::KeyT::NameValueT, :attributes, 6
|
383
|
+
optional :int64, :metric_max, 7
|
384
|
+
optional :int64, :metric_min, 8
|
385
|
+
optional :int64, :metric_avg, 9
|
333
386
|
end
|
334
387
|
|
335
388
|
class CounterGroupT
|
389
|
+
class Crosskey
|
390
|
+
required :string, :parentguid, 1
|
391
|
+
required :string, :crosskeyguid_1, 2
|
392
|
+
optional :string, :crosskeyguid_2, 3
|
393
|
+
end
|
394
|
+
|
336
395
|
required :string, :guid, 1
|
337
396
|
required :string, :name, 2
|
338
397
|
optional :int64, :bucket_size, 3
|
339
398
|
optional ::TRP::TimeInterval, :time_interval, 4
|
340
399
|
optional :int64, :topper_bucket_size, 5
|
341
400
|
repeated ::TRP::MeterInfo, :meters, 6
|
401
|
+
optional ::TRP::CounterGroupT::Crosskey, :crosskey, 7
|
342
402
|
end
|
343
403
|
|
344
404
|
class SessionT
|
@@ -491,6 +551,16 @@ module TRP
|
|
491
551
|
optional ::TRP::FileResponse, :file_response, 123
|
492
552
|
optional ::TRP::GraphRequest, :graph_request, 130
|
493
553
|
optional ::TRP::GraphResponse, :graph_response, 131
|
554
|
+
optional ::TRP::AggregateSessionsRequest, :aggregate_sessions_request, 140
|
555
|
+
optional ::TRP::AggregateSessionsResponse, :aggregate_sessions_response, 141
|
556
|
+
optional ::TRP::AggregateResourcesRequest, :aggregate_resources_request, 142
|
557
|
+
optional ::TRP::AggregateResourcesResponse, :aggregate_resources_response, 143
|
558
|
+
optional ::TRP::RunToolRequest, :run_tool_request, 144
|
559
|
+
optional ::TRP::RunToolResponse, :run_tool_response, 145
|
560
|
+
optional ::TRP::HAControlRequest, :ha_control_request, 150
|
561
|
+
optional ::TRP::HAControlResponse, :ha_control_response, 151
|
562
|
+
optional ::TRP::ToolInfoRequest, :tool_info_request, 152
|
563
|
+
optional ::TRP::ToolInfoResponse, :tool_info_response, 153
|
494
564
|
optional :string, :destination_node, 200
|
495
565
|
optional :string, :probe_id, 201
|
496
566
|
optional :bool, :run_async, 202
|
@@ -506,6 +576,8 @@ module TRP
|
|
506
576
|
optional :string, :station_id_request, 2
|
507
577
|
optional :string, :message, 3
|
508
578
|
optional :int64, :local_timestamp, 4
|
579
|
+
optional :string, :local_timestamp_string, 5
|
580
|
+
optional :bool, :is_primary, 6
|
509
581
|
end
|
510
582
|
|
511
583
|
class ErrorResponse
|
@@ -532,6 +604,9 @@ module TRP
|
|
532
604
|
required ::TRP::KeyT, :key, 2
|
533
605
|
optional ::TRP::StatsArray, :totals, 3
|
534
606
|
repeated ::TRP::StatsArray, :stats, 4
|
607
|
+
optional ::TRP::StatsArray, :maximums, 5
|
608
|
+
optional ::TRP::StatsArray, :minimums, 6
|
609
|
+
optional ::TRP::StatsArray, :samples, 8
|
535
610
|
end
|
536
611
|
|
537
612
|
class CounterGroupTopperRequest
|
@@ -542,6 +617,8 @@ module TRP
|
|
542
617
|
optional ::TRP::Timestamp, :time_instant, 6
|
543
618
|
optional :int64, :flags, 7
|
544
619
|
optional :bool, :resolve_keys, 8, :default => true
|
620
|
+
optional :string, :key_filter, 9
|
621
|
+
optional :string, :inverse_key_filter, 10
|
545
622
|
end
|
546
623
|
|
547
624
|
class CounterGroupTopperResponse
|
@@ -600,6 +677,7 @@ module TRP
|
|
600
677
|
optional :bool, :resolve_keys, 21, :default => true
|
601
678
|
optional :string, :outputpath, 22
|
602
679
|
repeated :string, :idlist, 23
|
680
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 24
|
603
681
|
end
|
604
682
|
|
605
683
|
class QuerySessionsResponse
|
@@ -608,9 +686,66 @@ module TRP
|
|
608
686
|
optional :string, :outputpath, 4
|
609
687
|
end
|
610
688
|
|
689
|
+
class AggregateSessionsRequest
|
690
|
+
optional :string, :session_group, 2, :default => "{99A78737-4B41-4387-8F31-8077DB917336}"
|
691
|
+
optional ::TRP::TimeInterval, :time_interval, 3
|
692
|
+
optional ::TRP::KeyT, :source_ip, 5
|
693
|
+
optional ::TRP::KeyT, :source_port, 6
|
694
|
+
optional ::TRP::KeyT, :dest_ip, 7
|
695
|
+
optional ::TRP::KeyT, :dest_port, 8
|
696
|
+
optional ::TRP::KeyT, :any_ip, 9
|
697
|
+
optional ::TRP::KeyT, :any_port, 10
|
698
|
+
repeated ::TRP::KeyT, :ip_pair, 11
|
699
|
+
optional ::TRP::KeyT, :protocol, 12
|
700
|
+
optional :string, :flowtag, 13
|
701
|
+
optional ::TRP::KeyT, :nf_routerid, 14
|
702
|
+
optional ::TRP::KeyT, :nf_ifindex_in, 15
|
703
|
+
optional ::TRP::KeyT, :nf_ifindex_out, 16
|
704
|
+
optional :string, :subnet_24, 17
|
705
|
+
optional :string, :subnet_16, 18
|
706
|
+
optional :int64, :aggregate_topcount, 19, :default => 100
|
707
|
+
repeated :string, :group_by_fields, 20
|
708
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 21
|
709
|
+
end
|
710
|
+
|
711
|
+
class AggregateSessionsResponse
|
712
|
+
class KeyTCount
|
713
|
+
required ::TRP::KeyT, :key, 1
|
714
|
+
required :int64, :count, 2
|
715
|
+
required :int64, :metric, 3
|
716
|
+
end
|
717
|
+
|
718
|
+
class TagGroup
|
719
|
+
required :string, :group_name, 1
|
720
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :tag_metrics, 2
|
721
|
+
end
|
722
|
+
|
723
|
+
required :string, :session_group, 2
|
724
|
+
optional ::TRP::TimeInterval, :time_interval, 3
|
725
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :source_ip, 5
|
726
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :source_port, 6
|
727
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :dest_ip, 7
|
728
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :dest_port, 8
|
729
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :any_ip, 9
|
730
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :any_port, 10
|
731
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :ip_pair, 11
|
732
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :protocol, 12
|
733
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :flowtag, 13
|
734
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_routerid, 14
|
735
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_ifindex_in, 15
|
736
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_ifindex_out, 16
|
737
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :subnet_24, 17
|
738
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_port, 18
|
739
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_ip, 19
|
740
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :external_ip, 20
|
741
|
+
repeated ::TRP::AggregateSessionsResponse::TagGroup, :tag_group, 21
|
742
|
+
end
|
743
|
+
|
611
744
|
class UpdateKeyRequest
|
612
745
|
required :string, :counter_group, 2
|
613
746
|
repeated ::TRP::KeyT, :keys, 4
|
747
|
+
optional :bool, :remove_all_attributes, 5
|
748
|
+
repeated :string, :remove_attributes, 6
|
614
749
|
end
|
615
750
|
|
616
751
|
class SessionTrackerRequest
|
@@ -684,6 +819,25 @@ module TRP
|
|
684
819
|
optional :int64, :approx_count, 4
|
685
820
|
end
|
686
821
|
|
822
|
+
class AggregateResourcesRequest
|
823
|
+
required ::TRP::QueryResourcesRequest, :query, 1
|
824
|
+
optional :int64, :aggregate_topcount, 2, :default => 100
|
825
|
+
end
|
826
|
+
|
827
|
+
class AggregateResourcesResponse
|
828
|
+
class KeyTCount
|
829
|
+
required ::TRP::KeyT, :key, 1
|
830
|
+
required :int64, :count, 2
|
831
|
+
end
|
832
|
+
|
833
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :source_ip, 5
|
834
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :source_port, 6
|
835
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :destination_ip, 7
|
836
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :destination_port, 8
|
837
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :uri, 9
|
838
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :userlabel, 10
|
839
|
+
end
|
840
|
+
|
687
841
|
class KeySpaceRequest
|
688
842
|
class KeySpace
|
689
843
|
required ::TRP::KeyT, :from_key, 1
|
@@ -709,6 +863,8 @@ module TRP
|
|
709
863
|
optional :int64, :meter, 3, :default => 0
|
710
864
|
optional :int64, :maxitems, 4, :default => 100
|
711
865
|
optional ::TRP::TimeInterval, :time_interval, 5
|
866
|
+
optional :string, :key_filter, 6
|
867
|
+
optional :string, :inverse_key_filter, 7
|
712
868
|
end
|
713
869
|
|
714
870
|
class TopperTrendResponse
|
@@ -824,6 +980,7 @@ module TRP
|
|
824
980
|
optional :string, :extra_info, 4
|
825
981
|
optional ::TRP::Timestamp, :register_time, 5
|
826
982
|
optional ::TRP::Timestamp, :heartbeat_time, 6
|
983
|
+
optional :bool, :is_primary, 7, :default => true
|
827
984
|
end
|
828
985
|
|
829
986
|
required ::TRP::DomainOperation, :cmd, 1
|
@@ -833,12 +990,39 @@ module TRP
|
|
833
990
|
optional :bool, :need_reconnect, 5, :default => false
|
834
991
|
end
|
835
992
|
|
993
|
+
class HAControlRequest
|
994
|
+
required ::TRP::HAControlRequest::HAOperation, :cmd, 1
|
995
|
+
optional :string, :station_id, 2
|
996
|
+
optional :string, :params, 3
|
997
|
+
end
|
998
|
+
|
999
|
+
class HAControlResponse
|
1000
|
+
optional :bool, :control_success, 1
|
1001
|
+
optional :string, :station_id, 2
|
1002
|
+
optional :string, :status_message, 3
|
1003
|
+
optional :bool, :primary_reachable, 4
|
1004
|
+
optional :bool, :backup_reachable, 5
|
1005
|
+
end
|
1006
|
+
|
1007
|
+
class ToolInfoRequest
|
1008
|
+
optional :string, :context_name, 1
|
1009
|
+
optional :string, :tool_name, 2
|
1010
|
+
repeated :string, :tool_info_requested, 3
|
1011
|
+
end
|
1012
|
+
|
1013
|
+
class ToolInfoResponse
|
1014
|
+
repeated ::TRP::NameValue, :tool_info, 1
|
1015
|
+
end
|
1016
|
+
|
836
1017
|
class NodeConfigRequest
|
837
1018
|
class IntelFeed
|
838
1019
|
required :string, :guid, 1
|
839
1020
|
optional :string, :name, 2
|
840
1021
|
optional :string, :download_rules, 3
|
841
1022
|
repeated :string, :uri, 4
|
1023
|
+
repeated :string, :usernodes, 5
|
1024
|
+
optional :int64, :sub_feed_id, 6, :default => -1
|
1025
|
+
optional :bool, :restore_mode, 7, :default => false
|
842
1026
|
end
|
843
1027
|
|
844
1028
|
optional :string, :message, 1
|
@@ -846,6 +1030,7 @@ module TRP
|
|
846
1030
|
optional ::TRP::NodeConfigRequest::IntelFeed, :process_new_feed, 3
|
847
1031
|
optional :bool, :get_all_nodes, 4, :default => true
|
848
1032
|
repeated ::TRP::NameValue, :query_config, 5
|
1033
|
+
optional ::TRP::NodeConfigRequest::IntelFeed, :remove_feed, 6
|
849
1034
|
end
|
850
1035
|
|
851
1036
|
class NodeConfigResponse
|
@@ -871,6 +1056,7 @@ module TRP
|
|
871
1056
|
class ContextInfoRequest
|
872
1057
|
optional :string, :context_name, 1
|
873
1058
|
optional :bool, :get_size_on_disk, 2, :default => false
|
1059
|
+
optional :string, :tool_name, 3
|
874
1060
|
end
|
875
1061
|
|
876
1062
|
class ContextInfoResponse
|
@@ -1048,5 +1234,17 @@ module TRP
|
|
1048
1234
|
repeated ::TRP::EdgeGraphT, :graphs, 3
|
1049
1235
|
end
|
1050
1236
|
|
1237
|
+
class RunToolRequest
|
1238
|
+
required :string, :context_name, 1
|
1239
|
+
required ::TRP::RunToolRequest::NodeTool, :tool, 2
|
1240
|
+
optional :string, :tool_input, 3
|
1241
|
+
optional :string, :tool_input_file_data, 4
|
1242
|
+
end
|
1243
|
+
|
1244
|
+
class RunToolResponse
|
1245
|
+
required :string, :context_name, 1
|
1246
|
+
optional :string, :tool_output, 2
|
1247
|
+
end
|
1248
|
+
|
1051
1249
|
end
|
1052
1250
|
|
data/lib/trisulrp/trp.proto
CHANGED
@@ -107,6 +107,9 @@ message KeyT {
|
|
107
107
|
required string attr_value=2;
|
108
108
|
}
|
109
109
|
repeated NameValueT attributes=6; /// New: Attributes are NVP for keys
|
110
|
+
optional int64 metric_max=7; /// optional : max observed value for metric in context
|
111
|
+
optional int64 metric_min=8; /// optional : max observed value for metric
|
112
|
+
optional int64 metric_avg=9; /// optional : max observed value for metric
|
110
113
|
}
|
111
114
|
|
112
115
|
|
@@ -119,6 +122,14 @@ message CounterGroupT {
|
|
119
122
|
optional TimeInterval time_interval=4; /// total time interval available in DB
|
120
123
|
optional int64 topper_bucket_size=5; /// topper bucketsize (streaming analytics window)
|
121
124
|
repeated MeterInfo meters=6; /// array of meter information (m0, m1, .. mn)
|
125
|
+
|
126
|
+
message Crosskey {
|
127
|
+
required string parentguid=1; /// parent GUID of ckey counter group
|
128
|
+
required string crosskeyguid_1=2; /// crosskey 1 guid - required
|
129
|
+
optional string crosskeyguid_2=3; /// crosskey 2 guid - optional
|
130
|
+
}
|
131
|
+
optional Crosskey crosskey=7; /// for cross key counter group
|
132
|
+
|
122
133
|
}
|
123
134
|
|
124
135
|
/// SessionT : an IP flow
|
@@ -340,6 +351,16 @@ message Message {
|
|
340
351
|
SUBSYSTEM_EXIT=125;
|
341
352
|
GRAPH_REQUEST=130;
|
342
353
|
GRAPH_RESPONSE=131;
|
354
|
+
AGGREGATE_SESSIONS_REQUEST=132;
|
355
|
+
AGGREGATE_SESSIONS_RESPONSE=133;
|
356
|
+
RUNTOOL_REQUEST=134;
|
357
|
+
RUNTOOL_RESPONSE=135;
|
358
|
+
HA_CONTROL_REQUEST=140;
|
359
|
+
HA_CONTROL_RESPONSE=141;
|
360
|
+
DOMAIN_PING=142;
|
361
|
+
TOOL_INFO_REQUEST=143;
|
362
|
+
TOOL_INFO_RESPONSE=144;
|
363
|
+
|
343
364
|
}
|
344
365
|
|
345
366
|
required Command trp_command=1;
|
@@ -403,6 +424,16 @@ message Message {
|
|
403
424
|
optional FileResponse file_response=123;
|
404
425
|
optional GraphRequest graph_request=130;
|
405
426
|
optional GraphResponse graph_response=131;
|
427
|
+
optional AggregateSessionsRequest aggregate_sessions_request=140;
|
428
|
+
optional AggregateSessionsResponse aggregate_sessions_response=141;
|
429
|
+
optional AggregateResourcesRequest aggregate_resources_request=142;
|
430
|
+
optional AggregateResourcesResponse aggregate_resources_response=143;
|
431
|
+
optional RunToolRequest run_tool_request=144;
|
432
|
+
optional RunToolResponse run_tool_response=145;
|
433
|
+
optional HAControlRequest ha_control_request=150;
|
434
|
+
optional HAControlResponse ha_control_response=151;
|
435
|
+
optional ToolInfoRequest tool_info_request=152;
|
436
|
+
optional ToolInfoResponse tool_info_response=153;
|
406
437
|
optional string destination_node=200; // todo move 2nd
|
407
438
|
optional string probe_id=201; // todo move 3rd
|
408
439
|
optional bool run_async=202; /// if run_async = true, then you will immediately get a AsynResponse with a token you can poll
|
@@ -429,6 +460,8 @@ message HelloResponse{
|
|
429
460
|
optional string station_id_request=2; /// station id found in the request
|
430
461
|
optional string message=3; /// message found in the request
|
431
462
|
optional int64 local_timestamp=4; /// local timestamp at server, used to detect drifts
|
463
|
+
optional string local_timestamp_string=5; /// on server with time zone, use this
|
464
|
+
optional bool is_primary=6; /// is this a primary or HA node
|
432
465
|
}
|
433
466
|
|
434
467
|
/// ErrorResponse
|
@@ -463,6 +496,9 @@ message CounterItemResponse{
|
|
463
496
|
required KeyT key=2; /// key : filled up with readable,label automatically
|
464
497
|
optional StatsArray totals=3; /// if volumes_only = 1 in request, this contains totals for each metric
|
465
498
|
repeated StatsArray stats=4; /// time series stats - can use to draw charts etc
|
499
|
+
optional StatsArray maximums=5; /// if volumes_only = 1 this contains MAX(..)
|
500
|
+
optional StatsArray minimums=6; /// if volumes_only = 1 this contains MIN(..)
|
501
|
+
optional StatsArray samples=8; /// if volumes_only = 1 this contains SAMPLES(..)
|
466
502
|
}
|
467
503
|
|
468
504
|
|
@@ -475,6 +511,8 @@ message CounterGroupTopperRequest{
|
|
475
511
|
optional Timestamp time_instant=6; ///
|
476
512
|
optional int64 flags=7;
|
477
513
|
optional bool resolve_keys=8 [default=true]; /// retrieve labels as set in the response for each key
|
514
|
+
optional string key_filter=9; /// only get keys with this pattern and SYS:GROUP
|
515
|
+
optional string inverse_key_filter=10; /// only get keys without this pattern NOT
|
478
516
|
}
|
479
517
|
|
480
518
|
/// CounterGroupTopperResponse
|
@@ -529,7 +567,7 @@ message QuerySessionsRequest {
|
|
529
567
|
optional KeyT dest_ip=7;
|
530
568
|
optional KeyT dest_port=8;
|
531
569
|
optional KeyT any_ip=9; /// source or dest match
|
532
|
-
optional KeyT any_port=10;
|
570
|
+
optional KeyT any_port=10; /// source or dest match
|
533
571
|
repeated KeyT ip_pair=11; /// array of 2 ips
|
534
572
|
optional KeyT protocol=12;
|
535
573
|
optional string flowtag=13; /// string flow tagger text
|
@@ -543,6 +581,7 @@ message QuerySessionsRequest {
|
|
543
581
|
optional bool resolve_keys=21[default=true];
|
544
582
|
optional string outputpath=22; /// write results to a file (CSV) on trisul-hub (for very large dumps)
|
545
583
|
repeated string idlist=23; /// array of flow ids , usually from SessionTracker response
|
584
|
+
optional KeyT any_nf_ifindex=24; /// composite query for both ifindex
|
546
585
|
}
|
547
586
|
|
548
587
|
|
@@ -554,11 +593,76 @@ message QuerySessionsResponse {
|
|
554
593
|
optional string outputpath=4; /// if 'outputpath' set in request, the sessions are here (in CSV format)
|
555
594
|
}
|
556
595
|
|
596
|
+
|
597
|
+
/// AggregateSessions - count star
|
598
|
+
/// query flow and then count the numbers
|
599
|
+
/// by default aggregate on ALL fields
|
600
|
+
message AggregateSessionsRequest {
|
601
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
602
|
+
optional TimeInterval time_interval=3;
|
603
|
+
optional KeyT source_ip=5;
|
604
|
+
optional KeyT source_port=6;
|
605
|
+
optional KeyT dest_ip=7;
|
606
|
+
optional KeyT dest_port=8;
|
607
|
+
optional KeyT any_ip=9; /// source or dest match
|
608
|
+
optional KeyT any_port=10; /// source or dest match
|
609
|
+
repeated KeyT ip_pair=11; /// array of 2 ips
|
610
|
+
optional KeyT protocol=12;
|
611
|
+
optional string flowtag=13; /// string flow tagger text
|
612
|
+
optional KeyT nf_routerid=14;
|
613
|
+
optional KeyT nf_ifindex_in=15;
|
614
|
+
optional KeyT nf_ifindex_out=16;
|
615
|
+
optional string subnet_24=17; /// ip /24 subnet matching
|
616
|
+
optional string subnet_16=18; /// ip /16 subnet
|
617
|
+
optional int64 aggregate_topcount=19[default=100]; /// number of count-star per field
|
618
|
+
repeated string group_by_fields=20; /// list of field names
|
619
|
+
optional KeyT any_nf_ifindex=21; /// matches either gen2 or gen3
|
620
|
+
}
|
621
|
+
|
622
|
+
/// AggregateSessionsResponse
|
623
|
+
/// contains counts of each key
|
624
|
+
message AggregateSessionsResponse {
|
625
|
+
|
626
|
+
message KeyTCount {
|
627
|
+
required KeyT key=1; /// aggregate key
|
628
|
+
required int64 count=2; /// number of matching flows
|
629
|
+
required int64 metric=3; /// aggregated metrics, eg total bytes
|
630
|
+
}
|
631
|
+
|
632
|
+
message TagGroup {
|
633
|
+
required string group_name=1;
|
634
|
+
repeated KeyTCount tag_metrics=2;
|
635
|
+
}
|
636
|
+
|
637
|
+
required string session_group=2;
|
638
|
+
optional TimeInterval time_interval=3;
|
639
|
+
repeated KeyTCount source_ip=5; /// top IPs
|
640
|
+
repeated KeyTCount source_port=6; /// top ports
|
641
|
+
repeated KeyTCount dest_ip=7; /// dest IPs
|
642
|
+
repeated KeyTCount dest_port=8; /// dest ports
|
643
|
+
repeated KeyTCount any_ip=9; /// source or dest match
|
644
|
+
repeated KeyTCount any_port=10; /// source or dest match
|
645
|
+
repeated KeyTCount ip_pair=11; /// array of 2 ips
|
646
|
+
repeated KeyTCount protocol=12; /// protocols
|
647
|
+
repeated KeyTCount flowtag=13; /// string flow tagger text
|
648
|
+
repeated KeyTCount nf_routerid=14;
|
649
|
+
repeated KeyTCount nf_ifindex_in=15;
|
650
|
+
repeated KeyTCount nf_ifindex_out=16;
|
651
|
+
repeated KeyTCount subnet_24=17; /// ip /24 subnet matching
|
652
|
+
repeated KeyTCount internal_port=18; /// internal IP ports
|
653
|
+
repeated KeyTCount internal_ip=19; /// internal IPs
|
654
|
+
repeated KeyTCount external_ip=20; /// external IPs
|
655
|
+
repeated TagGroup tag_group=21; /// tag groups
|
656
|
+
}
|
657
|
+
|
658
|
+
|
557
659
|
/// UpdatekeysRequest
|
558
660
|
/// Response = OKResponse or ErrorResponse
|
559
661
|
message UpdateKeyRequest{
|
560
662
|
required string counter_group=2;
|
561
|
-
repeated KeyT keys=4;
|
663
|
+
repeated KeyT keys=4; /// key : if you set both key and label, the DB label will be updated
|
664
|
+
optional bool remove_all_attributes=5; /// remove all key attributes from keys
|
665
|
+
repeated string remove_attributes=6; /// remove these attributes only from keys
|
562
666
|
}
|
563
667
|
|
564
668
|
/// SessionTrackerRequest - query session trackers
|
@@ -619,6 +723,7 @@ message QueryAlertsResponse {
|
|
619
723
|
|
620
724
|
|
621
725
|
/// QueryResourcesRequest - resource queries
|
726
|
+
/// DNS, HTTP,
|
622
727
|
message QueryResourcesRequest {
|
623
728
|
required string resource_group=2;
|
624
729
|
optional TimeInterval time_interval=3;
|
@@ -648,6 +753,30 @@ message QueryResourcesResponse {
|
|
648
753
|
}
|
649
754
|
|
650
755
|
|
756
|
+
/// AggregatedResourceRequest - resource queries
|
757
|
+
/// DNS, HTTP,
|
758
|
+
message AggregateResourcesRequest {
|
759
|
+
required QueryResourcesRequest query=1;
|
760
|
+
optional int64 aggregate_topcount=2[default=100]; /// number of count-star per field
|
761
|
+
}
|
762
|
+
|
763
|
+
/// AggregateResourcesResponse
|
764
|
+
/// various counters
|
765
|
+
message AggregateResourcesResponse {
|
766
|
+
|
767
|
+
message KeyTCount {
|
768
|
+
required KeyT key=1;
|
769
|
+
required int64 count=2;
|
770
|
+
}
|
771
|
+
|
772
|
+
repeated KeyTCount source_ip=5;
|
773
|
+
repeated KeyTCount source_port=6;
|
774
|
+
repeated KeyTCount destination_ip=7;
|
775
|
+
repeated KeyTCount destination_port=8;
|
776
|
+
repeated KeyTCount uri=9; /// group by URI
|
777
|
+
repeated KeyTCount userlabel=10; /// group by Pattern
|
778
|
+
}
|
779
|
+
|
651
780
|
|
652
781
|
/// KeySpaceRequest - search hits in Key Space
|
653
782
|
/// for example you can search the key space 10.0.0.0 to 11.0.0.0 to get all IP
|
@@ -681,6 +810,8 @@ message TopperTrendRequest {
|
|
681
810
|
optional int64 meter=3 [default=0];
|
682
811
|
optional int64 maxitems=4 [default=100];
|
683
812
|
optional TimeInterval time_interval=5;
|
813
|
+
optional string key_filter=6; /// only get keys with this pattern and SYS:GROUP
|
814
|
+
optional string inverse_key_filter=7; /// only get keys without this pattern NOT
|
684
815
|
}
|
685
816
|
|
686
817
|
/// TopperTrendResponse
|
@@ -747,9 +878,16 @@ message QueryFTSResponse {
|
|
747
878
|
/// get the METERS METASLICE info
|
748
879
|
/// .. response = TimeSlicesResponse
|
749
880
|
message TimeSlicesRequest {
|
750
|
-
optional bool get_disk_usage=1[default=false];
|
751
|
-
|
752
|
-
optional bool
|
881
|
+
optional bool get_disk_usage=1[default=false]; /// get disk usage per SLICE
|
882
|
+
|
883
|
+
optional bool get_all_engines=2[default=false]; /// by default (set to false) we only get instance-0
|
884
|
+
/// because are interested in iterating over
|
885
|
+
/// the time interval rather then each slice
|
886
|
+
/// inside the time interval. set this to true
|
887
|
+
/// if you want each slice to be reported
|
888
|
+
|
889
|
+
optional bool get_total_window=3[default=false]; /// just get the total time window in the
|
890
|
+
/// trisul database
|
753
891
|
}
|
754
892
|
|
755
893
|
/// .. response = TimeSlicesResponse
|
@@ -849,6 +987,7 @@ message DomainResponse {
|
|
849
987
|
optional string extra_info=4;
|
850
988
|
optional Timestamp register_time=5;
|
851
989
|
optional Timestamp heartbeat_time=6;
|
990
|
+
optional bool is_primary=7[default=true]; /// primary or backup HA mode
|
852
991
|
|
853
992
|
}
|
854
993
|
|
@@ -859,22 +998,62 @@ message DomainResponse {
|
|
859
998
|
optional bool need_reconnect=5[default=false];
|
860
999
|
}
|
861
1000
|
|
1001
|
+
/// messages to HAControl
|
1002
|
+
message HAControlRequest {
|
1003
|
+
enum HAOperation
|
1004
|
+
{
|
1005
|
+
HA_TEST_REACHABILITY=0; /// test if primary or backup is reachable (test the other side)
|
1006
|
+
HA_SWITCH_BACKUP=1; /// switch all nodes to backup HA
|
1007
|
+
HA_SWITCH_PRIMARY=2; /// switch to primary HA
|
1008
|
+
}
|
1009
|
+
|
1010
|
+
|
1011
|
+
required HAOperation cmd=1;
|
1012
|
+
optional string station_id=2;
|
1013
|
+
optional string params=3;
|
1014
|
+
}
|
1015
|
+
|
1016
|
+
message HAControlResponse {
|
1017
|
+
optional bool control_success=1;
|
1018
|
+
optional string station_id=2;
|
1019
|
+
optional string status_message=3;
|
1020
|
+
optional bool primary_reachable=4;
|
1021
|
+
optional bool backup_reachable=5;
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
/// tool info
|
1025
|
+
/// general purpose probe information gathering tool
|
1026
|
+
/// use cases : get BGP route receiver peer status
|
1027
|
+
message ToolInfoRequest {
|
1028
|
+
optional string context_name=1;
|
1029
|
+
optional string tool_name=2;
|
1030
|
+
repeated string tool_info_requested=3; /// array of information elements requested
|
1031
|
+
}
|
1032
|
+
|
1033
|
+
message ToolInfoResponse {
|
1034
|
+
repeated NameValue tool_info=1; /// info elements Name=Value
|
1035
|
+
}
|
1036
|
+
|
862
1037
|
|
863
1038
|
message NodeConfigRequest {
|
864
1039
|
optional string message=1;
|
865
1040
|
|
866
1041
|
message IntelFeed {
|
867
|
-
required string guid=1;
|
868
|
-
optional string name=2;
|
869
|
-
optional string download_rules=3;
|
870
|
-
repeated string uri=4;
|
1042
|
+
required string guid=1; /// identifying feed group (eg Geo, Badfellas)
|
1043
|
+
optional string name=2; /// feed name (eg badfellas)
|
1044
|
+
optional string download_rules=3; /// xml file with feed update instructions
|
1045
|
+
repeated string uri=4; /// individual files in config//.. for FileRequest download
|
1046
|
+
repeated string usernodes=5; /// user requesting the feed, the probe0, probe1, etc
|
1047
|
+
optional int64 sub_feed_id=6[default=-1];/// sub feed ID, when a feed consists of several sub-feeds
|
1048
|
+
optional bool restore_mode=7[default=false]; /// restore mode will backup and restore, used with add,remove
|
1049
|
+
|
871
1050
|
}
|
872
1051
|
|
873
1052
|
optional IntelFeed add_feed=2;
|
874
1053
|
optional IntelFeed process_new_feed=3;
|
875
1054
|
optional bool get_all_nodes=4[default=true];
|
876
1055
|
repeated NameValue query_config=5;
|
877
|
-
|
1056
|
+
optional IntelFeed remove_feed=6;
|
878
1057
|
}
|
879
1058
|
|
880
1059
|
message NodeConfigResponse {
|
@@ -905,8 +1084,9 @@ message ContextCreateRequest {
|
|
905
1084
|
/// ContextInfo : one or all contexts
|
906
1085
|
/// use is_init to prime with config
|
907
1086
|
message ContextInfoRequest {
|
908
|
-
optional string context_name=1;
|
1087
|
+
optional string context_name=1; /// if not set all context get in
|
909
1088
|
optional bool get_size_on_disk=2[default=false]; /// get size on disk (expensive)
|
1089
|
+
optional string tool_name=3; /// get status of this tool, freeform bgp, suricata, snort, udpsink etc..
|
910
1090
|
}
|
911
1091
|
|
912
1092
|
message ContextInfoResponse {
|
@@ -916,11 +1096,11 @@ message ContextInfoResponse {
|
|
916
1096
|
{
|
917
1097
|
required string context_name=1;
|
918
1098
|
required bool is_initialized=2;
|
919
|
-
required bool is_running=3;
|
1099
|
+
required bool is_running=3; /// trisul processes runs
|
920
1100
|
optional int64 size_on_disk=4;
|
921
1101
|
optional TimeInterval time_interval=5;
|
922
1102
|
optional bool is_clean=6;
|
923
|
-
optional string extrainfo=7;
|
1103
|
+
optional string extrainfo=7; /// freeform text output when tool is specified , can be long string
|
924
1104
|
repeated TimeInterval run_history=8;
|
925
1105
|
optional string profile=9;
|
926
1106
|
optional string runmode=10;
|
@@ -1137,3 +1317,24 @@ message GraphResponse {
|
|
1137
1317
|
/// repeated because returned in time chunks
|
1138
1318
|
}
|
1139
1319
|
|
1320
|
+
/// RunToolRequest : run set of named tools
|
1321
|
+
message RunToolRequest {
|
1322
|
+
required string context_name=1; /// if not set all context get in
|
1323
|
+
enum NodeTool {
|
1324
|
+
PING=1;
|
1325
|
+
DF=2;
|
1326
|
+
GEOQUERY=3;
|
1327
|
+
TOP=4;
|
1328
|
+
BGPQUERY=5;
|
1329
|
+
}
|
1330
|
+
required NodeTool tool=2; /// which of these tools you want to run on node
|
1331
|
+
optional string tool_input=3; /// input
|
1332
|
+
optional string tool_input_file_data=4;/// data that goes into a tool input file
|
1333
|
+
}
|
1334
|
+
|
1335
|
+
/// RunToolResponse : ouput
|
1336
|
+
message RunToolResponse {
|
1337
|
+
required string context_name=1; /// if not set all context get in
|
1338
|
+
optional string tool_output=2; /// cmd lines
|
1339
|
+
}
|
1340
|
+
|
data/trisulrp.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: trisulrp 3.2.
|
5
|
+
# stub: trisulrp 3.2.26 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
|
-
s.name = "trisulrp"
|
9
|
-
s.version = "3.2.
|
8
|
+
s.name = "trisulrp".freeze
|
9
|
+
s.version = "3.2.26"
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.authors = ["vivek"]
|
14
|
-
s.date = "
|
15
|
-
s.description = "This gem deals about the trisul remote protocol"
|
16
|
-
s.email = "vivek_rajagopal@yahoo.com"
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["vivek".freeze]
|
14
|
+
s.date = "2021-04-07"
|
15
|
+
s.description = "This gem deals about the trisul remote protocol".freeze
|
16
|
+
s.email = "vivek_rajagopal@yahoo.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE.txt",
|
19
19
|
"README.rdoc"
|
@@ -47,33 +47,33 @@ Gem::Specification.new do |s|
|
|
47
47
|
"test/test_trisulrp.rb",
|
48
48
|
"trisulrp.gemspec"
|
49
49
|
]
|
50
|
-
s.homepage = "http://github.com/vivekrajan/trisulrp"
|
51
|
-
s.licenses = ["MIT"]
|
52
|
-
s.rubygems_version = "
|
53
|
-
s.summary = "trisul trp"
|
50
|
+
s.homepage = "http://github.com/vivekrajan/trisulrp".freeze
|
51
|
+
s.licenses = ["MIT".freeze]
|
52
|
+
s.rubygems_version = "3.0.3".freeze
|
53
|
+
s.summary = "trisul trp".freeze
|
54
54
|
|
55
55
|
if s.respond_to? :specification_version then
|
56
56
|
s.specification_version = 4
|
57
57
|
|
58
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
59
|
-
s.add_runtime_dependency(%q<protobuf
|
60
|
-
s.add_development_dependency(%q<shoulda
|
61
|
-
s.add_development_dependency(%q<bundler
|
62
|
-
s.add_development_dependency(%q<juwelier
|
63
|
-
s.add_development_dependency(%q<simplecov
|
59
|
+
s.add_runtime_dependency(%q<protobuf>.freeze, [">= 0"])
|
60
|
+
s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
|
61
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
62
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
63
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
64
64
|
else
|
65
|
-
s.add_dependency(%q<protobuf
|
66
|
-
s.add_dependency(%q<shoulda
|
67
|
-
s.add_dependency(%q<bundler
|
68
|
-
s.add_dependency(%q<juwelier
|
69
|
-
s.add_dependency(%q<simplecov
|
65
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
66
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
67
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
68
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
69
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
70
70
|
end
|
71
71
|
else
|
72
|
-
s.add_dependency(%q<protobuf
|
73
|
-
s.add_dependency(%q<shoulda
|
74
|
-
s.add_dependency(%q<bundler
|
75
|
-
s.add_dependency(%q<juwelier
|
76
|
-
s.add_dependency(%q<simplecov
|
72
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
73
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
74
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
75
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
76
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trisulrp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vivek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: protobuf
|
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
|
-
|
138
|
-
rubygems_version: 2.5.1
|
137
|
+
rubygems_version: 3.0.3
|
139
138
|
signing_key:
|
140
139
|
specification_version: 4
|
141
140
|
summary: trisul trp
|