Class: IbmPowerHmc::BasePartition

Inherits:
AbstractRest show all
Defined in:
lib/ibm_power_hmc/schema/uom.rb

Overview

Common class for LPAR and VIOS

Direct Known Subclasses

LogicalPartition, VirtualIOServer

Constant Summary collapse

ATTRS =
{
  :name => "PartitionName",
  :id => "PartitionID",
  :state => "PartitionState",
  :type => "PartitionType",
  :memory => "PartitionMemoryConfiguration/CurrentMemory",
  :desired_memory => "PartitionMemoryConfiguration/DesiredMemory",
  :min_memory => "PartitionMemoryConfiguration/MinimumMemory",
  :max_memory => "PartitionMemoryConfiguration/MaximumMemory",
  :ams => "PartitionMemoryConfiguration/ActiveMemorySharingEnabled",
  :shared_mem => "PartitionMemoryConfiguration/SharedMemoryEnabled",
  :dedicated => "PartitionProcessorConfiguration/CurrentHasDedicatedProcessors",
  :sharing_mode => "PartitionProcessorConfiguration/CurrentSharingMode",
  :uncapped_weight => "PartitionProcessorConfiguration/CurrentSharedProcessorConfiguration/CurrentUncappedWeight",
  :desired_uncapped_weight => "PartitionProcessorConfiguration/SharedProcessorConfiguration/UncappedWeight",
  :rmc_state => "ResourceMonitoringControlState",
  :rmc_ipaddr => "ResourceMonitoringIPAddress",
  :os => "OperatingSystemVersion",
  :ref_code => "ReferenceCode",
  :procs => "PartitionProcessorConfiguration/CurrentDedicatedProcessorConfiguration/CurrentProcessors",
  :desired_procs => "PartitionProcessorConfiguration/DedicatedProcessorConfiguration/DesiredProcessors",
  :minimum_procs => "PartitionProcessorConfiguration/DedicatedProcessorConfiguration/MinimumProcessors",
  :maximum_procs => "PartitionProcessorConfiguration/DedicatedProcessorConfiguration/MaximumProcessors",
  :proc_units => "PartitionProcessorConfiguration/CurrentSharedProcessorConfiguration/CurrentProcessingUnits",
  :vprocs => "PartitionProcessorConfiguration/CurrentSharedProcessorConfiguration/AllocatedVirtualProcessors",
  :desired_proc_units => "PartitionProcessorConfiguration/SharedProcessorConfiguration/DesiredProcessingUnits",
  :desired_vprocs => "PartitionProcessorConfiguration/SharedProcessorConfiguration/DesiredVirtualProcessors",
  :minimum_proc_units => "PartitionProcessorConfiguration/SharedProcessorConfiguration/MinimumProcessingUnits",
  :minimum_vprocs => "PartitionProcessorConfiguration/SharedProcessorConfiguration/MinimumVirtualProcessors",
  :maximum_proc_units => "PartitionProcessorConfiguration/SharedProcessorConfiguration/MaximumProcessingUnits",
  :maximum_vprocs => "PartitionProcessorConfiguration/SharedProcessorConfiguration/MaximumVirtualProcessors",
  :cpu_compat_mode => "CurrentProcessorCompatibilityMode",
  :description => "Description"
}.freeze

Instance Attribute Summary

Attributes inherited from AbstractRest

#content_type, #etag, #href, #published, #uuid

Attributes inherited from AbstractNonRest

#xml

Instance Method Summary collapse

Methods inherited from AbstractRest

#initialize, #to_s

Methods inherited from AbstractNonRest

#collection_of, #create_element, #initialize, marshal, #marshal, #singleton, #timestamp, #to_s, #uuid_from_href, #uuids_from_links

Constructor Details

This class inherits a constructor from IbmPowerHmc::AbstractRest

Instance Method Details

#capabilitiesObject



280
281
282
283
284
# File 'lib/ibm_power_hmc/schema/uom.rb', line 280

def capabilities
  xml.get_elements("PartitionCapabilities/*").map do |elem|
    elem.name if elem.text&.strip == "true"
  end.compact
end

#group_uuidsObject



264
265
266
# File 'lib/ibm_power_hmc/schema/uom.rb', line 264

def group_uuids
  uuids_from_links("AssociatedGroups")
end

#io_adaptersObject

Deprecated: use io_slots.io_adapter



287
288
289
# File 'lib/ibm_power_hmc/schema/uom.rb', line 287

def io_adapters
  collection_of("PartitionIOConfiguration/ProfileIOSlots/ProfileIOSlot/AssociatedIOSlot/RelatedIOAdapter", "*[1]")
end

#io_slotsObject



291
292
293
294
295
# File 'lib/ibm_power_hmc/schema/uom.rb', line 291

def io_slots
  xml.get_elements("PartitionIOConfiguration/ProfileIOSlots/ProfileIOSlot/AssociatedIOSlot").map do |elem|
    IOSlot.new(elem)
  end.compact
end

#lhea_portsObject



272
273
274
# File 'lib/ibm_power_hmc/schema/uom.rb', line 272

def lhea_ports
  collection_of("HostEthernetAdapterLogicalPorts", "HostEthernetAdapterLogicalPort")
end

#net_adap_uuidsObject



268
269
270
# File 'lib/ibm_power_hmc/schema/uom.rb', line 268

def net_adap_uuids
  uuids_from_links("ClientNetworkAdapters")
end

#paging_vios_uuidObject



302
303
304
305
# File 'lib/ibm_power_hmc/schema/uom.rb', line 302

def paging_vios_uuid
  href = singleton("PartitionMemoryConfiguration/CurrentPagingServicePartition", "href")
  uuid_from_href(href) unless href.nil?
end

#paging_vios_uuidsObject



307
308
309
310
311
312
# File 'lib/ibm_power_hmc/schema/uom.rb', line 307

def paging_vios_uuids
  ["PrimaryPagingServicePartition", "SecondaryPagingServicePartition"].map do |name|
    href = singleton("PartitionMemoryConfiguration/#{name}", "href")
    uuid_from_href(href) unless href.nil?
  end
end

#shared_processor_pool_uuidObject



297
298
299
300
# File 'lib/ibm_power_hmc/schema/uom.rb', line 297

def shared_processor_pool_uuid
  href = singleton("ProcessorPool", "href")
  uuid_from_href(href) unless href.nil?
end

#sriov_elp_uuidsObject



276
277
278
# File 'lib/ibm_power_hmc/schema/uom.rb', line 276

def sriov_elp_uuids
  uuids_from_links("SRIOVEthernetLogicalPorts")
end

#sys_uuidObject



259
260
261
262
# File 'lib/ibm_power_hmc/schema/uom.rb', line 259

def sys_uuid
  href = singleton("AssociatedManagedSystem", "href")
  uuid_from_href(href) unless href.nil?
end