radfish 0.2.5 → 0.2.6

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: 2a440779d106c4dab6553860f7a70b63c606072fdf79ebf37164d32a6e9dd5bd
4
- data.tar.gz: 3c1c74fb4bea5668de9e8fb68fddd16e72b7ba716c62e3d650b8cbd368822da5
3
+ metadata.gz: 93a5fb3d6426c95928fb99dea4bf9fe1ec89d9e248bdee0998ca7905130a2c0a
4
+ data.tar.gz: 83d58cea483fd3b9f4a2ccf2bc9bea4671e6d905b66aea0c543a2a33f7722492
5
5
  SHA512:
6
- metadata.gz: 2023d3129b3cac7eb57f0a7d1f2b999700636571a6d21080069ae49137e7efd81aac059a8cdda4419ba8f21daf4216f3b72e8ef1a1c6fcd1569aab88030f9bb9
7
- data.tar.gz: 784a58288211fbfdca734a5581fdaa311f9f32c95edc7240b5ad0eaaa7d64617aa575a8792111d893e2e4d940ba4493a3c6caaaeb3f17d9474a2f94163e54a33
6
+ metadata.gz: 1613faa69f988928629451af00a4ee1631945eaf869a86b823079503d87123bbde630af14fa8cb04aa4cee178794432f0267ef202c05da57946b08ec0b94fe56
7
+ data.tar.gz: 3edb39da507013792b8bdb65fe8dd38d0a1bb8a65007891dec52278b95c9f99be3ca86eed7ae0048e86d4123a8fb2544b51153fee56ffdbce2f9abebe9e6edc0
data/lib/radfish/cli.rb CHANGED
@@ -406,11 +406,13 @@ module Radfish
406
406
  puts "No volumes found".yellow
407
407
  else
408
408
  all_volumes.each do |vol|
409
- name = vol['name'] || vol.name rescue "Unknown"
410
- capacity = vol['capacity_gb'] || vol.capacity_gb rescue "Unknown"
411
- raid_type = vol['raid_type'] || vol.raid_type rescue "Unknown"
412
- status = vol['status'] || vol.status rescue "Unknown"
413
- puts "#{name}: #{capacity} GB - #{raid_type} (Status: #{status})".cyan
409
+ name = vol.name
410
+ bytes = vol.respond_to?(:capacity_bytes) ? vol.capacity_bytes : nil
411
+ capacity = bytes ? (bytes.to_f / (1000**3)).round(2) : nil
412
+ raid_type = vol.raid_type
413
+ status = vol.health
414
+ cap_str = capacity ? "#{capacity} GB" : "Unknown size"
415
+ puts "#{name}: #{cap_str} - #{raid_type} (Status: #{status})".cyan
414
416
  end
415
417
  end
416
418
  end
@@ -231,10 +231,17 @@ module Radfish
231
231
  id: fetch.call(:id),
232
232
  name: fetch.call(:name),
233
233
  capacity_bytes: fetch.call(:capacity_bytes),
234
- capacity_gb: fetch.call(:capacity_gb),
235
- raid_type: fetch.call(:raid_type) || fetch.call(:volume_type),
236
- status: fetch.call(:status) || fetch.call(:health),
234
+ raid_type: fetch.call(:raid_type),
235
+ volume_type: fetch.call(:volume_type),
236
+ drives: fetch.call(:drives),
237
237
  encrypted: fetch.call(:encrypted),
238
+ lock_status: fetch.call(:lock_status),
239
+ stripe_size: fetch.call(:stripe_size),
240
+ operation_percent_complete: fetch.call(:operation_percent_complete),
241
+ operation_name: fetch.call(:operation_name),
242
+ write_cache_policy: fetch.call(:write_cache_policy),
243
+ read_cache_policy: fetch.call(:read_cache_policy),
244
+ health: fetch.call(:health),
238
245
  adapter_data: raw
239
246
  )
240
247
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Radfish
4
- VERSION = "0.2.5"
4
+ VERSION = "0.2.6"
5
5
  end
@@ -2,21 +2,35 @@
2
2
 
3
3
  module Radfish
4
4
  class Volume
5
- attr_reader :id, :name, :capacity_bytes, :capacity_gb, :raid_type,
6
- :status, :encrypted, :adapter_data, :controller
5
+ # Canonical, normalized attributes only.
6
+ attr_reader :id, :name, :capacity_bytes, :raid_type, :volume_type, :drives,
7
+ :encrypted, :lock_status, :stripe_size,
8
+ :operation_percent_complete, :operation_name,
9
+ :write_cache_policy, :read_cache_policy, :health,
10
+ :adapter_data, :controller
7
11
 
8
12
  def initialize(client:, controller:, id: nil, name: nil, capacity_bytes: nil,
9
- capacity_gb: nil, raid_type: nil, status: nil, encrypted: nil,
10
- adapter_data: nil)
13
+ raid_type: nil, volume_type: nil, drives: nil, encrypted: nil,
14
+ lock_status: nil, stripe_size: nil,
15
+ operation_percent_complete: nil, operation_name: nil,
16
+ write_cache_policy: nil, read_cache_policy: nil,
17
+ health: nil, adapter_data: nil)
11
18
  @client = client
12
19
  @controller = controller
13
20
  @id = id
14
21
  @name = name
15
22
  @capacity_bytes = capacity_bytes
16
- @capacity_gb = capacity_gb || (capacity_bytes ? (capacity_bytes.to_f / (1000**3)).round(2) : nil)
17
23
  @raid_type = raid_type
18
- @status = status
24
+ @volume_type = volume_type
25
+ @drives = Array(drives) # normalized list of drive reference ids (e.g., @odata.id)
19
26
  @encrypted = encrypted
27
+ @lock_status = lock_status
28
+ @stripe_size = stripe_size
29
+ @operation_percent_complete = operation_percent_complete
30
+ @operation_name = operation_name
31
+ @write_cache_policy = write_cache_policy
32
+ @read_cache_policy = read_cache_policy
33
+ @health = health
20
34
  @adapter_data = adapter_data
21
35
  end
22
36
 
@@ -29,12 +43,18 @@ module Radfish
29
43
  id: id,
30
44
  name: name,
31
45
  capacity_bytes: capacity_bytes,
32
- capacity_gb: capacity_gb,
33
46
  raid_type: raid_type,
34
- status: status,
35
- encrypted: encrypted
47
+ volume_type: volume_type,
48
+ drives: drives,
49
+ encrypted: encrypted,
50
+ lock_status: lock_status,
51
+ stripe_size: stripe_size,
52
+ operation_percent_complete: operation_percent_complete,
53
+ operation_name: operation_name,
54
+ write_cache_policy: write_cache_policy,
55
+ read_cache_policy: read_cache_policy,
56
+ health: health
36
57
  }.compact
37
58
  end
38
59
  end
39
60
  end
40
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radfish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel