Sha256: d20f0e65177aec5a2073d4e6d04151174a91ef1760f94996dadaeb574b36d856

Contents?: true

Size: 890 Bytes

Versions: 16

Compression:

Stored size: 890 Bytes

Contents

module Fog
  module AWS
    class EC2

      class KeyPair < Fog::Model

        attribute :fingerprint, 'keyFingerprint'
        attribute :material,    'keyMaterial'
        attribute :name,        'keyName'

        def destroy
          connection.delete_key_pair(@name)
          true
        end

        def key_pairs
          @key_pairs
        end

        def reload
          new_attributes = key_pairs.all(@name).first.attributes
          merge_attributes(new_attributes)
        end

        def save
          data = connection.create_key_pair(@name).body
          new_attributes = data.reject {|key,value| !['keyFingerprint', 'keyMaterial', 'keyName'].include?(key)}
          merge_attributes(new_attributes)
          true
        end

        private

        def key_pairs=(new_key_pairs)
          @key_pairs = new_key_pairs
        end

      end

    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
fog-0.0.25 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.24 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.23 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.22 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.21 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.20 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.19 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.18 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.17 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.16 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.15 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.14 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.13 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.12 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.11 lib/fog/aws/models/ec2/key_pair.rb
fog-0.0.10 lib/fog/aws/models/ec2/key_pair.rb