class Volume
Public Class Methods
add(volname)
click to toggle source
# File lib/netapp.rb, line 224 def self.add(volname) # implement me! return false end
container(volname)
click to toggle source
# File lib/netapp.rb, line 242 def self.container(volname) vol_container = @@filer.invoke("volume-container", "volume", volname) raise vol_container.results_reason \ if vol_container.results_status == 'failed' return result = vol_container.child_get_string("containing-aggregate") end
create(aggr, volname, size)
click to toggle source
# File lib/netapp.rb, line 208 def self.create(aggr, volname, size) vol_create = @@filer.invoke("volume-create", "containing-aggr-name", aggr, "volume", volname, "size", size) raise vol_create.results_reason \ if vol_create.results_status == 'failed' return true end
info(volname, verbose=true)
click to toggle source
# File lib/netapp.rb, line 267 def self.info(volname, verbose=true) vol_list_info = @@filer.invoke("volume-list-info", "volume", volname, "verbose", verbose) raise vol_list_info.results_reason \ if vol_list_info.results_status == 'failed' result = {} vol_list_info.child_get("volumes").children_get.each do |key| plexes = {} key.child_get("plexes").children_get.each { |plx| plexes[name: plx.child_get_string("name")] = { isonline: plx.child_get_string("is-online"), isresyncing: plx.child_get_string("is-resyncing"), resyncpercentage: plx.child_get_string("resyncing-percentage") } } result = { name: key.child_get_string("name"), uuid: key.child_get_string("uuid"), type: key.child_get_string("type"), containingaggr: key.child_get_string("containing-aggregate"), sizetotal: key.child_get_string("size-total"), sizeused: key.child_get_string("size-used"), sizeavail: key.child_get_string("size-available"), percentageused: key.child_get_string("percentage-used"), filestotal: key.child_get_string("files-total"), filesused: key.child_get_string("files-used"), cloneparent: key.child_get_string("clone-parent"), clonechildren: key.child_get_string("clone-children"), ischecksumenabled: key.child_get_string("is-checksum-enabled"), checksumstyle: key.child_get_string("checksum-style"), compression: key.child_get_string("compression"), isinconsistent: key.child_get_string("is-inconsistent"), isinvalid: key.child_get_string("is-invalid"), isunrecoverable: key.child_get_string("is-unrecoverable"), iswraparound: key.child_get_string("is-wraparound"), issnaplock: key.child_get_string("is-snaplock"), expirydate: key.child_get_string("expiry-date"), mirrorstatus: key.child_get_string("mirror-status"), raidsize: key.child_get_string("raid-size"), raidstatus: key.child_get_string("raid-status"), owningvfiler: key.child_get_string("owning-vfiler"), quotainit: key.child_get_string("quota-init"), remotelocation: key.child_get_string("remote-location"), reserve: key.child_get_string("reserve"), reserverequired: key.child_get_string("reserve-required"), reserveused: key.child_get_string("reserve-used"), reservedusedact: key.child_get_string("reserve-used-actual"), snaplocktype: key.child_get_string("snaplock-type"), snapshotblkreserved: key.child_get_string("snapshot-blocks-reserved"), snapshotperreserved: key.child_get_string("snapshot-percent-reserved"), spacereserveenabled: key.child_get_string("space-reserve-enabled"), spacereserve: key.child_get_string("space-reserve"), diskcount: key.child_get_string("disk-count"), plexcount: key.child_get_string("plex-count"), plexes: plexes # add SIS and snaplock data } end return result end
list()
click to toggle source
# File lib/netapp.rb, line 257 def self.list vol_list_info = @@filer.invoke("volume-list-info") raise vol_list_info.results_reason \ if vol_list_info.results_status == 'failed' result = [] vol_list_info.child_get("volumes").children_get.each do |key| result << key.child_get_string("name") end return result end
offline(volname)
click to toggle source
# File lib/netapp.rb, line 235 def self.offline(volname) vol_offline = @@filer.invoke("volume-offline", "name", volname) raise vol_offline.results_reason \ if vol_offline.results_status == 'failed' return true end
online(volname)
click to toggle source
# File lib/netapp.rb, line 228 def self.online(volname) vol_online = @@filer.invoke("volume-online", "name", volname) raise vol_online.results_reason \ if vol_online.results_status == 'failed' return true end
purge(volname)
click to toggle source
# File lib/netapp.rb, line 217 def self.purge(volname) vol_destroy = @@filer.invoke("volume-destroy", "name", volname) raise vol_destroy.results_reason \ if vol_destroy.results_status == 'failed' return true end
rename(volname, newname)
click to toggle source
# File lib/netapp.rb, line 249 def self.rename(volname, newname) vol_rename = @@filer.invoke("volume-rename", "volume", volname, "new-volume-name", newname) raise vol_rename.results_reason \ if vol_rename.results_status == 'failed' return true end
resize(volname, newsize)
click to toggle source
# File lib/netapp.rb, line 335 def self.resize(volname, newsize) vol_resize = @@filer.invoke("volume-size", "volume", volname, "new-size", newsize) raise vol_resize.results_reason \ if vol_resize.results_status == 'failed' return true end
size(volname)
click to toggle source
# File lib/netapp.rb, line 328 def self.size(volname) vol_size = @@filer.invoke("volume-size", "volume", volname) raise vol_size.results_reason \ if vol_size.results_status == 'failed' return result = vol_size.child_get_string("volume-size") end