supermicro 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7bd3223e78a524abd916e03e7457854dcd6ac31c9b3ed0edb6ae1a23d6359ab
4
- data.tar.gz: 37b296b38c7b8f713c371e55cde3965b0b29df21769f5f167b6e99f4a3e827cc
3
+ metadata.gz: 8c1f77ef08d686c2f5473f7e9f9225edf83f91945b5212169e29b5568e8e3477
4
+ data.tar.gz: d2035d781e7407592a5ed2616c5cd49d66c7c871e033b9653be26db8a574423f
5
5
  SHA512:
6
- metadata.gz: 0ef995441ecb1276ccbe60be618439a0bb348d0e0f7ee7239cf4fc7ca089bd3690c4726226118483f1cd6efd053fdeadff9ac292b2540a09c0a46cd86076d2f8
7
- data.tar.gz: 9b56afffa510f63d366ed54c380226ee185e25f051112a01a72a524b41d1a2014f1c6665328dda4e0ff55eb26254272c19f90e0b48c8c6c554b64008602d9dbe
6
+ metadata.gz: 2147f597962ef047ce1236aaf8adf70241288538d6a9e710e9bb75a2c9ac2424a97053609dbb7ba22609f66a3fef7b12bce9cea9a0e2157ff91182d1efe8a767
7
+ data.tar.gz: 5eaeaa5e889f7d320cf52221531cb0eb83748d11ce9ed5e54f5f2e7c262eac9f22828d79319559f60a2ee9e6ebe4b80c4ab8c3b0c5349782f9456d12621ae6ee
data/README.md CHANGED
@@ -134,7 +134,7 @@ client.mount_iso_and_boot("http://example.com/os.iso")
134
134
  options = client.boot_options
135
135
 
136
136
  # Set one-time boot override
137
- client.set_boot_override("Pxe", persistent: false)
137
+ client.set_boot_override("Pxe", persistence: 'Once')
138
138
 
139
139
  # Quick boot methods
140
140
  client.boot_to_pxe
@@ -221,4 +221,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/buildi
221
221
 
222
222
  ## License
223
223
 
224
- MIT
224
+ MIT
@@ -78,7 +78,8 @@ module Supermicro
78
78
  end
79
79
 
80
80
  # Set boot override for next boot
81
- def set_boot_override(target, enabled: "Once", mode: nil)
81
+ def set_boot_override(target, persistence: nil, mode: nil)
82
+ persistence = "Once" unless persistence
82
83
  # Validate target against allowed values
83
84
  boot_data = boot
84
85
  valid_targets = boot_data["allowed_override_targets"]
@@ -88,11 +89,11 @@ module Supermicro
88
89
  raise Error, "Invalid boot target: #{target}"
89
90
  end
90
91
 
91
- debug "Setting boot override to #{target} (#{enabled})..."
92
+ debug "Setting boot override to #{target} (#{persistence})..."
92
93
 
93
94
  body = {
94
95
  "Boot" => {
95
- "BootSourceOverrideEnabled" => enabled, # Disabled/Once/Continuous
96
+ "BootSourceOverrideEnabled" => persistence, # Disabled/Once/Continuous
96
97
  "BootSourceOverrideTarget" => target # None/Pxe/Hdd/Cd/etc
97
98
  }
98
99
  }
@@ -236,25 +237,25 @@ module Supermicro
236
237
  end
237
238
 
238
239
  # Convenience methods for common boot targets
239
- def boot_to_pxe(enabled: "Once", mode: nil)
240
- set_boot_override("Pxe", enabled: enabled, mode: mode)
240
+ def boot_to_pxe(persistence: nil, mode: nil)
241
+ set_boot_override("Pxe", persistence: persistence, mode: mode)
241
242
  end
242
243
 
243
- def boot_to_disk(enabled: "Once", mode: nil)
244
- set_boot_override("Hdd", enabled: enabled, mode: mode)
244
+ def boot_to_disk(persistence: nil, mode: nil)
245
+ set_boot_override("Hdd", persistence: persistence, mode: mode)
245
246
  end
246
247
 
247
- def boot_to_cd(enabled: "Once", mode: "UEFI")
248
+ def boot_to_cd(persistence: nil, mode: "UEFI")
248
249
  # Always use UEFI mode for CD boot since we're booting UEFI media
249
- set_boot_override("Cd", enabled: enabled, mode: mode)
250
+ set_boot_override("Cd", persistence: persistence, mode: mode)
250
251
  end
251
252
 
252
- def boot_to_usb(enabled: "Once", mode: nil)
253
- set_boot_override("Usb", enabled: enabled, mode: mode)
253
+ def boot_to_usb(persistence: nil, mode: nil)
254
+ set_boot_override("Usb", persistence: persistence, mode: mode)
254
255
  end
255
256
 
256
- def boot_to_bios_setup(enabled: "Once", mode: nil)
257
- set_boot_override("BiosSetup", enabled: enabled, mode: mode)
257
+ def boot_to_bios_setup(persistence: nil, mode: nil)
258
+ set_boot_override("BiosSetup", persistence: persistence, mode: mode)
258
259
  end
259
260
 
260
261
  # Set one-time boot to virtual media (CD)
@@ -288,7 +289,7 @@ module Supermicro
288
289
  end
289
290
 
290
291
  # Now try the standard boot override - this often works after remount
291
- result = boot_to_cd(enabled: "Once")
292
+ result = boot_to_cd(persistence: 'Once')
292
293
 
293
294
  if result
294
295
  debug "One-time boot to virtual media configured", 1, :green
@@ -336,4 +337,4 @@ module Supermicro
336
337
  result
337
338
  end
338
339
  end
339
- end
340
+ end
@@ -30,7 +30,13 @@ module Supermicro
30
30
  controller_data = {
31
31
  "id" => controller["Id"],
32
32
  "name" => controller["Name"],
33
+ # Extract model from first StorageController entry
34
+ "model" => controller.dig("StorageControllers", 0, "Model") || controller["Name"],
35
+ "firmware_version" => controller.dig("StorageControllers", 0, "FirmwareVersion"),
33
36
  "status" => controller.dig("Status", "Health") || "N/A",
37
+ "drives_count" => controller["Drives"]&.size || 0,
38
+ "@odata.id" => controller["@odata.id"],
39
+ # Include full storage controller info for reference
34
40
  "storage_controllers" => controller["StorageControllers"]&.map { |sc|
35
41
  {
36
42
  "name" => sc["Name"],
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Supermicro
4
- VERSION = "0.1.8"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: supermicro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-10 00:00:00.000000000 Z
11
+ date: 2026-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty