radfish 0.2.5 → 0.2.8

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: b57f1bd62815e2443eadeeb512c54df7c694da3cb11a88317ca0e788748dfdca
4
+ data.tar.gz: 7481606f6651361c81c13a2dc319670d34891affab6540394d30b2730df88a64
5
5
  SHA512:
6
- metadata.gz: 2023d3129b3cac7eb57f0a7d1f2b999700636571a6d21080069ae49137e7efd81aac059a8cdda4419ba8f21daf4216f3b72e8ef1a1c6fcd1569aab88030f9bb9
7
- data.tar.gz: 784a58288211fbfdca734a5581fdaa311f9f32c95edc7240b5ad0eaaa7d64617aa575a8792111d893e2e4d940ba4493a3c6caaaeb3f17d9474a2f94163e54a33
6
+ metadata.gz: da233a9a62801ecf8a50018dbc5e8c73cb7e7582bda980337cd934040f8583883cacfac803f266ce379b616b5a9531f67b97dec2c638e41e46f2f2aff858d56f
7
+ data.tar.gz: 9582794ab67b7e5e60c1bb47b8fd29c6556172e8b89c1309bf3cd1c7ccbc6fe61bb5317bf3077f968cb19102a61282ef49d446ba6afff24bfa1657e5e48c0abc
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,18 @@ 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
+ fastpath: fetch.call(:fastpath),
245
+ health: fetch.call(:health),
238
246
  adapter_data: raw
239
247
  )
240
248
  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.8"
5
5
  end
@@ -2,21 +2,37 @@
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, :fastpath,
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
+ fastpath: nil,
18
+ health: nil, adapter_data: nil)
11
19
  @client = client
12
20
  @controller = controller
13
21
  @id = id
14
22
  @name = name
15
23
  @capacity_bytes = capacity_bytes
16
- @capacity_gb = capacity_gb || (capacity_bytes ? (capacity_bytes.to_f / (1000**3)).round(2) : nil)
17
24
  @raid_type = raid_type
18
- @status = status
25
+ @volume_type = volume_type
26
+ @drives = Array(drives) # normalized list of drive reference ids (e.g., @odata.id)
19
27
  @encrypted = encrypted
28
+ @lock_status = lock_status
29
+ @stripe_size = stripe_size
30
+ @operation_percent_complete = operation_percent_complete
31
+ @operation_name = operation_name
32
+ @write_cache_policy = write_cache_policy
33
+ @read_cache_policy = read_cache_policy
34
+ @fastpath = fastpath
35
+ @health = health
20
36
  @adapter_data = adapter_data
21
37
  end
22
38
 
@@ -29,12 +45,19 @@ module Radfish
29
45
  id: id,
30
46
  name: name,
31
47
  capacity_bytes: capacity_bytes,
32
- capacity_gb: capacity_gb,
33
48
  raid_type: raid_type,
34
- status: status,
35
- encrypted: encrypted
49
+ volume_type: volume_type,
50
+ drives: drives,
51
+ encrypted: encrypted,
52
+ lock_status: lock_status,
53
+ stripe_size: stripe_size,
54
+ operation_percent_complete: operation_percent_complete,
55
+ operation_name: operation_name,
56
+ write_cache_policy: write_cache_policy,
57
+ read_cache_policy: read_cache_policy,
58
+ fastpath: fastpath,
59
+ health: health
36
60
  }.compact
37
61
  end
38
62
  end
39
63
  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.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel