class Diplomat::Session
Methods for interacting with the Consul session API endpoint
Public Instance Methods
Source
# File lib/diplomat/session.rb, line 12 def create(value = nil, options = {}) # TODO: only certain keys are recognised in a session create request, # should raise an error on others. custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] data = value.is_a?(String) ? value : JSON.generate(value) unless value.nil? raw = send_put_request(@conn, ['/v1/session/create'], options, data, custom_params) body = JSON.parse(raw.body) body['ID'] end
Create a new session @param value [Object] hash or json representation of the session arguments @param options [Hash] session options @return [String] The sesssion id
Source
# File lib/diplomat/session.rb, line 27 def destroy(id, options = {}) custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] raw = send_put_request(@conn, ["/v1/session/destroy/#{id}"], options, nil, custom_params) raw.body end
Destroy a session @param id [String] session id @param options [Hash] session options @return [String] Success or failure of the session destruction
Source
# File lib/diplomat/session.rb, line 59 def info(id, options = {}) custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] raw = send_get_request(@conn, ["/v1/session/info/#{id}"], options, custom_params) JSON.parse(raw.body).map { |session| OpenStruct.new session } end
Session
information @param id [String] session id @param options [Hash] session options @return [OpenStruct]
Source
# File lib/diplomat/session.rb, line 37 def list(options = {}) custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] raw = send_get_request(@conn, ['/v1/session/list'], options, custom_params) JSON.parse(raw.body).map { |session| OpenStruct.new session } end
List sessions @param options [Hash] session options @return [OpenStruct]
Source
# File lib/diplomat/session.rb, line 70 def node(name, options = {}) custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] raw = send_get_request(@conn, ["/v1/session/node/#{name}"], options, custom_params) JSON.parse(raw.body).map { |session| OpenStruct.new session } end
Session
information for a given node @param name [String] node name @param options [Hash] session options @return [OpenStruct]
Source
# File lib/diplomat/session.rb, line 48 def renew(id, options = {}) custom_params = [] custom_params << use_named_parameter('dc', options[:dc]) if options[:dc] raw = send_put_request(@conn, ["/v1/session/renew/#{id}"], options, nil, custom_params) JSON.parse(raw.body).map { |session| OpenStruct.new session } end
Renew session @param id [String] session id @param options [Hash] session options @return [OpenStruct]