class Lsvg
Attributes
active_pvs[R]
auto_on[R]
auto_sync[R]
bb_policy[R]
critical_vg[R]
disk_block_size[R]
free_pps[R]
hot_spare[R]
infinite_retry[R]
ltg_size_dynamic[R]
lvs[R]
max_lvs[R]
max_pps_per_pv[R]
max_pps_per_vg[R]
max_pvs[R]
open_lvs[R]
pp_size[R]
pv_restriction[R]
quorum[R]
stale_pps[R]
stale_pvs[R]
total_pps[R]
total_pvs[R]
used_pps[R]
vg_descriptors[R]
vg_identifier[R]
vg_permission[R]
vg_state[R]
volume_group[R]
Public Class Methods
new(string)
click to toggle source
# File lib/AIX/Lsvg.rb, line 39 def initialize(string) @data_string_raw='' @volume_group = nil @vg_state = nil @vg_identifier = nil @vg_state = nil @pp_size = nil @vg_permission = nil @total_pps = nil @max_lvs = nil @free_pps = nil @used_pps = nil @lvs = nil @open_lvs = nil @quorum = nil @total_pvs = nil @vg_descriptors = nil @active_pvs = nil @stale_pvs = nil @stale_pps = nil @auto_on = nil @max_pps_per_vg = nil @max_pps_per_pv = nil @max_pvs = nil @ltg_size_dynamic = nil @auto_sync = nil @hot_spare = nil @bb_policy = nil @pv_restriction = nil @infinite_retry = nil @disk_block_size = nil @critical_vg = nil if string.length > 0 @data_string_raw = string self.parse(string) end end
Public Instance Methods
parse(string)
click to toggle source
# File lib/AIX/Lsvg.rb, line 85 def parse(string) regexp_long = %r{\s* VOLUME\sGROUP:\s+(\w+)\s+VG\sIDENTIFIER:\s+(\w+)\s+ VG\sSTATE:\s+(active)\s+PP\sSIZE:\s+(\d+\smegabyte\(s\))\s+ VG\sPERMISSION:\s+(read\/write)\s+TOTAL\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ MAX\sLVs:\s+(\d+)\s+FREE\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ LVs:\s+(\d+)\s+USED\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ OPEN\sLVs:\s+(\d+)\s+QUORUM:\s+(\d+)\s+ TOTAL\sPVs:\s+(\d+)\s+VG\s+DESCRIPTORS:\s+(\d+)\s+ STALE\sPVs:\s+(\d+)\s+STALE\sPPs:\s+(\d+)\s+ ACTIVE\sPVs:\s+(\d+)\s+AUTO\sON:\s+(yes|no)\s+ MAX\sPPs\sper\sVG:\s+(\d+)\s+ MAX\sPPs\sper\sPV:\s+(\d+)\s+MAX\s+PVs:\s+(\d+)\s+ LTG\ssize\s\(Dynamic\):\s+(\d+\skilobyte\(s\))\s+AUTO\sSYNC:\s+(yes|no)\s+ HOT\sSPARE:\s+(yes|no)\s+BB\sPOLICY:\s+(relocatable)\s*}mx regexp_critical_vg = %r{\s*VOLUME\sGROUP:\s+(\w+)\s+VG\sIDENTIFIER:\s+(\w+)\s+ VG\sSTATE:\s+(active)\s+PP\sSIZE:\s+(\d+\smegabyte\(s\))\s+ VG\sPERMISSION:\s+(read\/write)\s+TOTAL\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ MAX\sLVs:\s+(\d+)\s+FREE\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ LVs:\s+(\d+)\s+USED\sPPs:\s+(\d+)\s\(\d+\smegabytes\)\s+ OPEN\sLVs:\s+(\d+)\s+QUORUM:\s+(\d+)\s\((Enabled|Disabled)\)\s+ TOTAL\sPVs:\s+(\d+)\s+VG\s+DESCRIPTORS:\s+(\d+)\s+ STALE\sPVs:\s+(\d+)\s+STALE\sPPs:\s+(\d+)\s+ ACTIVE\sPVs:\s+(\d+)\s+AUTO\sON:\s+(yes|no)\s+ MAX\sPPs\sper\sVG:\s+(\d+)\s+ MAX\sPPs\sper\sPV:\s+(\d+)\s+MAX\s+PVs:\s+(\d+)\s+ LTG\ssize\s\(Dynamic\):\s+(\d+\skilobyte\(s\))\s+AUTO\sSYNC:\s+(yes|no)\s+ HOT\sSPARE:\s+(yes|no)\s+BB\sPOLICY:\s+(relocatable|non-relocatable)\s+ PV\sRESTRICTION:\s+(none)\s+INFINITE\sRETRY:\s+(no)\s+ DISK\sBLOCK\sSIZE:\s+(\d+)\s+CRITICAL\sVG:\s+(no)\s* }mx match_long = regexp_long.match(string) match_critical_vg = regexp_critical_vg.match(string) if match_long @volume_group = match_long[1] @vg_identifier = match_long[2] @vg_state = match_long[3] @pp_size = match_long[4] @vg_permission = match_long[5] @total_pps = match_long[6].to_i @max_lvs = match_long[7].to_i @free_pps = match_long[8].to_i @lvs = match_long[9].to_i @used_pps = match_long[10].to_i @open_lvs = match_long[11].to_i @quorum = match_long[12].to_i @total_pvs = match_long[13].to_i @vg_descriptors = match_long[14].to_i @stale_pvs = match_long[15].to_i @stale_pps = match_long[16].to_i @active_pvs = match_long[17].to_i @auto_on = match_long[18] @max_pps_per_vg = match_long[19].to_i @max_pps_per_pv = match_long[20].to_i @max_pvs = match_long[21].to_i @ltg_size_dynamic = match_long[22] @auto_sync = match_long[23] @hot_spare = match_long[24] @bb_policy = match_long[25] elsif match_critical_vg @volume_group = match_critical_vg[1] @vg_identifier = match_critical_vg[2] @vg_state = match_critical_vg[3] @pp_size = match_critical_vg[4] @vg_permission = match_critical_vg[5] @total_pps = match_critical_vg[6].to_i @max_lvs = match_critical_vg[7].to_i @free_pps = match_critical_vg[8].to_i @lvs = match_critical_vg[9].to_i @used_pps = match_critical_vg[10].to_i @open_lvs = match_critical_vg[11].to_i @quorum = match_critical_vg[12].to_i @total_pvs = match_critical_vg[14].to_i @vg_descriptors = match_critical_vg[15].to_i @stale_pvs = match_critical_vg[16].to_i @stale_pps = match_critical_vg[17].to_i @active_pvs = match_critical_vg[18].to_i @auto_on = match_critical_vg[19] @max_pps_per_vg = match_critical_vg[20].to_i @max_pps_per_pv = match_critical_vg[21].to_i @max_pvs = match_critical_vg[22].to_i @ltg_size_dynamic = match_critical_vg[23] @auto_sync = match_critical_vg[24] @hot_spare = match_critical_vg[25] @bb_policy = match_critical_vg[26] @pv_restriction = match_critical_vg[27] @infinite_retry = match_critical_vg[28] @disk_block_size = match_critical_vg[29].to_i @critical_vg = match_critical_vg[30] else #puts "can't analyze string, regexp is not working" #puts string #puts regexp #puts match puts "regexp couldn't decode string >#{string}<" raise end end