class CfnVpn::Actions::Sessions
Public Class Methods
source_root()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 20 def self.source_root File.dirname(__FILE__) end
Public Instance Methods
display_sessions()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 53 def display_sessions sessions = @vpn.get_sessions(@endpoint_id) rows = sessions.collect do |s| [ s.common_name, s.connection_established_time, s.status.code, s.client_ip, s.connection_id, s.ingress_bytes, s.egress_bytes ] end table = Terminal::Table.new( :headings => ['Common Name', 'Connected (UTC)', 'Status', 'IP Address', 'Connection ID', 'Ingress Bytes', 'Egress Bytes'], :rows => rows) puts table end
get_endpoint()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 32 def get_endpoint @vpn = CfnVpn::ClientVpn.new(@name,@options['region']) @endpoint_id = @vpn.get_endpoint_id() end
kill_session()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 37 def kill_session if !@options['kill'].nil? sessions = @vpn.get_sessions(@endpoint_id) session = sessions.select { |s| s if s.connection_id == @options['kill'] }.first if session.any? && session.status.code == "active" terminate = yes? "Terminate connection #{@options['kill']} for #{session.common_name}?", :yellow if terminate CfnVpn::Log.logger.info "Terminating connection #{@options['kill']} for #{session.common_name}" @vpn.kill_session(@endpoint_id,@options['kill']) end else CfnVpn::Log.logger.error "Connection id #{@options['kill']} doesn't exist or is not active" end end end
set_directory()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 28 def set_directory @build_dir = "#{CfnVpn.cfnvpn_path}/#{@name}" end
set_loglevel()
click to toggle source
# File lib/cfnvpn/actions/sessions.rb, line 24 def set_loglevel CfnVpn::Log.logger.level = Logger::DEBUG if @options['verbose'] end