radfish-ami 0.1.4 → 0.1.5

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: 0b9d6c1504f5b0420021db42cf51f92f4864b57e829ab2167526758889f42a0a
4
- data.tar.gz: 23b729993a4fd05476a6737f2b7eed8d21c6d4b297f850ea5b5dda35659897c8
3
+ metadata.gz: 472ba0bdf31346a59b277da4019f4d0d84cff7a2bac7831cd0335b2976cef8ea
4
+ data.tar.gz: b78f18b561ebc89e3647f4e29454e45054017fc231753e3c8eca83b3e0dfbafe
5
5
  SHA512:
6
- metadata.gz: aa22eff985917551a7b889041c667f888b82dcc07c8f6dd95303c5b46c7d79152aa785bf9b3f01a22ffe4deb8683fb8a4d3486add7541e2fb51e3be658087cef
7
- data.tar.gz: 94b80ed7c35a5bbf43d8f4ee73f5b988e34f8d95a7932ed6df295241d595aa941d2df896d4f670a71c516cebbc4000fde21a7d67c6357bbdc01128d8098688ff
6
+ metadata.gz: b18bc999bb6607fae5568abaf52dca97f099d1b22d0b99b98a8e8c541f1e71df865b0a4936133ebcdeb81962acbe1a064b455edb4c8e35c2309878b1417af89d
7
+ data.tar.gz: 50e6c3098399c64b645d81dc9a8caefc5a480aa6836f9e3476c11a7194b5467576b7df32259ce2b30c4849f797364516f48d3de63ec439bb7c17ff83dee0cb25
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Radfish
4
4
  module Ami
5
- VERSION = "0.1.4"
5
+ VERSION = "0.1.5"
6
6
  end
7
7
  end
@@ -162,6 +162,38 @@ module Radfish
162
162
  end
163
163
  end
164
164
 
165
+ # CPU info wrapper
166
+ class CpuInfo
167
+ attr_reader :socket, :manufacturer, :model, :cores, :threads, :speed_mhz, :status, :raw_data
168
+
169
+ def initialize(data)
170
+ @raw_data = data
171
+ @socket = data["Socket"] || data["Id"]
172
+ @manufacturer = data["Manufacturer"]
173
+ @model = data.dig("ProcessorId", "EffectiveFamily")&.strip || data["Model"]
174
+ @cores = data["TotalCores"]
175
+ @threads = data["TotalThreads"]
176
+ @speed_mhz = data["MaxSpeedMHz"]
177
+ @status = data.dig("Status", "Health") || "Unknown"
178
+ end
179
+
180
+ def to_h
181
+ {
182
+ socket: @socket,
183
+ manufacturer: @manufacturer,
184
+ model: @model,
185
+ cores: @cores,
186
+ threads: @threads,
187
+ speed_mhz: @speed_mhz,
188
+ status: @status
189
+ }
190
+ end
191
+
192
+ def [](key)
193
+ @raw_data[key]
194
+ end
195
+ end
196
+
165
197
  def bmc_info
166
198
  manager = get_manager_info
167
199
  network = get_bmc_network
@@ -186,7 +218,8 @@ module Radfish
186
218
  members.map do |member|
187
219
  cpu_response = authenticated_request(:get, member["@odata.id"])
188
220
  next nil unless cpu_response.status == 200
189
- JSON.parse(cpu_response.body)
221
+ data = JSON.parse(cpu_response.body)
222
+ CpuInfo.new(data)
190
223
  end.compact
191
224
  end
192
225
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radfish-ami
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel