Module: Azure::Core::Utility
- Defined in:
- lib/azure/core/utility.rb
Instance Method Summary collapse
- #enable_winrm?(winrm_transport) ⇒ Boolean
- #export_der(cert, key, pass = nil, name = nil) ⇒ Object
- #export_fingerprint(certificate) ⇒ Object
- #get_certificate(private_key_file) ⇒ Object
- #initialize_external_logger(logger) ⇒ Object
- #locate_file(name) ⇒ Object
- #random_string(str = 'azure', no_of_char = 5) ⇒ Object
- #xml_content(xml, key, default = '') ⇒ Object
Instance Method Details
#enable_winrm?(winrm_transport) ⇒ Boolean
79 80 81 |
# File 'lib/azure/core/utility.rb', line 79 def enable_winrm?(winrm_transport) (!winrm_transport.nil? && (winrm_transport.select { |x| x.downcase == 'http' || x.downcase == 'https' }.size > 0)) end |
#export_der(cert, key, pass = nil, name = nil) ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/azure/core/utility.rb', line 67 def export_der(cert, key, pass = nil, name = nil) pkcs12 = OpenSSL::PKCS12.create(pass, name, key, cert) Base64.encode64(pkcs12.to_der) rescue Exception => e puts e. abort end |
#export_fingerprint(certificate) ⇒ Object
75 76 77 |
# File 'lib/azure/core/utility.rb', line 75 def export_fingerprint(certificate) Digest::SHA1.hexdigest(certificate.to_der) end |
#get_certificate(private_key_file) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/azure/core/utility.rb', line 83 def get_certificate(private_key_file) rsa = OpenSSL::PKey.read File.read(private_key_file) cert = OpenSSL::X509::Certificate.new cert.version = 2 cert.serial = 0 name = OpenSSL::X509::Name.new([['CN', 'Azure Management Certificate']]) cert.subject = cert.issuer = name cert.not_before = Time.now cert.not_after = cert.not_before + (60*60*24*365) cert.public_key = rsa.public_key cert.sign(rsa, OpenSSL::Digest::SHA1.new) cert end |
#initialize_external_logger(logger) ⇒ Object
97 98 99 |
# File 'lib/azure/core/utility.rb', line 97 def initialize_external_logger(logger) Loggerx.initialize_external_logger(logger) end |
#locate_file(name) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/azure/core/utility.rb', line 57 def locate_file(name) if File.exist? name name elsif File.exist?(File.join(ENV['HOME'], name)) File.join(ENV['HOME'], name) else Azure::Loggerx.error_with_exit "Unable to find #{name} file " end end |
#random_string(str = 'azure', no_of_char = 5) ⇒ Object
46 47 48 |
# File 'lib/azure/core/utility.rb', line 46 def random_string(str = 'azure', no_of_char = 5) str + (0...no_of_char).map { ('a'..'z').to_a[rand(26)] }.join end |
#xml_content(xml, key, default = '') ⇒ Object
50 51 52 53 54 55 |
# File 'lib/azure/core/utility.rb', line 50 def xml_content(xml, key, default = '') content = default node = xml.at_css(key) content = node.text if node content end |