Class: Hpe3parSdk::VolumeSetManager
- Inherits:
-
Object
- Object
- Hpe3parSdk::VolumeSetManager
- Defined in:
- lib/Hpe3parSdk/volume_set_manager.rb
Instance Method Summary collapse
-
#add_volumes_to_volume_set(set_name, setmembers) ⇒ Object
QoS Priority Optimization methods.
- #create_snapshot_of_volume_set(name, copy_of_name, optional = nil) ⇒ Object
- #create_volume_set(name, domain = nil, comment = nil, setmembers = nil) ⇒ Object
- #delete_volume_set(name) ⇒ Object
- #find_all_volume_sets(name) ⇒ Object
- #get_volume_set(name) ⇒ Object
- #get_volume_sets ⇒ Object
-
#initialize(http, host_and_vv_set_filter_supported = false) ⇒ VolumeSetManager
constructor
A new instance of VolumeSetManager.
- #modify_volume_set(name, action = nil, newName = nil, comment = nil, flash_cache_policy = nil, setmembers = nil) ⇒ Object
- #remove_volumes_from_volume_set(set_name, setmembers) ⇒ Object
- #volume_set_exists?(name) ⇒ Boolean
Constructor Details
#initialize(http, host_and_vv_set_filter_supported = false) ⇒ VolumeSetManager
Returns a new instance of VolumeSetManager.
18 19 20 21 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 18 def initialize(http, host_and_vv_set_filter_supported = false) @http = http @vv_set_filter_supported = host_and_vv_set_filter_supported end |
Instance Method Details
#add_volumes_to_volume_set(set_name, setmembers) ⇒ Object
QoS Priority Optimization methods
99 100 101 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 99 def add_volumes_to_volume_set(set_name, setmembers) modify_volume_set(set_name, SetCustomAction::MEM_ADD, nil, nil, nil, setmembers) end |
#create_snapshot_of_volume_set(name, copy_of_name, optional = nil) ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 107 def create_snapshot_of_volume_set(name, copy_of_name, optional = nil) parameters = { 'name' => name } parameters = Util.merge_hash(parameters, optional) if optional info = { 'action' => 'createSnapshot', 'parameters' => parameters } response = @http.post("/volumesets/#{copy_of_name}", body: info) response[1] end |
#create_volume_set(name, domain = nil, comment = nil, setmembers = nil) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 61 def create_volume_set(name, domain = nil, comment = nil, setmembers = nil) info = { 'name' => name } info['domain'] = domain if domain info['comment'] = comment if comment if setmembers members = { 'setmembers' => setmembers } info = Util.merge_hash(info, members) end @http.post('/volumesets', body: info) end |
#delete_volume_set(name) ⇒ Object
75 76 77 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 75 def delete_volume_set(name) @http.delete("/volumesets/#{name}")[1] end |
#find_all_volume_sets(name) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 23 def find_all_volume_sets(name) vv_sets = [] if @vv_set_filter_supported query = %("setmembers EQ #{name}") response = @http.get("/volumesets?query=#{query}") volume_sets = response[1]['members'] volume_sets.each do |volume_set| vv_sets.push(VolumeSet.new(volume_set)) end else volume_sets = get_volume_sets volume_sets.each do |volume_set| if !volume_set.setmembers.nil? && !volume_set.setmembers.empty? && volume_set.setmembers.include?(name) vv_sets.push(volume_set) end end end vv_sets end |
#get_volume_set(name) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 52 def get_volume_set(name) if name.nil? || name.strip.empty? raise 'Volume set name cannot be nil or empty' else response = @http.get('/volumesets/' + name) VolumeSet.new(response[1]) end end |
#get_volume_sets ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 43 def get_volume_sets response = @http.get('/volumesets') volume_set_members = [] response[1]['members'].each do |volume_set_member| volume_set_members.push(VolumeSet.new(volume_set_member)) end volume_set_members end |
#modify_volume_set(name, action = nil, newName = nil, comment = nil, flash_cache_policy = nil, setmembers = nil) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 79 def modify_volume_set(name, action = nil, newName = nil, comment = nil, flash_cache_policy = nil, setmembers = nil) info = {} info['action'] = action if action info['newName'] = newName if newName info['comment'] = comment if comment info['flashCachePolicy'] = flash_cache_policy if flash_cache_policy if setmembers members = { 'setmembers' => setmembers } info = Util.merge_hash(info, members) end @http.put("/volumesets/#{name}", body: info)[1] end |
#remove_volumes_from_volume_set(set_name, setmembers) ⇒ Object
103 104 105 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 103 def remove_volumes_from_volume_set(set_name, setmembers) modify_volume_set(set_name, SetCustomAction::MEM_REMOVE, nil, nil, nil, setmembers) end |
#volume_set_exists?(name) ⇒ Boolean
117 118 119 120 121 122 123 124 |
# File 'lib/Hpe3parSdk/volume_set_manager.rb', line 117 def volume_set_exists?(name) begin get_volume_set(name) return true rescue Hpe3parSdk::HTTPNotFound => ex return false end end |