Sha256: b55fd008de6b94da099257f38a87126d184c763505ced4686f1cade230fab16f

Contents?: true

Size: 907 Bytes

Versions: 4

Compression:

Stored size: 907 Bytes

Contents

module Fog
  module AWS
    class EC2

      class Address < Fog::Model

        attribute :instance_id, 'instanceId'
        attribute :public_ip,   'publicIp'

        def addresses
          @addresses
        end

        def initialize(new_attributes = {})
          new_attributes = {
            :instance_id => ''
          }.merge!(new_attributes)
          super(new_attributes)
        end

        def destroy
          connection.release_address(@public_ip)
          true
        end

        def reload
          new_attributes = addresses.get(@public_ip).attributes
          merge_attributes(new_attributes)
        end

        def save
          data = connection.allocate_address
          @public_ip = data.body['publicIp']
          true
        end

        private

        def addresses=(new_addresses)
          @addresses = new_addresses
        end

      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fog-0.0.13 lib/fog/aws/models/ec2/address.rb
fog-0.0.12 lib/fog/aws/models/ec2/address.rb
fog-0.0.11 lib/fog/aws/models/ec2/address.rb
fog-0.0.10 lib/fog/aws/models/ec2/address.rb