Class: Chef::Knife::KeyList
- Inherits:
-
Object
- Object
- Chef::Knife::KeyList
- Defined in:
- lib/chef/knife/key_list.rb
Overview
Service class for UserKeyList and ClientKeyList, used to list keys. Implements common functionality of knife [user | org client] key list.
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Instance Method Summary collapse
- #colorize(string) ⇒ Object
- #display_info(string) ⇒ Object
- #expired_and_non_expired_msg ⇒ Object
-
#initialize(actor, list_method, ui, config) ⇒ KeyList
constructor
A new instance of KeyList.
- #run ⇒ Object
Constructor Details
#initialize(actor, list_method, ui, config) ⇒ KeyList
Returns a new instance of KeyList.
35 36 37 38 39 40 |
# File 'lib/chef/knife/key_list.rb', line 35 def initialize(actor, list_method, ui, config) @actor = actor @list_method = list_method @ui = ui @config = config end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
33 34 35 |
# File 'lib/chef/knife/key_list.rb', line 33 def config @config end |
Instance Method Details
#colorize(string) ⇒ Object
53 54 55 |
# File 'lib/chef/knife/key_list.rb', line 53 def colorize(string) @ui.color(string, :cyan) end |
#display_info(string) ⇒ Object
49 50 51 |
# File 'lib/chef/knife/key_list.rb', line 49 def display_info(string) @ui.output(string) end |
#expired_and_non_expired_msg ⇒ Object
42 43 44 45 46 47 |
# File 'lib/chef/knife/key_list.rb', line 42 def expired_and_non_expired_msg <<EOS You cannot pass both --only-expired and --only-non-expired. Please pass one or none. EOS end |
#run ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/chef/knife/key_list.rb', line 57 def run if @config[:only_expired] && @config[:only_non_expired] raise Chef::Exceptions::KeyCommandInputError, expired_and_non_expired_msg end # call proper list function keys = Chef::Key.send(@list_method, @actor) if @config[:with_details] max_length = 0 keys.each do |key| key["name"] = key["name"] + ":" max_length = key["name"].length if key["name"].length > max_length end keys.each do |key| next if !key["expired"] && @config[:only_expired] next if key["expired"] && @config[:only_non_expired] display = "#{colorize(key['name'].ljust(max_length))} #{key['uri']}" display = "#{display} (expired)" if key["expired"] display_info(display) end else keys.each do |key| next if !key["expired"] && @config[:only_expired] next if key["expired"] && @config[:only_non_expired] display_info(key["name"]) end end end |