Class: Awsam::Key
- Inherits:
-
Object
- Object
- Awsam::Key
- Defined in:
- lib/awsam/key.rb
Constant Summary collapse
- KEYFILE =
"key.pem"
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(keydir) ⇒ Key
constructor
A new instance of Key.
- #path ⇒ Object
- #print_environ ⇒ Object
- #remove ⇒ Object
Constructor Details
#initialize(keydir) ⇒ Key
Returns a new instance of Key.
9 10 11 12 13 14 15 16 |
# File 'lib/awsam/key.rb', line 9 def initialize(keydir) @name = File.basename(keydir) @dir = keydir if @name == Awsam::DEFAULT_LINK_NAME # This is required for the default link raise "Can not name a key: #{Awsam::DEFAULT_LINK_NAME}" end end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
7 8 9 |
# File 'lib/awsam/key.rb', line 7 def name @name end |
Class Method Details
.import(acctdir, key_name, key_file) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/awsam/key.rb', line 22 def self.import(acctdir, key_name, key_file) dir = File.join(Key::keys_dir(acctdir), key_name) FileUtils.mkdir(dir) unless File.exist?(dir) File.open(File.join(dir, KEYFILE), "w", 0400) do |f| f << File.read(key_file) end Key.new(dir) end |
.keys_dir(base) ⇒ Object
33 34 35 36 37 |
# File 'lib/awsam/key.rb', line 33 def self.keys_dir(base) dir = File.join(base, "keys") FileUtils.mkdir(dir) unless File.exist?(dir) dir end |
Instance Method Details
#path ⇒ Object
18 19 20 |
# File 'lib/awsam/key.rb', line 18 def path File.join(@dir, KEYFILE) end |
#print_environ ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/awsam/key.rb', line 39 def print_environ envs = { "AMAZON_SSH_KEY_NAME" => @name, "AMAZON_SSH_KEY_FILE" => self.path } Utils::bash_environ(envs) end |
#remove ⇒ Object
48 49 50 51 |
# File 'lib/awsam/key.rb', line 48 def remove FileUtils.rm(self.path) FileUtils.rmdir(@dir) end |