Module: ILO_SDK::EthernetInterfaceHelper

Included in:
Client
Defined in:
lib/ilo-sdk/helpers/ethernet_interface_helper.rb

Overview

Contains helper methods for EthernetInterface IPv4 actions

Instance Method Summary collapse

Instance Method Details

#get_ilo_ethernet_interface(manager_id: 1, ethernet_interface: 1) ⇒ Hash

Get all the Ethernet Interface settings

Parameters:

  • manager_id (Integer, String) (defaults to: 1)

    ID of the Manager

  • ethernet_interface (Integer, String) (defaults to: 1)

    ID of the EthernetInterface

Returns:

  • (Hash)

    EthernetInterface settings

Raises:

  • (RuntimeError)

    if the request failed



20
21
22
# File 'lib/ilo-sdk/helpers/ethernet_interface_helper.rb', line 20

def get_ilo_ethernet_interface(manager_id: 1, ethernet_interface: 1)
  response_handler(rest_get("/redfish/v1/Managers/#{manager_id}/EthernetInterfaces/#{ethernet_interface}/"))
end

#set_ilo_hostname(hostname:, domain_name: nil, manager_id: 1, ethernet_interface: 1) ⇒ Object

Set iLO hostname and domain name

Parameters:

  • hostname (String)

    iLO hostname

  • domain_name (String) (defaults to: nil)

    iLO domain name

  • manager_id (Integer, String) (defaults to: 1)

    ID of the Manager

  • ethernet_interface (Integer, String) (defaults to: 1)

    ID of the EthernetInterface

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



97
98
99
100
101
102
103
104
105
106
# File 'lib/ilo-sdk/helpers/ethernet_interface_helper.rb', line 97

def set_ilo_hostname(hostname:, domain_name: nil, manager_id: 1, ethernet_interface: 1)
  new_action = { 'Oem' => { 'Hp' => { 'HostName' => hostname } } }
  new_action['Oem']['Hp'].merge!('DHCPv4' => {}, 'DHCPv6' => {}) if domain_name
  new_action['Oem']['Hp']['DHCPv4']['UseDomainName'] = false if domain_name
  new_action['Oem']['Hp']['DHCPv6']['UseDomainName'] = false if domain_name
  new_action['Oem']['Hp']['DomainName'] = domain_name if domain_name
  response = rest_patch("/redfish/v1/Managers/#{manager_id}/EthernetInterfaces/#{ethernet_interface}/", body: new_action)
  response_handler(response)
  true
end

#set_ilo_ipv4_dhcp(manager_id: 1, ethernet_interface: 1) ⇒ Object

Set EthernetInterface to obtain IPv4 settings from DHCP

Parameters:

  • manager_id (Integer, String) (defaults to: 1)

    ID of the Manager

  • ethernet_interface (Integer, String) (defaults to: 1)

    ID of the EthernetInterface

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/ilo-sdk/helpers/ethernet_interface_helper.rb', line 29

def set_ilo_ipv4_dhcp(manager_id: 1, ethernet_interface: 1)
  new_action = {
    'Oem' => {
      'Hp' => {
        'DHCPv4' => {
          'Enabled' => true,
          'UseDNSServers' => true,
          'UseDomainName' => true,
          'UseGateway' => true,
          'UseNTPServers' => true,
          'UseStaticRoutes' => true,
          'UseWINSServers' => true
        }
      }
    }
  }
  response = rest_patch("/redfish/v1/Managers/#{manager_id}/EthernetInterfaces/#{ethernet_interface}/", body: new_action)
  response_handler(response)
  true
end

#set_ilo_ipv4_dns_servers(dns_servers:, manager_id: 1, ethernet_interface: 1) ⇒ Object

Set EthernetInterface DNS servers

Parameters:

  • dns_servers (Array)

    list of DNS servers

  • manager_id (Integer, String) (defaults to: 1)

    ID of the Manager

  • ethernet_interface (Integer, String) (defaults to: 1)

    ID of the EthernetInterface

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/ilo-sdk/helpers/ethernet_interface_helper.rb', line 76

def set_ilo_ipv4_dns_servers(dns_servers:, manager_id: 1, ethernet_interface: 1)
  new_action = {
    'Oem' => {
      'Hp' => {
        'DHCPv4' => { 'UseDNSServers' => false },
        'IPv4' => { 'DNSServers' => dns_servers }
      }
    }
  }
  response = rest_patch("/redfish/v1/Managers/#{manager_id}/EthernetInterfaces/#{ethernet_interface}/", body: new_action)
  response_handler(response)
  true
end

#set_ilo_ipv4_static(ip:, netmask:, gateway: '0.0.0.0', manager_id: 1, ethernet_interface: 1) ⇒ Object

Set EthernetInterface to static IPv4 address

Parameters:

  • ip (String)

    IPv4 address

  • netmask (String)

    IPv4 subnet mask

  • gateway (String) (defaults to: '0.0.0.0')

    IPv4 default gateway

  • manager_id (Integer, String) (defaults to: 1)

    ID of the Manager

  • ethernet_interface (Integer, String) (defaults to: 1)

    ID of the EthernetInterface

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/ilo-sdk/helpers/ethernet_interface_helper.rb', line 58

def set_ilo_ipv4_static(ip:, netmask:, gateway: '0.0.0.0', manager_id: 1, ethernet_interface: 1)
  new_action = {
    'Oem' => { 'Hp' => { 'DHCPv4' => { 'Enabled' => false } } },
    'IPv4Addresses' => [
      'Address' => ip, 'SubnetMask' => netmask, 'Gateway' => gateway
    ]
  }
  response = rest_patch("/redfish/v1/Managers/#{manager_id}/EthernetInterfaces/#{ethernet_interface}/", body: new_action)
  response_handler(response)
  true
end