Class: AuditViaSsh::LaunchAuditViaSsh

Inherits:
AuditViaSshState show all
Defined in:
lib/scripts/ec2/audit_via_ssh.rb

Overview

Launch the audit via SSH

Instance Attribute Summary

Attributes inherited from ScriptExecutionState

#context, #logger

Instance Method Summary collapse

Methods inherited from AuditViaSshState

load_state

Methods inherited from ScriptExecutionState

#done?, #end_state, #failed?, #initialize, #register_state_change_listener, #start_state_machine, #to_s

Methods included from StateTransitionHelper

#attach_volume, #connect, #copy_distribution, #create_fs, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_snapshot, #delete_volume, #detach_volume, #determine_file, #disconnect, #ec2_handler, #ec2_handler=, #launch_instance, #mount_fs, #register_snapshot, #remote_copy, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #shut_down_instance, #start_instance, #unmount_fs, #upload_file, #zip_volume

Constructor Details

This class inherits a constructor from ScriptExecutionState

Instance Method Details

#enterObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/scripts/ec2/audit_via_ssh.rb', line 98

def enter
  audit = Audit.new(:benchmark => @context[:benchmark_file], :attachment_dir => @context[:tmp_dir],
                    :connection_type => :ssh, 
                    :connection_params => {:user => @context[:ssh_user],
                                           :keys => @context[:ssh_key_file],
                                           :host => @context[:public_dns_name],
                                           :paranoid => false},
                                           :logger => nil)
  audit.start(false)
  @context[:result][:audit_test] = []
  audit.results.each() {|key, value|
    if key =~ /^SSH_.*$/ || key =~ /^APACHE2_.*$/
      #puts "DEBUG: Key: #{key}, Result: #{value.result}, Desc: #{value.rule.description}"
      @context[:result][:audit_test] << {:name => key, :desc => value.rule.description, :status => value.result}
      post_message("== > Test #{key}: Status: #{value.result.eql?("pass") ? "OK" : "NOK"}\n  Desc: #{value.rule.description}")
    end
  }
  CleanUpAuditViaSsh.new(@context)
end