class AWS::EC2::KeyPairCollection

Represents all key pairs in your account. You can use this collection to create, import and find key pairs.

Public Instance Methods

[](key_name) click to toggle source

@return [KeyPair] key_name The name of the key pair.

# File lib/aws/ec2/key_pair_collection.rb, line 57
def [] key_name
  super
end
create(key_name) click to toggle source

@param [String] key_name A name for the key pair. @return [KeyPair] Returns a new key pair.

# File lib/aws/ec2/key_pair_collection.rb, line 26
def create key_name
  create_or_import(:create_key_pair, :key_name => key_name)
end
each() { |key_pair(key_name, :fingerprint => key_fingerprint, :config => config)| ... } click to toggle source

Yields once for each key pair in your account. @return [nil]

# File lib/aws/ec2/key_pair_collection.rb, line 63
def each &block
  response = filtered_request(:describe_key_pairs)
  response.key_set.each do |kp|
    yield(KeyPair.new(kp.key_name,
                      :fingerprint => kp.key_fingerprint,
                      :config => config))
  end
  nil
end
import(key_name, public_key) click to toggle source

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with {create}, in which EC2 creates the key pair and gives the keys to you (EC2 keeps a copy of the public key). With ImportKeyPair, you create the key pair and give EC2 just the public key. The private key is never transferred between you and EC2.

Supported formats:

  • OpenSSH public key format (e.g., the format in ~/.ssh/authorized_keys)

  • Base64 encoded DER format

  • SSH public key file format as specified in RFC4716

DSA keys are not supported. Make sure your key generator is set up to create RSA keys. Supported lengths: 1024, 2048, and 4096.

@param [String] key_name A name for this key pair. @param [String] public_key The RSA public key. @return [KeyPair] Returns a new key pair.

# File lib/aws/ec2/key_pair_collection.rb, line 50
def import key_name, public_key
  create_or_import(:import_key_pair, 
    :key_name => key_name,
    :public_key_material => Base64.encode64(public_key.to_s))
end

Protected Instance Methods

member_class() click to toggle source

@private

# File lib/aws/ec2/key_pair_collection.rb, line 75
def member_class
  KeyPair
end