class Filer
connect to filer, assign object
Public Class Methods
info()
click to toggle source
# File lib/netapp.rb, line 60 def self.info system_info = @@filer.invoke("system-get-info") raise system_info.results_reason \ if system_info.results_status == 'failed' result = {} system_info.child_get("system-info").children_get.each do |key| result = { systemid: key.child_get_string("system-id"), systemname: key.child_get_string("system-name"), systemmodel: key.child_get_string("system-model"), systemmachinetype: key.child_get_string("system-machine-type"), systemrev: key.child_get_string("system-revision"), systemserialno: key.child_get_string("system-serial-number"), vendorid: key.child_get_string("vendor-id"), prodtype: key.child_get_string("prod-type"), partnersystemid: key.child_get_string("partner-system-id"), partnersystemname: key.child_get_string("partner-system-name"), partnersystemserialno: key.child_get_string("partner-system-serial-number"), backplanepartno: key.child_get_string("backplane-part-number"), backplanerev: key.child_get_string("backplane-revision"), processorsno: key.child_get_string("number-of-processors"), memorysize: key.child_get_string("memory-size"), cpuserialno: key.child_get_string("cpu-serial-number"), cpurev: key.child_get_string("cpu-revision"), cputype: key.child_get_string("cpu-processor-type"), cpuid: key.child_get_string("cpu-processor-id"), cpupartno: key.child_get_string("cpu-part-number"), cpumicrocodeversion: key.child_get_string("cpu-microcode-version"), cpufirmwarerel: key.child_get_string("cpu-firmware-release"), cpuciobrevid: key.child_get_string("cpu-ciob-revision-id"), supportsraidarray: key.child_get_string("supports-raid-array"), controlleraddress: key.child_get_string("controller-address"), boardtype: key.child_get_string("board-type"), boardspeed: key.child_get_string("board-speed") } end return result end
is_clustered?()
click to toggle source
# File lib/netapp.rb, line 44 def self.is_clustered? sys_version = @@filer.invoke("system-get-version") raise sys_version.results_reason \ if sys_version.results_status == 'failed' return sys_version.child_get_string("version") =~ /Cluster-Mode/ ? true : false end
is_ha?()
click to toggle source
# File lib/netapp.rb, line 50 def self.is_ha? cf_status = @@filer.invoke("cf-status") return false if cf_status.results_status == 'failed' \ and cf_status.results_reason == 'monitor not initialiazed' raise cf_status.results_reason if cf_status.results_status == 'failed' return result = cf_status.child_get_string("is-enabled") end
is_secure?()
click to toggle source
# File lib/netapp.rb, line 40 def self.is_secure? https = @@filer.use_https return true if https end
new(filer, username, password, secure=true, type=filer)
click to toggle source
# File lib/netapp.rb, line 24 def initialize(filer, username, password, secure=true, type=filer) @@filer = NaServer.new(filer, 1, 17) # specifies API version (1.17) if secure # connect via SSL/TLS @@filer.set_transport_type("HTTPS") raise 'insecure connection!' unless @@filer.use_https @@filer.set_admin_user(username, password) else # non-encrypted connection @@filer.set_admin_user(username, password) end # TODO: implement NaServer::set_server_type for NetApp DFM/Filer # TODO: implement different login styles (usr,pwd - cert - ...) # see also - NaServer::set_style end
set_vfiler(vfilername)
click to toggle source
# File lib/netapp.rb, line 57 def self.set_vfiler(vfilername) return true if @@filer.set_vfiler(vfilername) end