Class: CfnVpn::Actions::Sessions
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- CfnVpn::Actions::Sessions
- Includes:
- Thor::Actions
- Defined in:
- lib/cfnvpn/actions/sessions.rb
Class Method Summary collapse
Instance Method Summary collapse
- #display_sessions ⇒ Object
- #kill_session ⇒ Object
- #set_directory ⇒ Object
- #set_loglevel ⇒ Object
- #setup ⇒ Object
Class Method Details
.source_root ⇒ Object
20 21 22 |
# File 'lib/cfnvpn/actions/sessions.rb', line 20 def self.source_root File.dirname(__FILE__) end |
Instance Method Details
#display_sessions ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/cfnvpn/actions/sessions.rb', line 52 def display_sessions sessions = @vpn.get_sessions() 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 |
#kill_session ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cfnvpn/actions/sessions.rb', line 36 def kill_session if !@options['kill'].nil? sessions = @vpn.get_sessions() 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(@options['kill']) end else CfnVpn::Log.logger.error "Connection id #{@options['kill']} doesn't exist or is not active" end end end |
#set_directory ⇒ Object
28 29 30 |
# File 'lib/cfnvpn/actions/sessions.rb', line 28 def set_directory @build_dir = "#{CfnVpn.cfnvpn_path}/#{@name}" end |