class ProfitBricks::Firewall

Firewall class

Public Class Methods

create(datacenter_id, server_id, nic_id, options = {}) click to toggle source

Create a new firewall rule.

# File lib/profitbricks/firewall.rb, line 32
def create(datacenter_id, server_id, nic_id, options = {})
  response = ProfitBricks.request(
    method: :post,
    path: "/datacenters/#{datacenter_id}/servers/#{server_id}/nics/#{nic_id}/firewallrules",
    expects: 202,
    body: { properties: options }.to_json
  )
  add_parent_identities(response)
  instantiate_objects(response)
end
get(datacenter_id, server_id, nic_id, fwrule_id) click to toggle source

Retrieve a firewall rule assigned to a NIC.

# File lib/profitbricks/firewall.rb, line 55
def get(datacenter_id, server_id, nic_id, fwrule_id)
  response = ProfitBricks.request(
    method: :get,
    path: "/datacenters/#{datacenter_id}/servers/#{server_id}/nics/#{nic_id}/firewallrules/#{fwrule_id}",
    expects: 200
  )
  add_parent_identities(response)
  instantiate_objects(response)
end
list(datacenter_id, server_id, nic_id) click to toggle source

List all firewall rules assigned to a NIC.

# File lib/profitbricks/firewall.rb, line 44
def list(datacenter_id, server_id, nic_id)
  response = ProfitBricks.request(
    method: :get,
    path: "/datacenters/#{datacenter_id}/servers/#{server_id}/nics/#{nic_id}/firewallrules",
    expects: 200
  )
  add_parent_identities(response)
  instantiate_objects(response)
end

Public Instance Methods

delete() click to toggle source

Delete the firewall rule.

# File lib/profitbricks/firewall.rb, line 5
def delete
  response = ProfitBricks.request(
    method: :delete,
    path: "/datacenters/#{datacenterId}/servers/#{serverId}/nics/#{nicId}/firewallrules/#{id}",
    expects: 202
  )
  self.requestId = response[:requestId]
  self
end
update(options = {}) click to toggle source

Update the firewall rule.

# File lib/profitbricks/firewall.rb, line 16
def update(options = {})
  response = ProfitBricks.request(
    method: :patch,
    path: "/datacenters/#{datacenterId}/servers/#{serverId}/nics/#{nicId}/firewallrules/#{id}",
    expects: 202,
    body: options.to_json
  )
  if response
    self.requestId = response['requestId']
    @properties = @properties.merge(response['properties'])
  end
  self
end