ibm_power_hmc 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: caf9b3a9dcb79bb47bbe628afda5c77ecf94ec6627dc469b8e1a2f564196c8a3
4
- data.tar.gz: 031cf0f7f98a8800203281e6d7b27b83adce11651363ac3ce01d06d8c9a69865
3
+ metadata.gz: af5d28dd76ae4e57514691d4ab40e023ca18a6a7e71c4691b15c564097920964
4
+ data.tar.gz: 68a2d511853792668bca5247da9c1910725367ff6fb65ec3f21674953b7be876
5
5
  SHA512:
6
- metadata.gz: 305a5f34bb64be2962d639b38df77fed119de4bb4800db6c0c3d0343af5ac04b336020d3ad0c58a91176ed8601d45a06ab0c6e439592accb5759a7e6924739d2
7
- data.tar.gz: 40e6fa63028817a280c26d75a7e0777cb3da60a801ec9dc742fa99405da1fb23343bc79e4b2d81ea145047a6ed1ad06ce72dd681bdc544a685b672a3b92b1805
6
+ metadata.gz: a77ff9b3db36ef774dd64b37d14b5bd57226cbfe31dece9e17c799089c94418d24bea27f2504fbd0ec84d9e3120023a11db1e4619f06e46f92f12c629398d1ff
7
+ data.tar.gz: 0feb113a298fb117d6ef5cbfaf1fbab3b6a7e72bb69a749c7a36bc0255147d1e0b640879acd1e233780eecb8ef96768efe35e43ea56e3c73ecd7914b63387f09
data/.gitignore CHANGED
File without changes
data/.rubocop.yml CHANGED
File without changes
data/.rubocop_local.yml CHANGED
File without changes
data/CHANGELOG.md CHANGED
File without changes
data/Gemfile CHANGED
File without changes
data/LICENSE CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
File without changes
@@ -560,8 +560,8 @@ module IbmPowerHmc
560
560
  break if response.code != 204 || !wait
561
561
  end
562
562
  FeedParser.new(response.body).objects(:Event).map do |e|
563
- data = e.data.split("/")
564
- if data[-2].eql?("UserTask")
563
+ data = e.data.split("/") unless e.data.nil?
564
+ if !data.nil? && data.length >= 2 && data[-2].eql?("UserTask")
565
565
  e.usertask = usertask(data.last)
566
566
  end
567
567
  e
@@ -580,7 +580,7 @@ module IbmPowerHmc
580
580
  if j['status'].eql?("Completed")
581
581
  case j['key']
582
582
  when "TEMPLATE_PARTITION_SAVE", "TEMPLATE_PARTITION_SAVE_AS", "TEMPLATE_PARTITION_CAPTURE"
583
- j['template_uuid'] = templates_summary.select { |t| t.name.eql?(j['labelParams'].first) }.first&.uuid
583
+ j['template_uuid'] = templates_summary.find { |t| t.name.eql?(j['labelParams'].first) }&.uuid
584
584
  end
585
585
  end
586
586
  j
File without changes
@@ -74,9 +74,6 @@ module IbmPowerHmc
74
74
  end
75
75
  end
76
76
 
77
- private_constant :Parser
78
- private_constant :FeedParser
79
-
80
77
  ##
81
78
  # HMC generic K2 non-REST object.
82
79
  # @abstract
@@ -135,6 +132,15 @@ module IbmPowerHmc
135
132
  uuid_from_href(link.attributes["href"], index)
136
133
  end.compact
137
134
  end
135
+
136
+ def collection_of(name, type)
137
+ objtype = Module.const_get("IbmPowerHmc::#{type}")
138
+ xml.get_elements("#{name}/#{type}").map do |elem|
139
+ objtype.new(elem)
140
+ end
141
+ rescue
142
+ []
143
+ end
138
144
  end
139
145
 
140
146
  ##
@@ -190,12 +196,19 @@ module IbmPowerHmc
190
196
  ATTRS = {
191
197
  :name => "ManagementConsoleName",
192
198
  :build_level => "VersionInfo/BuildLevel",
193
- :version => "BaseVersion"
199
+ :version => "BaseVersion",
200
+ :ssh_pubkey => "PublicSSHKeyValue"
194
201
  }.freeze
195
202
 
196
203
  def managed_systems_uuids
197
204
  uuids_from_links("ManagedSystems")
198
205
  end
206
+
207
+ def ssh_authkeys
208
+ xml.get_elements("AuthorizedKeysValue/AuthorizedKey").map do |elem|
209
+ elem.text&.strip
210
+ end.compact
211
+ end
199
212
  end
200
213
 
201
214
  # Managed System information
@@ -232,9 +245,7 @@ module IbmPowerHmc
232
245
  end
233
246
 
234
247
  def io_adapters
235
- xml.get_elements("AssociatedSystemIOConfiguration/IOSlots/IOSlot/RelatedIOAdapter/IOAdapter").map do |elem|
236
- IOAdapter.new(elem)
237
- end
248
+ collection_of("AssociatedSystemIOConfiguration/IOSlots/IOSlot/RelatedIOAdapter", "IOAdapter")
238
249
  end
239
250
 
240
251
  def vswitches_uuids
@@ -277,8 +288,8 @@ module IbmPowerHmc
277
288
  }.freeze
278
289
 
279
290
  def sys_uuid
280
- sys_href = singleton("AssociatedManagedSystem", "href")
281
- uuid_from_href(sys_href)
291
+ href = singleton("AssociatedManagedSystem", "href")
292
+ uuid_from_href(href) unless href.nil?
282
293
  end
283
294
 
284
295
  def net_adap_uuids
@@ -286,9 +297,7 @@ module IbmPowerHmc
286
297
  end
287
298
 
288
299
  def lhea_ports
289
- xml.get_elements("HostEthernetAdapterLogicalPorts/HostEthernetAdapterLogicalPort").map do |elem|
290
- HostEthernetAdapterLogicalPort.new(elem)
291
- end
300
+ collection_of("HostEthernetAdapterLogicalPorts", "HostEthernetAdapterLogicalPort")
292
301
  end
293
302
 
294
303
  def sriov_elp_uuids
@@ -321,9 +330,7 @@ module IbmPowerHmc
321
330
  # VIOS information
322
331
  class VirtualIOServer < BasePartition
323
332
  def pvs
324
- xml.get_elements("PhysicalVolumes/PhysicalVolume").map do |elem|
325
- PhysicalVolume.new(elem)
326
- end
333
+ collection_of("PhysicalVolumes", "PhysicalVolume")
327
334
  end
328
335
 
329
336
  def rep
@@ -332,15 +339,11 @@ module IbmPowerHmc
332
339
  end
333
340
 
334
341
  def vscsi_mappings
335
- xml.get_elements("VirtualSCSIMappings/VirtualSCSIMapping").map do |elem|
336
- VirtualSCSIMapping.new(elem)
337
- end
342
+ collection_of("VirtualSCSIMappings", "VirtualSCSIMapping")
338
343
  end
339
344
 
340
345
  def vfc_mappings
341
- xml.get_elements("VirtualFibreChannelMappings/VirtualFibreChannelMapping").map do |elem|
342
- VirtualFibreChannelMapping.new(elem)
343
- end
346
+ collection_of("VirtualFibreChannelMappings", "VirtualFibreChannelMapping")
344
347
  end
345
348
  end
346
349
 
@@ -390,9 +393,7 @@ module IbmPowerHmc
390
393
  }.freeze
391
394
 
392
395
  def vopts
393
- xml.get_elements("OpticalMedia/VirtualOpticalMedia").map do |elem|
394
- VirtualOpticalMedia.new(elem)
395
- end
396
+ collection_of("OpticalMedia", "VirtualOpticalMedia")
396
397
  end
397
398
  end
398
399
 
@@ -424,7 +425,7 @@ module IbmPowerHmc
424
425
 
425
426
  def vswitch_uuid
426
427
  href = singleton("AssociatedSwitch", "href")
427
- uuid_from_href(href)
428
+ uuid_from_href(href) unless href.nil?
428
429
  end
429
430
 
430
431
  def lpars_uuids
@@ -511,7 +512,7 @@ module IbmPowerHmc
511
512
  class VirtualSCSIMapping < AbstractNonRest
512
513
  def lpar_uuid
513
514
  href = singleton("AssociatedLogicalPartition", "href")
514
- uuid_from_href(href)
515
+ uuid_from_href(href) unless href.nil?
515
516
  end
516
517
 
517
518
  def client
@@ -562,7 +563,7 @@ module IbmPowerHmc
562
563
 
563
564
  def vios_uuid
564
565
  href = singleton("ConnectingPartition", "href")
565
- uuid_from_href(href)
566
+ uuid_from_href(href) unless href.nil?
566
567
  end
567
568
  end
568
569
 
@@ -606,7 +607,7 @@ module IbmPowerHmc
606
607
  class VirtualFibreChannelMapping < AbstractNonRest
607
608
  def lpar_uuid
608
609
  href = singleton("AssociatedLogicalPartition", "href")
609
- uuid_from_href(href)
610
+ uuid_from_href(href) unless href.nil?
610
611
  end
611
612
 
612
613
  def client
@@ -636,16 +637,14 @@ module IbmPowerHmc
636
637
 
637
638
  def lpar_uuid
638
639
  href = singleton("ConnectingPartition", "href")
639
- uuid_from_href(href)
640
+ uuid_from_href(href) unless href.nil?
640
641
  end
641
642
  end
642
643
 
643
644
  # VFC client information
644
645
  class VirtualFibreChannelClientAdapter < VirtualFibreChannelAdapter
645
646
  def nport_loggedin
646
- xml.get_elements("NportLoggedInStatus/VirtualFibreChannelNPortLoginStatus").map do |elem|
647
- VirtualFibreChannelNPortLoginStatus.new(elem)
648
- end
647
+ collection_of("NportLoggedInStatus", "VirtualFibreChannelNPortLoginStatus")
649
648
  end
650
649
 
651
650
  def server
@@ -699,9 +698,7 @@ module IbmPowerHmc
699
698
  }.freeze
700
699
 
701
700
  def pvs
702
- xml.get_elements("PhysicalVolumes/PhysicalVolume").map do |elem|
703
- PhysicalVolume.new(elem)
704
- end
701
+ collection_of("PhysicalVolumes", "PhysicalVolume")
705
702
  end
706
703
  end
707
704
 
@@ -713,15 +710,17 @@ module IbmPowerHmc
713
710
  :tier_capable => "ClusterCapabilities/IsTierCapable"
714
711
  }.freeze
715
712
 
713
+ def repopvs
714
+ collection_of("RepositoryDisk", "PhysicalVolume")
715
+ end
716
+
716
717
  def ssp_uuid
717
718
  href = singleton("ClusterSharedStoragePool", "href")
718
- uuid_from_href(href)
719
+ uuid_from_href(href) unless href.nil?
719
720
  end
720
721
 
721
722
  def nodes
722
- xml.get_elements("Node/Node").map do |elem|
723
- Node.new(elem)
724
- end
723
+ collection_of("Node", "Node")
725
724
  end
726
725
  end
727
726
 
@@ -736,13 +735,14 @@ module IbmPowerHmc
736
735
 
737
736
  def vios_uuid
738
737
  href = singleton("VirtualIOServer", "href")
739
- uuid_from_href(href)
738
+ uuid_from_href(href) unless href.nil?
740
739
  end
741
740
  end
742
741
 
743
742
  # SSP information
744
743
  class SharedStoragePool < AbstractRest
745
744
  ATTRS = {
745
+ :id => "SharedStoragePoolID",
746
746
  :name => "StoragePoolName",
747
747
  :udid => "UniqueDeviceID",
748
748
  :capacity => "Capacity",
@@ -754,13 +754,11 @@ module IbmPowerHmc
754
754
 
755
755
  def cluster_uuid
756
756
  href = singleton("AssociatedCluster", "href")
757
- uuid_from_href(href)
757
+ uuid_from_href(href) unless href.nil?
758
758
  end
759
759
 
760
760
  def pvs
761
- xml.get_elements("PhysicalVolumes/PhysicalVolume").map do |elem|
762
- PhysicalVolume.new(elem)
763
- end
761
+ collection_of("PhysicalVolumes", "PhysicalVolume")
764
762
  end
765
763
 
766
764
  def tiers_uuids
@@ -768,9 +766,7 @@ module IbmPowerHmc
768
766
  end
769
767
 
770
768
  def lus
771
- xml.get_elements("LogicalUnits/LogicalUnit").map do |elem|
772
- LogicalUnit.new(elem)
773
- end
769
+ collection_of("LogicalUnits", "LogicalUnit")
774
770
  end
775
771
  end
776
772
 
@@ -788,7 +784,7 @@ module IbmPowerHmc
788
784
 
789
785
  def ssp_uuid
790
786
  href = singleton("AssociatedSharedStoragePool", "href")
791
- uuid_from_href(href)
787
+ uuid_from_href(href) unless href.nil?
792
788
  end
793
789
 
794
790
  def lus_uuids
File without changes
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmPowerHmc
4
- VERSION = "0.8.0"
4
+ VERSION = "0.8.1"
5
5
  end
data/lib/ibm_power_hmc.rb CHANGED
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm_power_hmc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - IBM Power
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-02 00:00:00.000000000 Z
11
+ date: 2022-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
27
  description: A Ruby gem for interacting with the IBM Hardware Management Console (HMC).
28
- email:
28
+ email:
29
29
  executables: []
30
30
  extensions: []
31
31
  extra_rdoc_files: []
@@ -55,7 +55,7 @@ metadata:
55
55
  homepage_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby
56
56
  source_code_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby
57
57
  changelog_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby/blob/master/CHANGELOG.md
58
- post_install_message:
58
+ post_install_message:
59
59
  rdoc_options: []
60
60
  require_paths:
61
61
  - lib
@@ -70,8 +70,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
72
  requirements: []
73
- rubygems_version: 3.1.4
74
- signing_key:
73
+ rubygems_version: 3.1.2
74
+ signing_key:
75
75
  specification_version: 4
76
76
  summary: IBM Power HMC Ruby gem.
77
77
  test_files: []