Module: ILO_SDK::BiosHelper

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

Overview

Contains helper methods for Bios actions

Instance Method Summary collapse

Instance Method Details

#get_bios_baseconfigFixnum

Get the bios base config

Returns:

  • (Fixnum)

    bios_baseconfig

Raises:

  • (RuntimeError)

    if the request failed



37
38
39
40
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 37

def get_bios_baseconfig
  response = rest_get('/redfish/v1/Systems/1/bios/Settings/')
  response_handler(response)['BaseConfig']
end

#get_bios_dhcpString

Get the BIOS DHCP

Returns:

  • (String)

    bios_dhcp

Raises:

  • (RuntimeError)

    if the request failed



85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 85

def get_bios_dhcp
  response = rest_get('/redfish/v1/Systems/1/bios/Settings/')
  bios = response_handler(response)
  {
    'Dhcpv4' => bios['Dhcpv4'],
    'Ipv4Address' => bios['Ipv4Address'],
    'Ipv4Gateway' => bios['Ipv4Gateway'],
    'Ipv4PrimaryDNS' => bios['Ipv4PrimaryDNS'],
    'Ipv4SecondaryDNS' => bios['Ipv4SecondaryDNS'],
    'Ipv4SubnetMask' => bios['Ipv4SubnetMask']
  }
end

#get_bios_serviceString

Get the BIOS service

Returns:

  • (String)

    bios_service

Raises:

  • (RuntimeError)

    if the request failed



143
144
145
146
147
148
149
150
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 143

def get_bios_service
  response = rest_get('/redfish/v1/Systems/1/bios/Settings/')
  bios = response_handler(response)
  {
    'ServiceName' => bios['ServiceName'],
    'ServiceEmail' => bios['ServiceEmail']
  }
end

#get_bios_settings(system_id = 1) ⇒ Hash

Get all the BIOS settings

Parameters:

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

    ID of the system

Returns:

  • (Hash)

    BIOS settings

Raises:

  • (RuntimeError)

    if the request failed



19
20
21
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 19

def get_bios_settings(system_id = 1)
  response_handler(rest_get("/redfish/v1/Systems/#{system_id}/bios/Settings/"))
end

#get_uefi_shell_startupHash

Get the UEFI shell start up

Returns:

  • (Hash)

    uefi_shell_startup

Raises:

  • (RuntimeError)

    if the request failed



55
56
57
58
59
60
61
62
63
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 55

def get_uefi_shell_startup
  response = rest_get('/redfish/v1/Systems/1/bios/Settings/')
  bios = response_handler(response)
  {
    'UefiShellStartup' => bios['UefiShellStartup'],
    'UefiShellStartupLocation' => bios['UefiShellStartupLocation'],
    'UefiShellStartupUrl' => bios['UefiShellStartupUrl']
  }
end

#get_url_boot_fileString

Get the URL boot file

Returns:

  • (String)

    url_boot_file

Raises:

  • (RuntimeError)

    if the request failed



124
125
126
127
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 124

def get_url_boot_file
  response = rest_get('/redfish/v1/Systems/1/bios/Settings/')
  response_handler(response)['UrlBootFile']
end

#revert_biosObject

Revert the BIOS

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



45
46
47
48
49
50
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 45

def revert_bios
  new_action = { 'BaseConfig' => 'default' }
  response = rest_patch('/redfish/v1/systems/1/bios/Settings/', body: new_action)
  response_handler(response)
  true
end

#set_bios_dhcp(dhcpv4, ipv4_address = '', ipv4_gateway = '', ipv4_primary_dns = '', ipv4_secondary_dns = '', ipv4_subnet_mask = '') ⇒ Object

Set the BIOS DHCP

Parameters:

  • dhcpv4 (String, Symbol)
  • ipv4_address (String, Symbol) (defaults to: '')
  • ipv4_gateway (String, Symbol) (defaults to: '')
  • ipv4_primary_dns (String, Symbol) (defaults to: '')
  • ipv4_secondary_dns (String, Symbol) (defaults to: '')
  • ipv4_subnet_mask (String, Symbol) (defaults to: '')

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 107

def set_bios_dhcp(dhcpv4, ipv4_address = '', ipv4_gateway = '', ipv4_primary_dns = '', ipv4_secondary_dns = '', ipv4_subnet_mask = '')
  new_action = {
    'Dhcpv4' => dhcpv4,
    'Ipv4Address' => ipv4_address,
    'Ipv4Gateway' => ipv4_gateway,
    'Ipv4PrimaryDNS' => ipv4_primary_dns,
    'Ipv4SecondaryDNS' => ipv4_secondary_dns,
    'Ipv4SubnetMask' => ipv4_subnet_mask
  }
  response = rest_patch('/redfish/v1/Systems/1/bios/Settings/', body: new_action)
  response_handler(response)
  true
end

#set_bios_service(name, email) ⇒ Object

Set the BIOS service

Parameters:

  • name (String, Symbol)
  • email (String, Symbol)

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



157
158
159
160
161
162
163
164
165
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 157

def set_bios_service(name, email)
  new_action = {
    'ServiceName' => name,
    'ServiceEmail' => email
  }
  response = rest_patch('/redfish/v1/Systems/1/bios/Settings/', body: new_action)
  response_handler(response)
  true
end

#set_bios_settings(options, system_id = 1) ⇒ Object

Set BIOS settings

Parameters:

  • options (Hash)

    Hash of options to set

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

    ID of the system

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



28
29
30
31
32
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 28

def set_bios_settings(options, system_id = 1)
  r = response_handler(rest_patch("/redfish/v1/Systems/#{system_id}/bios/Settings/", body: options))
  @logger.warn(r) if r['error']
  true
end

#set_uefi_shell_startup(uefi_shell_startup, uefi_shell_startup_location, uefi_shell_startup_url) ⇒ Object

Set the UEFI shell start up

Parameters:

  • uefi_shell_startup (String, Symbol)
  • uefi_shell_startup_location (String, Symbol)
  • uefi_shell_startup_url (String, Symbol)

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



71
72
73
74
75
76
77
78
79
80
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 71

def set_uefi_shell_startup(uefi_shell_startup, uefi_shell_startup_location, uefi_shell_startup_url)
  new_action = {
    'UefiShellStartup' => uefi_shell_startup,
    'UefiShellStartupLocation' => uefi_shell_startup_location,
    'UefiShellStartupUrl' => uefi_shell_startup_url
  }
  response = rest_patch('/redfish/v1/Systems/1/bios/Settings/', body: new_action)
  response_handler(response)
  true
end

#set_url_boot_file(url_boot_file) ⇒ Object

Set the URL boot file

Parameters:

  • url_boot_file (String, Symbol)

Returns:

  • true

Raises:

  • (RuntimeError)

    if the request failed



133
134
135
136
137
138
# File 'lib/ilo-sdk/helpers/bios_helper.rb', line 133

def set_url_boot_file(url_boot_file)
  new_action = { 'UrlBootFile' => url_boot_file }
  response = rest_patch('/redfish/v1/Systems/1/bios/Settings/', body: new_action)
  response_handler(response)
  true
end