Class: KeypairManager
- Inherits:
-
Object
- Object
- KeypairManager
- Defined in:
- lib/danarchy_sys/cli/keypair_manager.rb
Class Method Summary collapse
Class Method Details
.chooser(os_compute) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/danarchy_sys/cli/keypair_manager.rb', line 65 def self.chooser(os_compute) comp_kp = os_compute.keypairs keypairs = comp_kp.list_keypairs keypair_numhash = Helpers.array_to_numhash(keypairs) keypair_name = 'nil' keypair = 'nil' # Create a new keypairs if none exist if keypair_numhash.empty? print 'No existing keypairs were found. Should we create a new one? (Y/N): ' abort('Exiting!') unless gets.chomp =~ /^y(es)?$/i keypair = PromptsCreateKeypair.create_keypair(os_compute, 'nil') puts "Working with: #{keypair.name}\tStatus: #{keypair.state}" return keypair end puts 'Available keypairs:' fields = PrintFormats.printf_hash(keypair_numhash) keypair_numhash.each do |k, v| printf("#{fields}\n", "#{k}.", v) end # Loop input until an existing keypair is selected print 'Enter an keypair to manage or enter a name for a new keypair: ' until keypairs.include?(keypair_name) keypair_name = gets.chomp until keypair_name.empty? == false print 'Input was blank! Enter an keypair or Id from above: ' keypair_name = gets.chomp end abort('Exiting') if keypair_name == 'exit' return 'main' if keypair_name == 'main' return 'keypair' if keypair_name == 'help' # Accept keypair Id as an entry if keypair_name =~ /^[0-9]*$/ until keypair_numhash.keys.include?(keypair_name.to_i) print "#{keypair_name} is not a valid Id. Enter an Id from above: " keypair_name = gets.chomp end keypair_name = keypair_numhash[keypair_name.to_i] end if comp_kp.check_keypair(keypair_name) == false print "#{keypair_name} is not a valid keypair. Should we create a new keypair named #{keypair_name}? (Y/N): " if gets.chomp =~ /^y(es)?$/i keypair = comp_kp.create_keypair(keypair_name) KeypairStatus.single_keypair(keypair) else puts "Not creating new keypair: #{keypair_name}." return false end end keypairs = comp_kp.list_keypairs end keypair = comp_kp.get_keypair(keypair_name) Menus.('keypair') puts "Managing keypair: #{keypair_name}" keypair end |
.manager(os_compute) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/danarchy_sys/cli/keypair_manager.rb', line 5 def self.manager(os_compute) comp_kp = os_compute.keypairs puts 'Keypair Manager: enter \'help\' to view available commands or \'main\' for the main menu.' = Menus.('keypair') keypair = false loop do while keypair == false keypair = chooser(os_compute) return Menus.('main') if keypair == 'main' if keypair == 'keypair' Menus.('keypair') keypair = false end end print "#{keypair.name} ~: " if keypair cmd = gets.chomp next if cmd.empty? abort('Exiting!') if cmd == 'exit' if cmd =~ /^[0-9]*$/ [cmd.to_i].map { |k, v| cmd = k } if .keys.include? cmd.to_i end if cmd == 'help' Menus.('keypair') elsif cmd == 'main' return Menus.('main') elsif cmd == 'info' KeypairStatus.single_keypair(keypair) elsif cmd == 'chooser' keypair = chooser(os_compute) elsif cmd == 'create' print 'Enter a new keypair name: ' keypair_name = gets.chomp keypair = comp_kp.create_keypair(keypair_name) puts "Keypair: #{keypair_name} created!" Menus.('keypair') puts "Managing keypair: #{keypair_name}" elsif cmd == 'delete' print "Are you sure you wish to delete keypair: #{keypair.name}? (this is permanent!) (Y/N): " delete = comp_kp.delete_keypair(keypair.name) if gets.chomp =~ /^y(es)?$/i if delete == true puts "#{keypair.name} has been deleted! Returning to the keypair chooser." keypair = chooser(os_compute) else puts "#{keypair.name} was not deleted!" end else Menus.('keypair') puts "\nCommand \'#{cmd}\' not available. Enter a command from above." end return Menus.('main') if keypair == 'main' end end |