Sha256: c839a60c73a733ecef4243e7d740b426b88ba8f36fcb7c0caa4b2196783088ec

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

require 'fog/core/model'

module Fog
  module Glesys
    class Compute

      class Ip < Fog::Model
        extend Fog::Deprecation

        identity :serverid

        attribute :datacenter
        attribute :version
        attribute :platform
        attribute :ip

        def list_own
          service.list_own
        end

        def list_free
          requires :version, :datacenter, :platform
          service.ip_list_free(
            :ipversion => version,
            :platform => platform,
            :datacenter => datacenter
          ).body['response']['iplist']
        end

        def details
          requires :version, :ip
          service.ip_details(
            :ipversion => version,
            :ipaddress => ip
          )
        end

        def take
          requires :version, :ip
          service.ip_take(
            :ipversion => version,
            :ipaddress => ip
          )
        end

        def release
          requires :version, :ip
          service.ip_release(
            :ipversion => version,
            :ipaddress => ip
          )
        end

        def add
          requires :serverid, :version, :ip
          service.ip_add(
            :serverid  => serverid,
            :ipversion => version,
            :ipaddress => ip
          )
        end

        def remove
          requires :serverid, :version, :ip
          service.ip_remove(
            :serverid  => serverid,
            :ipversion => version,
            :ipaddress => ip
          )
        end

      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
fog-1.9.0 lib/fog/glesys/models/compute/ip.rb
fog-maestrodev-1.8.0.20130114204828 lib/fog/glesys/models/compute/ip.rb
fog-maestrodev-1.8.0.20130111070250 lib/fog/glesys/models/compute/ip.rb
fog-maestrodev-1.8.0.20130109172219 lib/fog/glesys/models/compute/ip.rb