Class: Chef::Knife::HitoriFileDec
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::HitoriFileDec
- Includes:
- HitoriBase, KnifeHitori::CryptUtil
- Defined in:
- lib/chef/knife/hitori_file_dec.rb
Instance Method Summary collapse
Methods included from KnifeHitori::CryptUtil
Methods included from HitoriBase
Instance Method Details
#run ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/chef/knife/hitori_file_dec.rb', line 25 def run update_environment(config[:environment]) if config[:environment] exit 1 unless validate secret = Chef::EncryptedDataBagItem.load_secret(secret_file_path) data = File.read(config[:in_file]) File.write(config[:out_file], decrypt(JSON.parse(data), secret)) ui.info ui.color("Saved in #{config[:out_file]}", :green) end |
#secret_file_path ⇒ Object
35 36 37 |
# File 'lib/chef/knife/hitori_file_dec.rb', line 35 def secret_file_path config[:secret_file] || Chef::Config[:encrypted_data_bag_secret] end |
#validate ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/chef/knife/hitori_file_dec.rb', line 39 def validate unless config[:in_file] ui.error '-i IN_FILE must be specified' return false end unless ::File.exists?(config[:in_file]) ui.error "IN_FILE: #{config[:in_file]} not found" return false end unless config[:out_file] ui.error '-o OUT_FILE must be specified' return false end unless ::File.exists?(secret_file_path) ui.error 'No secret key file is found.' return false end return true end |