ibm_power_hmc 0.9.0 → 0.10.0

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: 49b7980e12490365221b3fcc8dcb6a867078dc62f44cd1f0646c75d5d1c7c8cc
4
- data.tar.gz: a2f7776c0039c188685e84b72c1a5217cda5252cea0d7d4e142ac734ad32305a
3
+ metadata.gz: ebd50ae53571c98987372d364410261fa5a5440cf23e009c9cf8219eb2e052de
4
+ data.tar.gz: 7514545bd7a9be7e958597b7fdebc161f9ea253b20550165a798765930b09eec
5
5
  SHA512:
6
- metadata.gz: f3bf7576a9eda74a292c74c088c8ed3e88fdde40d94472980600d561563e5998415da26815bfd4d78bf3faade900b22a5a142c67a42e600e7b9c530d8a67e7f8
7
- data.tar.gz: ec3563218f5a20515179073d391a5bb54bc32f361c63eab190193462b3560185354bc2cc9ff73cb78023ece6ca4550d9584abcfabc0a1a2fac2998a63ff8b820
6
+ metadata.gz: 41c1fd98ca6750bad69416b3c29986c432c77d8168d72ae485a90a6199b53716dd214c70f74b4c5971e03845d359f847c15a3958a616debd097effcfc0a5567b
7
+ data.tar.gz: 44f761a7d986716fe2338bceee413785add2fbfdece042022fec02edadcf60d02ea9deb49bad75d0752ea05b64fbe37b36a554d15f7a6e52bb09c62966ab3e9b
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
File without changes
File without changes
@@ -34,7 +34,7 @@ module IbmPowerHmc
34
34
  content = entry.elements["content[@type]"]
35
35
  return if content.nil?
36
36
 
37
- type = content.attributes["type"].split("=").last
37
+ type = content.attributes["type"].split("=")[1] || filter_type.to_s
38
38
  return unless filter_type.nil? || filter_type.to_s == type
39
39
 
40
40
  Module.const_get("IbmPowerHmc::#{type}").new(entry)
@@ -135,7 +135,7 @@ module IbmPowerHmc
135
135
 
136
136
  def collection_of(name, type)
137
137
  objtype = Module.const_get("IbmPowerHmc::#{type}")
138
- xml.get_elements("#{name}/#{type}").map do |elem|
138
+ xml.get_elements([name, type].compact.join("/")).map do |elem|
139
139
  objtype.new(elem)
140
140
  end
141
141
  rescue
@@ -932,4 +932,31 @@ module IbmPowerHmc
932
932
  results
933
933
  end
934
934
  end
935
+
936
+ class ManagementConsolePcmPreference < AbstractRest
937
+ ATTRS = {
938
+ :max_ltm => "MaximumManagedSystemsForLongTermMonitor",
939
+ :max_compute_ltm => "MaximumManagedSystemsForComputeLTM",
940
+ :max_aggregation => "MaximumManagedSystemsForAggregation",
941
+ :max_stm => "MaximumManagedSystemsForShortTermMonitor",
942
+ :max_em => "MaximumManagedSystemsForEnergyMonitor",
943
+ :aggregated_storage_duration => "AggregatedMetricsStorageDuration"
944
+ }.freeze
945
+
946
+ def managed_system_preferences
947
+ collection_of(nil, "ManagedSystemPcmPreference")
948
+ end
949
+ end
950
+
951
+ class ManagedSystemPcmPreference < AbstractNonRest
952
+ ATTRS = {
953
+ :id => "Metadata/Atom/AtomID",
954
+ :name => "SystemName",
955
+ :long_term_monitor => "LongTermMonitorEnabled",
956
+ :aggregation => "AggregationEnabled",
957
+ :short_term_monitor => "ShortTermMonitorEnabled",
958
+ :compute_ltm => "ComputeLTMEnabled",
959
+ :energy_monitor => "EnergyMonitorEnabled"
960
+ }.freeze
961
+ end
935
962
  end
@@ -5,11 +5,24 @@ require 'uri'
5
5
 
6
6
  module IbmPowerHmc
7
7
  class Connection
8
+ ##
9
+ # @!method pcm_preferences
10
+ # Retrieve global Performance and Capacity Monitor preferences for the HMC.
11
+ # @return [Array<IbmPowerHmc::ManagementConsolePcmPreference>] The PCM preferences for the HMC.
8
12
  def pcm_preferences
9
13
  method_url = "/rest/api/pcm/preferences"
10
14
 
11
15
  response = request(:get, method_url)
12
- REXML::Document.new(response.body)
16
+ FeedParser.new(response.body).objects(:ManagementConsolePcmPreference)
17
+ end
18
+
19
+ ##
20
+ # @!method managed_system_pcm_preferences
21
+ # Return Performance and Capacity Monitor preferences for a Managed System.
22
+ # @param sys_uuid [String] The managed system UUID.
23
+ # @return [IbmPowerHmc::ManagedSystemPcmPreference] The PCM preferences for the Managed System.
24
+ def managed_system_pcm_preferences(sys_uuid)
25
+ pcm_preferences.first.managed_system_preferences.find { |p| p.id.eql?(sys_uuid) }
13
26
  end
14
27
 
15
28
  ##
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmPowerHmc
4
- VERSION = "0.9.0"
4
+ VERSION = "0.10.0"
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.9.0
4
+ version: 0.10.0
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: 2022-04-08 00:00:00.000000000 Z
11
+ date: 2022-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  description: A Ruby gem for interacting with the IBM Hardware Management Console (HMC).
42
- email:
42
+ email:
43
43
  executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []
@@ -69,7 +69,7 @@ metadata:
69
69
  homepage_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby
70
70
  source_code_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby
71
71
  changelog_uri: http://github.com/IBM/ibm_power_hmc_sdk_ruby/blob/master/CHANGELOG.md
72
- post_install_message:
72
+ post_install_message:
73
73
  rdoc_options: []
74
74
  require_paths:
75
75
  - lib
@@ -84,8 +84,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.0.3
88
- signing_key:
87
+ rubygems_version: 3.1.2
88
+ signing_key:
89
89
  specification_version: 4
90
90
  summary: IBM Power HMC Ruby gem.
91
91
  test_files: []