Class: PoolParty::Installers::Ec2

Inherits:
PoolParty::Installer show all
Defined in:
lib/poolparty/installers/ec2.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PoolParty::Installer

all, #closing_message, #exit_msg, find_by_name, inherited, #run, to_s, #welcome_message

Methods included from Askable

included

Methods included from Pinger

included

Class Method Details

.descriptionObject



16
17
18
# File 'lib/poolparty/installers/ec2.rb', line 16

def self.description
  "Ec2 installer"
end

.nameObject



12
13
14
# File 'lib/poolparty/installers/ec2.rb', line 12

def self.name
  "Ec2"
end

Instance Method Details

#ask_for_access_keyObject



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/poolparty/installers/ec2.rb', line 20

def ask_for_access_key
  access_key_help ="EC2 uses an access key to identify you and allows you to start and stop instances.\n  EOV\n\n  access_key = <<-EOE\nWhat is your access key?\n  EOE\n  ask_with_help :message => access_key, :help => access_key_help do |k|\n    @access_key = k\n  end\nend\n"

#ask_for_ec2_directoryObject



47
48
49
50
51
52
53
54
55
56
# File 'lib/poolparty/installers/ec2.rb', line 47

def ask_for_ec2_directory
  ec2_directory_help ="Ec2 needs to know where you store your certificates and private keys. Amazon expects these to be in the ~/.ec2 directory. We suggest a subdirectory of the ~/.ec2 directory so you can separate ec2 accounts. \n  EOV\n\n  ec2_directory_msg = <<-EOE\nWhat's path to your ec2 directory with your cert and pk files?\n  EOE\n  ask_with_help :message => ec2_directory_msg, :help => ec2_directory_help\nend\n"

#ask_for_private_access_keyObject



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/poolparty/installers/ec2.rb', line 33

def ask_for_private_access_key
  private_access_key_help ="EC2 uses a private access key to identify you and allows you to start and stop instances.\n  EOV\n\n  private_access_key = <<-EOE\nWhat is your private access key?\n  EOE\n  ask_with_help :message => private_access_key, :help => private_access_key_help do |k|\n    @secret_access_key = k\n  end\nend\n"

#show_env_setupObject



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/poolparty/installers/ec2.rb', line 59

def show_env_setup
  colored_say "<line>\n  \n  Setup your environment:\n  \n  export EC2_ACCESS_KEY=\#{@access_key}\n  export EC2_SECRET_KEY=\#{@secret_access_key}\n\n  export EC2_PRIVATE_KEY=$(ls \#{@ec2_directory}/pk-*.pem)\n  export EC2_CERT=$(ls \#{@ec2_directory}/cert-*.pem)\n  \n<line>\n  EOE\n  exit 0\nend\n"

#stepsObject



5
6
7
8
9
10
# File 'lib/poolparty/installers/ec2.rb', line 5

def steps
  [
    :ask_for_ec2_directory, :ask_for_access_key, :ask_for_private_access_key,
    :show_env_setup
  ]
end