Class: ForemanDatacenter::Device
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ForemanDatacenter::Device
- Defined in:
- app/models/foreman_datacenter/device.rb
Instance Method Summary collapse
- #free_console_ports ⇒ Object
- #free_console_server_ports ⇒ Object
- #free_interfaces ⇒ Object
- #free_power_outlets ⇒ Object
- #free_power_ports ⇒ Object
- #ip_address ⇒ Object
- #is_console_server ⇒ Object
- #is_network_device ⇒ Object
- #is_pdu ⇒ Object
- #manufacturer_id ⇒ Object
- #parent? ⇒ Boolean
- #site ⇒ Object
- #site_id ⇒ Object
Instance Method Details
#free_console_ports ⇒ Object
74 75 76 |
# File 'app/models/foreman_datacenter/device.rb', line 74 def free_console_ports console_ports.where(console_server_port_id: nil) end |
#free_console_server_ports ⇒ Object
82 83 84 85 |
# File 'app/models/foreman_datacenter/device.rb', line 82 def free_console_server_ports console_server_ports.joins('LEFT JOIN console_ports ON console_server_ports.id = console_ports.console_server_port_id'). where(console_ports: { console_server_port_id: nil }) end |
#free_interfaces ⇒ Object
70 71 72 |
# File 'app/models/foreman_datacenter/device.rb', line 70 def free_interfaces interfaces.where(mgmt_only: false).reject(&:connected?) end |
#free_power_outlets ⇒ Object
87 88 89 90 |
# File 'app/models/foreman_datacenter/device.rb', line 87 def free_power_outlets power_outlets.joins('LEFT JOIN power_ports ON power_outlets.id = power_ports.power_outlet_id'). where(power_ports: { power_outlet_id: nil }) end |
#free_power_ports ⇒ Object
78 79 80 |
# File 'app/models/foreman_datacenter/device.rb', line 78 def free_power_ports power_ports.where(power_outlet_id: nil) end |
#ip_address ⇒ Object
46 47 48 |
# File 'app/models/foreman_datacenter/device.rb', line 46 def ip_address primary_ip4 || primary_ip6 end |
#is_console_server ⇒ Object
54 55 56 |
# File 'app/models/foreman_datacenter/device.rb', line 54 def is_console_server device_type.try(:is_console_server) end |
#is_network_device ⇒ Object
62 63 64 |
# File 'app/models/foreman_datacenter/device.rb', line 62 def is_network_device device_type.try(:is_network_device) end |
#is_pdu ⇒ Object
58 59 60 |
# File 'app/models/foreman_datacenter/device.rb', line 58 def is_pdu device_type.try(:is_pdu) end |
#manufacturer_id ⇒ Object
50 51 52 |
# File 'app/models/foreman_datacenter/device.rb', line 50 def manufacturer_id device_type.try(:manufacturer_id) end |
#parent? ⇒ Boolean
66 67 68 |
# File 'app/models/foreman_datacenter/device.rb', line 66 def parent? device_type.try(:subdevice_role) == 'Parent' end |
#site ⇒ Object
42 43 44 |
# File 'app/models/foreman_datacenter/device.rb', line 42 def site rack.site end |
#site_id ⇒ Object
38 39 40 |
# File 'app/models/foreman_datacenter/device.rb', line 38 def site_id rack.try(:site_id) end |