module AWSUDO
Copyright © 2015-2017 Electronic Arts Inc. All rights reserved.
Attributes
logger[RW]
Public Class Methods
ask_for_credentials()
click to toggle source
# File lib/awsudo.rb, line 32 def self.ask_for_credentials fd = IO.sysopen("/dev/tty", "w") console = IO.new(fd,"w") console.print "Login: " username = STDIN.gets.chomp console.print "Password: " password = STDIN.noecho(&:gets).chomp console.print "\n" [username, password] end
assume_role_with_agent(role_arn, socket_name)
click to toggle source
# File lib/awsudo.rb, line 17 def self.assume_role_with_agent(role_arn, socket_name) logger.debug {"role_arn: <#{role_arn}>"} logger.debug {"socket_name: <#{socket_name}>"} keys = UNIXSocket.open(socket_name) do |client| client.puts role_arn response = client.gets logger.debug {"response: <#{response}>"} raise "Connection closed by peer" if response.nil? JSON.parse(response.strip) end raise keys['error'] unless keys['error'].nil? keys end
load_config(filename)
click to toggle source
# File lib/awsudo.rb, line 43 def self.load_config(filename) config = Hash[*File.read(filename).scan(/^\s*(\w+)\s*=\s*(.*)\s*$/).flatten] logger.debug { "config: <#{config.inspect}>" } config end