class Fog::Compute::ProfitBricks::FirewallRule

Public Instance Methods

delete() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 69
def delete
  requires :datacenter_id, :server_id, :nic_id, :id
  service.delete_firewall_rule(datacenter_id, server_id, nic_id, id)
  true
end
failed?() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 95
def failed?
  state == 'ERROR'
end
ready?() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 91
def ready?
  state == 'AVAILABLE'
end
reload() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 75
def reload
  requires :datacenter_id, :server_id, :nic_id, :id

  data = begin
    collection.get(datacenter_id, server_id, nic_id, id)
  rescue Excon::Errors::SocketError
    nil
  end

  return unless data

  new_attributes = data.attributes
  merge_attributes(new_attributes)
  self
end
save() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 34
def save
  requires :datacenter_id, :server_id, :nic_id, :protocol

  properties = {}
  properties[:name]           = name if name
  properties[:protocol]       = protocol if protocol
  properties[:sourceMac]      = source_mac if source_mac
  properties[:sourceIp]       = source_ip if source_ip
  properties[:targetIp]       = target_ip if target_ip
  properties[:portRangeStart] = port_range_start if port_range_start
  properties[:portRangeEnd]   = port_range_end if port_range_end
  properties[:icmpType]       = icmp_type if icmp_type
  properties[:icmpCode]       = icmp_code if icmp_code

  data = service.create_firewall_rule(datacenter_id, server_id, nic_id, properties)
  merge_attributes(flatten(data.body))
end
update() click to toggle source
# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 52
def update
  requires :datacenter_id, :server_id, :nic_id, :id

  properties = {}
  properties[:name]           = name if name
  properties[:sourceMac]      = source_mac if source_mac
  properties[:sourceIp]       = source_ip if source_ip
  properties[:targetIp]       = target_ip if target_ip
  properties[:portRangeStart] = port_range_start if port_range_start
  properties[:portRangeEnd]   = port_range_end if port_range_end
  properties[:icmpType]       = icmp_type if icmp_type
  properties[:icmpCode]       = icmp_code if icmp_code

  data = service.update_firewall_rule(datacenter_id, server_id, nic_id, id, properties)
  merge_attributes(flatten(data.body))
end