qasim/lib/qasim/map/generic.rb

72 lines
1.1 KiB
Ruby

require 'fileutils'
require 'pp'
module Qasim ; module Map; class Generic
attr_reader :links
attr_reader :filename
attr_reader :name
def initialize app_config, params
@app_config = app_config
@links = params[:links]
params.delete :links
@filename = params[:filename]
params.delete :filename
@name = File.basename @filename, '.map'
@params = params
pp @params
end
# Return a list of options for this map type
#
# Format :
# Hash of (name:Symbol * [value:Object, optional:Boolean])
def self.parameters
{
map_name: [nil , true],
map_enable: [true, false],
map_mountpoint: [nil, true]
}
end
#
# Test map liveness (connected & working)
#
# MUST BE IMPLEMENTED BY SUBCLASSES
#
def alive?
raise NotImplementedError
end
#
# Test map
#
# MUST BE IMPLEMENTED BY SUBCLASSES
#
def mounted?
raise NotImplementedError
end
#
# Mount
#
# MUST BE IMPLEMENTED BY SUBCLASSES
#
def mount
raise NotImplementedError
end
#
# Umount
#
# MUST BE IMPLEMENTED BY SUBCLASSES
#
def umount
raise NotImplementedError
end
end ; end ; end