lib/poolparty/installers/ec2.rb in auser-poolparty-1.2.12 vs lib/poolparty/installers/ec2.rb in auser-poolparty-1.3.0
- old
+ new
@@ -1,141 +1,30 @@
module PoolParty
module Installers
- class Ec2 < BaseInstaller
+ class Ec2 < Installer
- def commands
+ def steps
[
- :get_access_key, :get_secret_access_key, :show_cert_message,
- # :get_ec2_api_tools,
- :get_keypair, :write_clouds_rb
+ :todo
]
end
- def get_access_key
- key_help_str = <<-EOE
-Now you need to get your keys from Amazon AWS.
-If you don't already have your keys setup, navigate to http://aws.amazon.com
-and click on Your Account. Click on the Access Identifiers tab and find:
-Your Access Key ID. This is your access key.
- EOE
- access_key_str = <<-EOE
-Since you'll be using ec2, we'll have to set some things up before
-we can get going on PoolParty. Don't worry, this information will stay between us.
-
- EOE
- say access_key_str
- ask_with_help :message => "First, what's your access key?",
- :help => key_help_str do |t|
- @access_key = t
- end
+ def self.name
+ "Ec2"
end
- def get_secret_access_key
- key_help_str = <<-EOE
-If you don't already have your keys setup, navigate to http://aws.amazon.com
-and click on Your Account. Click on the Access Identifiers tab and find:
-Your Secret Access Key ID. Click on the - show button.
-This is your secret access key.
- EOE
- ask_with_help :message => "Awesome. Now what's your secret access key? ",
- :help => key_help_str do |t|
- @secret_access_key = t
- end
+ def self.description
+ "Ec2 installer"
end
- def show_cert_message
- rescued_ask_str = <<-EOS
-Super duper! You'll need to make sure you have yout X.509 certificate downloaded too.
-Save this in your ~/.ec2 directory.
-
-Press enter when you're ready
-EOS
-
- cert_help_str = <<-EOE
-To get your X.509 certificates, navigate to http://aws.amazon.com and login. Click on
-Your Account and scroll down. The X.509 Certificate box is at the bottom. Make sure you
-click download and save the cert-*.pem file. If you don't know or don't have the pk-*.pem file
-you may have to recreate it. Not to worry though, it's super easy. Click on the Create New button.
-From there, you can download the cert-*.pem and the pk-*.pem files.
-
+ def todo
+ colored_say <<-EOE
+ <line>
+ <red>Not implemented yet</red>
+ <line>
EOE
-
- ask_with_help :message => rescued_ask_str,
- :help => cert_help_str do |t|
- @cert = true
- end
+ exit 0
end
- def get_ec2_api_tools
- url = "http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&categoryID=88"
- download_url = "http://www.amazon.com/gp/redirect.html/ref=aws_rc_ec2tools?location=http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip&token=A80325AA4DAB186C80828ED5138633E3F49160D9"
- require 'open-uri'
- ::File.open("ec2-commandline-tools.zip", "w") {|f| f << open(download_url).read }
- end
-
- def get_keypair
- begin
- ec2 = PoolParty::Remote::Ec2.ec2({:access_key => @access_key, :secret_access_key => @secret_access_key})
- keypairs = ec2.describe_keypairs["keySet"]["item"]
- keynames = keypairs.map {|k| k["keyName"]}
- rescue Exception => e
- colored_say "There was an error: #{e}. Recheck your access_key and secret_access_key to make sure you copied them correctly"
- exit 1
- end
-
- key_str =<<-EOK
-
-Finally, what's the name of the keypair you'd like to use?
-
-You already have the following keypairs setup:
-\t#{keynames.join("\n\t")}
-
-You can use one of these keys, or create a new one.
-EOK
-
- key_str_help =<<-EOH
- To make a new keypair, make sure you have the ec2 tools installed. You can create a new one by typing the command:
- ec2-add-keypair
-
- Save this into a file in your ~/.ec2 directory. Enter the name of the keypair here.
-EOH
- ask_with_help :message => key_str,
- :help => key_str_help do |t|
- @keypair = t
- say <<-EOE
-
-In your clouds.rb, you can use this keypair in your clouds.
-
-Create one for each cloud you want to use.
-
- EOE
- end
- end
-
- def write_clouds_rb
- clds =<<-EOC
-pool :my_pool do
- cloud :my_app do
-
- # Copy these lines and source them in your .profile or .bashrc file
- # export AWS_ACCESS_KEY="#{@access_key}"
- # export AWS_SECRET_ACCESS_KEY="#{@secret_access_key}"
- # export EC2_PRIVATE_KEY=$(ls ~/.ec2/pk-*.pem)
- # export EC2_CERT=$(ls ~/.ec2/cert-*.pem)
-
- access_key "#{@access_key}"
- secret_access_key "#{@secret_access_key}"
- keypair "#{@keypair}"
-
- has_file "/etc/motd" do
- content "Welcome to your first PoolParty instance!"
- end
- end
-end
- EOC
-
- ::File.open("clouds.rb", "w") {|f| f << clds}
- end
-
end
end
end
\ No newline at end of file