Sha256: 3f2e901a31d5378372d0fbbb710ea61a50e89035c3fd3603775861156e98f9c9

Contents?: true

Size: 778 Bytes

Versions: 3

Compression:

Stored size: 778 Bytes

Contents

module Brightbox
  class CloudIP < Api
    def self.get id
      conn.cloud_ips.get id
    end

    def self.all
      conn.cloud_ips
    end

    def self.create
      r = conn.create_cloud_ip
      new(JSON.parse(r.body)["id"])
    rescue Excon::Errors::Forbidden => e
      response = JSON.parse(e.response.body) rescue {}
      response = response.fetch("error", {})
      raise Forbidden, "#{response["details"]}: #{response["summary"]}"
    end

    def attributes
      fog_model.attributes
    end

    def to_row
      attributes
    end

    def mapped?
      status == 'mapped'
    end

    def self.default_field_order
      [:id, :status, :public_ip, :server_id, :interface_id, :reverse_dns]
    end

    def <=>(b)
      self.status <=> b.status
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bbcloud-0.8 lib/bbcloud/cloud_ips.rb
bbcloud-0.7 lib/bbcloud/cloud_ips.rb
bbcloud-0.6.2 lib/bbcloud/cloud_ips.rb