Sha256: 38df994674a4c8eec6918e476e9f4104aeafc631ac3adfa90f3841d8f7955b49

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require "pp"
module Brightbox
  class FirewallRule < Api
    def self.require_account?; true; end
    attr_writer :attributes

    def self.create(options)
      new(conn.firewall_rules.create(options))
    end

    def self.get(id)
      conn.firewall_rules.get(id)
    end

    def update params
      self.class.conn.update_firewall_rule id, params
      self.reload
      self
    end

    def attributes
      t = @attributes || fog_model.attributes
      t[:sport] = t[:source_port]
      t[:dport] = t[:destination_port]
      t[:firewall_policy] = t[:firewall_policy_id]
      t[:icmp_type] = t[:icmp_type_name]
      t
    end

    def to_row
      attrs = attributes.dup
      [:protocol,:source,:sport, :destination, :dport, :icmp_type].each do |key|
        attrs[key] = attributes[key] || '-'
      end
      attrs
    end

    def ret_val(attributes,key)
      attributes[key] || "-"
    end

    def self.default_field_order
      [:id, :protocol,:source, :sport, :destination, :dport, :icmp_type, :description]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
brightbox-cli-1.1.0 lib/brightbox-cli/firewall_rule.rb
brightbox-cli-1.0.0 lib/brightbox-cli/firewall_rule.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/firewall_rule.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/firewall_rule.rb