Class: Knifecosmic::CosmicServerPasswordreset

Inherits:
Chef::Knife
  • Object
show all
Includes:
Chef::Knife::KnifecosmicBase
Defined in:
lib/chef/knife/cosmic_server_passwordreset.rb

Instance Method Summary collapse

Methods included from Chef::Knife::KnifecosmicBase

included

Instance Method Details

#confirm_action(question) ⇒ Object



80
81
82
83
84
85
86
87
88
# File 'lib/chef/knife/cosmic_server_passwordreset.rb', line 80

def confirm_action(question)
  return true if locate_config_value(:yes)
  result = ui.ask_question(question, :default => "Y" )
  if result == "Y" || result == "y" then
    return true
  else
    return false
  end
end

#runObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/chef/knife/cosmic_server_passwordreset.rb', line 35

def run
  validate_base_options

  @name_args.each do |hostname|
    server = connection.get_server(hostname)

    if !server then
      ui.error("Server '#{hostname}' not found")
      next
    end

    rules = connection.list_port_forwarding_rules
   
    show_object_details(server, connection, rules) 

    server = connection.server_passwordreset(hostname)
    password = server['password']
    ui.msg("Password: #{password}")
  end
end

#show_object_details(s, connection, rules) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/chef/knife/cosmic_server_passwordreset.rb', line 56

def show_object_details(s, connection, rules)
  return if locate_config_value(:yes)
  
  object_fields = []
  object_fields << ui.color("Name:", :cyan)
  object_fields << s['name'].to_s
  object_fields << ui.color("Public IP:", :cyan)
  object_fields << (connection.get_server_public_ip(s, rules) || '')
  object_fields << ui.color("Service:", :cyan)
  object_fields << s['serviceofferingname'].to_s
  object_fields << ui.color("Template:", :cyan)
  object_fields << s['templatename']
  object_fields << ui.color("Domain:", :cyan)
  object_fields << s['domain']
  object_fields << ui.color("Zone:", :cyan)
  object_fields << s['zonename']
  object_fields << ui.color("State:", :cyan)
  object_fields << s['state']

  puts "\n"
  puts ui.list(object_fields, :uneven_columns_across, 2)
  puts "\n"
end