lib/poolparty/installers/ec2.rb in auser-poolparty-1.3.16 vs lib/poolparty/installers/ec2.rb in auser-poolparty-1.3.17
- old
+ new
@@ -1,12 +1,14 @@
module PoolParty
module Installers
class Ec2 < Installer
+ attr_reader :access_key, :secret_access_key, :ec2_directory
+
def steps
[
- :ask_for_ec2_directory, :ask_for_access_key, :ask_for_private_access_key,
+ :check_for_access_keys,
:show_env_setup
]
end
def self.name
@@ -14,20 +16,44 @@
end
def self.description
"Ec2 installer"
end
+
+ def check_for_access_keys
+ msg = "
+I've detected the following for your ec2 setup.
+<line>
+access key: #{CloudProviders::Ec2.default_access_key}
+secret access key: #{CloudProviders::Ec2.default_secret_access_key}
+certificate: #{CloudProviders::Ec2.default_cert}
+private key: #{CloudProviders::Ec2.default_private_key}
+
+<yellow>Are these values correct?</yellow>
+"
+ v = choose msg, %W(Yes No)
+ if v == "Yes"
+ puts "Using the values above"
+ @access_key = CloudProviders::Ec2.default_access_key
+ @secret_access_key = CloudProviders::Ec2.default_secret_access_key
+ @ec2_directory = File.dirname(CloudProviders::Ec2.default_cert)
+ else
+ [
+ :ask_for_ec2_directory, :ask_for_access_key, :ask_for_private_access_key
+ ].each {|meth| self.send meth}
+ end
+ end
def ask_for_access_key
access_key_help =<<-EOV
EC2 uses an access key to identify you and allows you to start and stop instances.
EOV
access_key = <<-EOE
What is your access key?
EOE
- ask_with_help :message => access_key, :help => access_key_help do |k|
+ ask_with_help :message => access_key, :no_value => true, :help => access_key_help do |k|
@access_key = k
end
end
def ask_for_private_access_key
@@ -60,14 +86,14 @@
colored_say <<-EOE
<line>
Setup your environment:
- export EC2_ACCESS_KEY=#{@access_key}
- export EC2_SECRET_KEY=#{@secret_access_key}
+ export EC2_ACCESS_KEY=#{access_key}
+ export EC2_SECRET_KEY=#{secret_access_key}
- export EC2_PRIVATE_KEY=$(ls #{@ec2_directory}/pk-*.pem)
- export EC2_CERT=$(ls #{@ec2_directory}/cert-*.pem)
+ export EC2_PRIVATE_KEY=$(ls #{ec2_directory}/pk-*.pem)
+ export EC2_CERT=$(ls #{ec2_directory}/cert-*.pem)
<line>
EOE
exit 0
end
\ No newline at end of file