module Azure::Core::Utility
Public Instance Methods
enable_winrm?(winrm_transport)
click to toggle source
# 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)
click to toggle source
# 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.message abort end
export_fingerprint(certificate)
click to toggle source
# File lib/azure/core/utility.rb, line 75 def export_fingerprint(certificate) Digest::SHA1.hexdigest(certificate.to_der) end
get_certificate(private_key_file)
click to toggle source
# 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)
click to toggle source
# File lib/azure/core/utility.rb, line 97 def initialize_external_logger(logger) Loggerx.initialize_external_logger(logger) end
locate_file(name)
click to toggle source
# 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)
click to toggle source
# 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 = '')
click to toggle source
# 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