Sha256: 659ecb748edd4155c29b20060be7d92df24f01da560a6f09fb0ec11ba4baa42b
Contents?: true
Size: 931 Bytes
Versions: 2
Compression:
Stored size: 931 Bytes
Contents
require 'ostruct' class Etcd class Maintenance # Sadly these are the only alarm types supported by the api right now. ALARM_TYPES = { NONE: 0, NOSPACE: 1 } ALARM_ACTIONS = { get: 0, activate: 1, # Should only be used in testing. Not a stable feature... deactivate: 2 } def initialize(hostname, port, credentials, metadata = {}) @stub = Etcdserverpb::Maintenance::Stub.new("#{hostname}:#{port}", credentials) @metadata = metadata end def member_status @stub.status(Etcdserverpb::StatusRequest.new, metadata: @metadata) end def alarms(action, member_id, alarm=:NONE) alarm = ALARM_TYPES[alarm] request = Etcdserverpb::AlarmRequest.new( action: ALARM_ACTIONS[action], memberID: member_id, alarm: action == :deactivate ? ALARM_TYPES[:NOSPACE] : alarm ) @stub.alarm(request) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
etcdv3-0.1.3 | lib/etcdv3/maintenance.rb |
etcdv3-0.1.2 | lib/etcdv3/maintenance.rb |