pele 0.1.10.pre.pre → 0.1.11.pre.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 153574500b4c7dc421458c90723139cbaedf5ffb
4
- data.tar.gz: 939ebaf1e95cc654e11bcd4c79b4d65d80c3c2c7
3
+ metadata.gz: e77d79e2a8a6ee2c6b6c83fd07b4f6765954b2e9
4
+ data.tar.gz: 23575a1086d015a20215aa43538c7e88e35aa16f
5
5
  SHA512:
6
- metadata.gz: cd385db9e4f60f6b71b1a020e90c35f929f9c57562cd265a94d2d92f292711102d38aba338e13f614f5558ca2c49d472e2993183c83d1b9cc0580785be9fe70b
7
- data.tar.gz: 1a2a7b606ffb03b46395eabd1d3ff0354df4cc799dd149e22ca634bc6a2fb5007ccbd3b823ca4cb42df3b46b1b034641079816a534605a68bd0c4a272dd14da0
6
+ metadata.gz: be570a0d7866b6ee888eaad6d75ceda4f21107513237c99d2b9a3e9699f7eba7a558c02c24e2255cfcd9a4dbacd1f348f3cc832bb91fb1d4a3f9aeede26c094c
7
+ data.tar.gz: 530329f6da2faf59d739ea03108f2628dc30c1d5ff8210701e99ec1d08231f5985c1c47604de06b3c638cb3f48c80a12f89de83e471e2c7953fa3c1888e199f2
data/bin/console CHANGED
@@ -7,8 +7,8 @@ require "pele"
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require "pry"
11
+ Pry.start
12
12
 
13
- require "irb"
14
- IRB.start(__FILE__)
13
+ # require "irb"
14
+ # IRB.start(__FILE__)
data/lib/pele.rb CHANGED
@@ -5,7 +5,6 @@ require 'tty-prompt'
5
5
  require 'pele/aws_regions'
6
6
  require 'colorize'
7
7
  require 'aws-sdk'
8
- require 'pele/utils'
9
8
  require 'pele/cli'
10
9
 
11
10
  module Pele
data/lib/pele/cli.rb CHANGED
@@ -1,14 +1,32 @@
1
+ require 'fileutils'
1
2
  module Pele
2
3
  class Cli < Thor
3
4
  include Thor::Actions
4
5
 
5
6
  desc 'pele init', 'Initializes the AWS credentials on your Machine'
6
-
7
7
  def init
8
- os = Pele::Utils.get_os_path
8
+ os = if OS.windows?
9
+ '%HOMEPATH%\.aws\credentials'
10
+ elsif OS.mac? || OS.linux?
11
+ '~/.aws/credentials'
12
+ end
13
+ if os.nil?
14
+ puts ''
15
+ say("Looks like we could not identify your OS.\n\nPlease setup your ENV values as follows:\n\nAWS_ACCESS_KEY_ID=[YOUR ACCES KEY ID]\nAWS_SECRET_ACCESS_KEY=[YOUR SECRET KEY ID]", :red)
16
+ abort
17
+ end
9
18
  prompt = TTY::Prompt.new active_color: :green
10
- Pele::Utils.check_existing_file(os, prompt)
11
- Pele::Utils.post_identification
19
+ if File.exist? File.expand_path os
20
+ overwrite = prompt.select("This is going to overwrite your existing #{'~/.aws/credentials'.colorize(:green)}. ok?", %w[OK EXIT])
21
+ abort unless overwrite == 'OK'
22
+ end
23
+ puts "\e[H\e[2J"
24
+ say('Your OS identified: ', :yellow)
25
+ puts ''
26
+ puts OS.report
27
+ puts ''
28
+ say('Provide your aws credentials below', :yellow)
29
+ puts ''
12
30
  aws_access_key_id = prompt.ask('AWS Access Key ID: '.colorize(:blue), required: true)
13
31
  aws_secret_access_key = prompt.ask('AWS Secret Access Key: '.colorize(:blue), required: true)
14
32
  aws_region = prompt.select('Choose a AWS region: '.colorize(:blue), Pele::Regions::ALL)
@@ -19,18 +37,26 @@ module Pele
19
37
  create_file os do
20
38
  "[default]\naws_access_key_id = #{aws_access_key_id}\naws_secret_access_key = #{aws_secret_access_key}\nregion = #{aws_region}"
21
39
  end
22
- say('Now lets generate AWS key-pair. This is needed to access EC2 Instances', :green)
23
40
  puts ''
41
+ say('Now lets generate AWS key-pair. This is needed to access EC2 Instances', :green)
24
42
  if File.exist? File.expand_path "#{os}key"
43
+ puts ''
25
44
  overwrite = prompt.select('Looks like you already have a key generated. Would you like to generate new one?', %w[Yes No])
26
45
  abort if overwrite == 'Yes'
27
46
  end
28
47
  puts ''
29
48
  key_pair_name = prompt.ask('Name your key-pair. For example: mykeypair.colorize(:green)')
30
49
  begin
31
- Pele::Utils.create_key_pair(os, key_pair_name)
32
- rescue
50
+ ec2 = Aws::EC2::Client.new
51
+ key_pair = ec2.create_key_pair(key_name: "#{key_pair_name}-pele")
52
+ create_file "~/.ssh/#{key_pair.key_name}.pem" do
53
+ key_pair.key_material
54
+ end
55
+ say('Key-pair successfully generated', :green)
56
+ rescue => e
33
57
  say('Something went wrong while trying to create key-pair. Please try again', :red)
58
+ puts ''
59
+ puts "Error: #{e}"
34
60
  end
35
61
  end
36
62
  end
data/lib/pele/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pele
2
- VERSION = '0.1.10-pre'.freeze
2
+ VERSION = '0.1.11-pre'.freeze
3
3
  end
data/pele.gemspec CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  spec.add_development_dependency "bundler", "~> 1.15"
33
33
  spec.add_development_dependency "rake", "~> 10.0"
34
+ spec.add_development_dependency "pry"
34
35
  spec.add_dependency 'aws-sdk', '~> 2'
35
36
  spec.add_dependency 'thor'
36
37
  spec.add_dependency 'os'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pele
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10.pre.pre
4
+ version: 0.1.11.pre.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Suyesh Bhandari
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: aws-sdk
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +140,6 @@ files:
126
140
  - lib/pele.rb
127
141
  - lib/pele/aws_regions.rb
128
142
  - lib/pele/cli.rb
129
- - lib/pele/utils.rb
130
143
  - lib/pele/version.rb
131
144
  - pele.gemspec
132
145
  homepage: https://github.com/suyesh/pele
data/lib/pele/utils.rb DELETED
@@ -1,47 +0,0 @@
1
- require 'thor'
2
- require 'os'
3
- require 'tty-prompt'
4
- module Pele
5
- module Utils
6
- def self.get_os_path
7
- if OS.windows?
8
- '%USERPROFILE%.awscredentials'
9
- elsif OS.mac? || OS.linux?
10
- '~/.aws/credentials'
11
- else
12
- puts ''
13
- say("Looks like we could not identify your OS.\n\nPlease setup your ENV values as follows:\n\nAWS_ACCESS_KEY_ID=[YOUR ACCES KEY ID]\nAWS_SECRET_ACCESS_KEY=[YOUR SECRET KEY ID]", :red)
14
- abort
15
- end
16
- end
17
-
18
- def self.check_existing_file(os, prompt)
19
- if File.exist? File.expand_path os
20
- overwrite = prompt.select("This is going to overwrite your existing #{'~/.aws/credentials'.colorize(:green)}. ok?", %w[OK EXIT])
21
- abort unless overwrite == 'OK'
22
- end
23
- end
24
-
25
- def self.post_identification
26
- puts "\e[H\e[2J"
27
- say('Your OS identified: ', :yellow)
28
- puts ''
29
- puts OS.report
30
- puts ''
31
- say('Provide your aws credentials below', :yellow)
32
- puts ''
33
- end
34
-
35
- def self.create_key_pair(os, key_pair_name)
36
- current_dirname = File.basename(Dir.getwd)
37
- ec2 = Aws::EC2::Client.new
38
- Dir.chdir File.dirname(os)
39
- ec2.create_key_pair(key_name: key_pair_name)
40
- Dir.chdir current_dirname
41
- create_file "#{File.dirname(os)}key" do
42
- key_pair_name.to_s
43
- end
44
- say('Key-pair successfully generated', :green)
45
- end
46
- end
47
- end