idrac 0.1.60 → 0.1.91

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: 89e9115a714301ee9458c3aaf527a44ce151ddfc27c0b2776eaf8c384652aaf1
4
- data.tar.gz: 71eb43aa5858e307cdda1a2b4aa716a91733acd56b151017800e4099e32175e3
3
+ metadata.gz: 1d73bf8bd21a2d53d3f1b187e99b3dc468b2f12510f48db98d3ff6cc597e3185
4
+ data.tar.gz: 7b8a167fa2b9805167d910e264d78fc5690ab92f0235007682a9de113a8e5e36
5
5
  SHA512:
6
- metadata.gz: 056a1ecb5fd9606de6c2c0078f001e2fbc904e7e777fd192e0d09f8488f2ea101240263ff1567f1a60aa119e75260a7e82d08f67d3855bb77ca827cc245ae86e
7
- data.tar.gz: 07b79738a252cc906e8283583d948f61a2246967555f38331e7cea7e96a622d98c5a0f2a04e6d08344767e35f2ef29a2af7187ae767fbaab9662764417670695
6
+ metadata.gz: 564bb0dac98955f8dc4374cd5e10d6a6253150f97202bcaab6e5d91de0a95fe292be0a4ded608dfd17fc3952f54b7d3b72663e88e619dd13542a458d7e60ac93
7
+ data.tar.gz: 7eac930e4e03c3149768b3d3298639317eae754edbfc6ebb05d4c903c93933d2f3c7ef434a205a619b28a1c36506082d41e8f9eb7d635136707986f5b9b49ec1
data/lib/idrac/power.rb CHANGED
@@ -166,6 +166,33 @@ module IDRAC
166
166
  end
167
167
  end
168
168
 
169
+ def get_power_usage_watts
170
+ # Login to iDRAC if needed
171
+ login unless @session_id
172
+
173
+ response = authenticated_request(:get, "/redfish/v1/Chassis/System.Embedded.1/Power")
174
+
175
+ if response.status == 200
176
+ begin
177
+ data = JSON.parse(response.body)
178
+ watts = data["PowerControl"][0]["PowerConsumedWatts"]
179
+ # puts "Power usage: #{watts} watts".light_cyan
180
+ return watts.to_f
181
+ rescue JSON::ParserError
182
+ raise Error, "Failed to parse power usage response: #{response.body}"
183
+ end
184
+ else
185
+ error_message = "Failed to get power usage. Status code: #{response.status}"
186
+ begin
187
+ error_data = JSON.parse(response.body)
188
+ error_message += ", Message: #{error_data['error']['message']}" if error_data['error'] && error_data['error']['message']
189
+ rescue
190
+ # Ignore JSON parsing errors
191
+ end
192
+ raise Error, error_message
193
+ end
194
+ end
195
+
169
196
  private
170
197
 
171
198
  def wait_for_power_state(target_state:, tries: 6)
@@ -192,4 +219,4 @@ module IDRAC
192
219
  return false
193
220
  end
194
221
  end
195
- end
222
+ end
data/lib/idrac/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IDRAC
4
- VERSION = "0.1.60"
4
+ VERSION = "0.1.91"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: idrac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.60
4
+ version: 0.1.91
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-03 00:00:00.000000000 Z
11
+ date: 2025-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty