class AWS::EC2::KeyPairCollection

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

def [] key_name

Returns:
  • (KeyPair) - key_name The name of the key pair.
def [] key_name
  super
end

def create key_name

Returns:
  • (KeyPair) - Returns a new key pair.

Parameters:
  • key_name (String) -- A name for the key pair.
def create key_name
  create_or_import(:create_key_pair, :key_name => key_name)
end

def create_or_import client_method, options

def create_or_import client_method, options
  # stringify option values
  options = options.inject({}) {|h,v| h[v.first] = v.last.to_s; h }
  response = client.send(client_method, options)
  options = {}
  options[:fingerprint] = response.key_fingerprint
  if response.respond_to?(:key_material)
    options[:private_key] = response.key_material
  end
  KeyPair.new(response.key_name, options)
end

def each &block

Returns:
  • (nil) -
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

def import key_name, public_key

Returns:
  • (KeyPair) - Returns a new key pair.

Parameters:
  • public_key (String) -- The RSA public key.
  • key_name (String) -- A name for this key pair.
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

def member_class

def member_class
  KeyPair
end