Sha256: 9a88bcb6def4668d1425e4c62b71cb213182043ff8c62fc413f7bc30017b1838

Contents?: true

Size: 835 Bytes

Versions: 9

Compression:

Stored size: 835 Bytes

Contents

module Fog
  module AWS
    class EC2

      def key_pairs
        Fog::AWS::EC2::KeyPairs.new(:connection => self)
      end

      class KeyPairs < Fog::Collection

        attribute :key_name

        model Fog::AWS::EC2::KeyPair

        def initialize(attributes)
          @key_name ||= []
          super
        end

        def all(key_name = @key_name)
          @key_name = key_name
          if @loaded
            clear
          end
          @loaded = true
          data = connection.describe_key_pairs(key_name).body
          data['keySet'].each do |key|
            self << new(key)
          end
          self
        end

        def get(key_name)
          if key_name
            all(key_name).first
          end
        rescue Excon::Errors::BadRequest
          nil
        end

      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
fog-0.0.47 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.46 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.45 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.44 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.43 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.42 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.41 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.40 lib/fog/aws/models/ec2/key_pairs.rb
fog-0.0.39 lib/fog/aws/models/ec2/key_pairs.rb