class Ey::Core::Client::FirewallRule

Public Instance Methods

destroy!() click to toggle source
# File lib/ey-core/models/firewall_rule.rb, line 38
def destroy!
  connection.requests.new(self.connection.destroy_firewall_rule("id" => self.id).body["request"])
end
save!() click to toggle source
# File lib/ey-core/models/firewall_rule.rb, line 18
def save!
  requires :firewall_id

  self.port_range ||= "0-65535"

  params = {
    "url"           => self.collection.url,
    "firewall_rule" => {
      "port_range" => "#{self.port_range.min}-#{self.port_range.max}",
      "source"     => self.source     || "0.0.0.0/0",
    },
    "firewall" => self.firewall_id,
  }

  if new_record?
    self.connection.requests.new(self.connection.create_firewall_rule(params).body["request"])
  else raise NotImplementedError
  end
end
source_firewall() click to toggle source
# File lib/ey-core/models/firewall_rule.rb, line 12
def source_firewall
  unless source.match(Ey::Core::IP_REGEX)
    self.connection.firewalls.get(self.source)
  end
end