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 85 86 |
# 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 |