Module: Morpheus::Cli::StorageServersHelper
- Included in:
- StorageServerTypes, StorageServers
- Defined in:
- lib/morpheus/cli/mixins/storage_servers_helper.rb
Overview
including storage servers and storage server types
Class Method Summary collapse
Instance Method Summary collapse
- #find_storage_server_by_id(id) ⇒ Object
- #find_storage_server_by_name(name) ⇒ Object
- #find_storage_server_by_name_or_id(val) ⇒ Object
- #find_storage_server_type_by_id(id) ⇒ Object
- #find_storage_server_type_by_name(name) ⇒ Object
- #find_storage_server_type_by_name_or_id(val) ⇒ Object
- #get_available_storage_server_types(refresh = false) ⇒ Object
- #storage_server_label ⇒ Object
- #storage_server_label_plural ⇒ Object
- #storage_server_list_key ⇒ Object
- #storage_server_object_key ⇒ Object
- #storage_server_type_for_id(id) ⇒ Object
- #storage_server_type_for_name(name) ⇒ Object
- #storage_server_type_for_name_or_id(val) ⇒ Object
- #storage_server_type_label ⇒ Object
- #storage_server_type_label_plural ⇒ Object
- #storage_server_type_list_key ⇒ Object
- #storage_server_type_object_key ⇒ Object
- #storage_server_types_interface ⇒ Object
- #storage_servers_interface ⇒ Object
Class Method Details
.included(klass) ⇒ Object
9 10 11 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 9 def self.included(klass) klass.send :include, Morpheus::Cli::PrintHelper end |
Instance Method Details
#find_storage_server_by_id(id) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 65 def find_storage_server_by_id(id) begin json_response = storage_servers_interface.get(id.to_i) return json_response[storage_server_object_key] rescue RestClient::Exception => e if e.response && e.response.code == 404 print_red_alert "Storage Server not found by id #{id}" else raise e end end end |
#find_storage_server_by_name(name) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 78 def find_storage_server_by_name(name) lbs = storage_servers_interface.list({name: name.to_s})[storage_server_list_key] if lbs.empty? print_red_alert "Storage Server not found by name #{name}" return nil elsif lbs.size > 1 print_red_alert "#{lbs.size} storage servers found by name #{name}" #print_lbs_table(lbs, {color: red}) print reset,"\n\n" return nil else return lbs[0] end end |
#find_storage_server_by_name_or_id(val) ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 57 def find_storage_server_by_name_or_id(val) if val.to_s =~ /\A\d{1,}\Z/ return find_storage_server_by_id(val) else return find_storage_server_by_name(val) end end |
#find_storage_server_type_by_id(id) ⇒ Object
124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 124 def find_storage_server_type_by_id(id) begin json_response = storage_server_types_interface.get(id.to_i) return json_response[storage_server_type_object_key] rescue RestClient::Exception => e if e.response && e.response.code == 404 print_red_alert "Storage Server Type not found by id #{id}" return nil else raise e end end end |
#find_storage_server_type_by_name(name) ⇒ Object
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 138 def find_storage_server_type_by_name(name) json_response = storage_server_types_interface.list({name: name.to_s}) storage_server_types = json_response[storage_server_type_list_key] if storage_server_types.empty? print_red_alert "Storage Server Type not found by name #{name}" return storage_server_types elsif storage_server_types.size > 1 print_red_alert "#{storage_server_types.size} storage server types found by name #{name}" rows = storage_server_types.collect do |it| {id: it['id'], name: it['name']} end puts as_pretty_table(rows, [:id, :name], {color:red}) return nil else return storage_server_types[0] end end |
#find_storage_server_type_by_name_or_id(val) ⇒ Object
116 117 118 119 120 121 122 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 116 def find_storage_server_type_by_name_or_id(val) if val.to_s =~ /\A\d{1,}\Z/ return find_storage_server_type_by_id(val) else return find_storage_server_type_by_name(val) end end |
#get_available_storage_server_types(refresh = false) ⇒ Object
93 94 95 96 97 98 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 93 def get_available_storage_server_types(refresh=false) if !@available_storage_server_types || refresh @available_storage_server_types = storage_server_types_interface.list({max:1000})[storage_server_type_list_key] end return @available_storage_server_types end |
#storage_server_label ⇒ Object
33 34 35 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 33 def storage_server_label 'Storage Server' end |
#storage_server_label_plural ⇒ Object
37 38 39 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 37 def storage_server_label_plural 'Storage Server' end |
#storage_server_list_key ⇒ Object
29 30 31 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 29 def storage_server_list_key 'storageServers' end |
#storage_server_object_key ⇒ Object
25 26 27 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 25 def storage_server_object_key 'storageServer' end |
#storage_server_type_for_id(id) ⇒ Object
108 109 110 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 108 def storage_server_type_for_id(id) return get_available_storage_server_types().find { |z| z['id'].to_i == id.to_i} end |
#storage_server_type_for_name(name) ⇒ Object
112 113 114 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 112 def storage_server_type_for_name(name) return get_available_storage_server_types().find { |z| z['name'].downcase == name.downcase || z['code'].downcase == name.downcase} end |
#storage_server_type_for_name_or_id(val) ⇒ Object
100 101 102 103 104 105 106 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 100 def storage_server_type_for_name_or_id(val) if val.to_s =~ /\A\d{1,}\Z/ return storage_server_type_for_id(val) else return storage_server_type_for_name(val) end end |
#storage_server_type_label ⇒ Object
49 50 51 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 49 def storage_server_type_label 'Storage Server Type' end |
#storage_server_type_label_plural ⇒ Object
53 54 55 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 53 def storage_server_type_label_plural 'Storage Server Types' end |
#storage_server_type_list_key ⇒ Object
45 46 47 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 45 def storage_server_type_list_key 'storageServerTypes' end |
#storage_server_type_object_key ⇒ Object
41 42 43 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 41 def storage_server_type_object_key 'storageServerType' end |
#storage_server_types_interface ⇒ Object
19 20 21 22 23 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 19 def storage_server_types_interface # @api_client.storage_server_types raise "#{self.class} has not defined @storage_server_types_interface" if @storage_server_types_interface.nil? @storage_server_types_interface end |
#storage_servers_interface ⇒ Object
13 14 15 16 17 |
# File 'lib/morpheus/cli/mixins/storage_servers_helper.rb', line 13 def storage_servers_interface # @api_client.storage_servers raise "#{self.class} has not defined @storage_servers_interface" if @storage_servers_interface.nil? @storage_servers_interface end |