Sha256: 07231508c44093f85454f87a4d6f79c18f34b2b6a969f93b50baadecbe23860e
Contents?: true
Size: 914 Bytes
Versions: 3
Compression:
Stored size: 914 Bytes
Contents
require 'ostruct' class Etcdv3 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, credentials, metadata = {}) @stub = Etcdserverpb::Maintenance::Stub.new(hostname, 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
etcdv3-0.3.2 | lib/etcdv3/maintenance.rb |
etcdv3-0.3.1 | lib/etcdv3/maintenance.rb |
etcdv3-0.3.0 | lib/etcdv3/maintenance.rb |