Class: Lumberg::Whm::Server
Instance Attribute Summary collapse
-
#base_url ⇒ Object
Base URL to the WHM API.
-
#basic_auth ⇒ Object
Enable Basic Authentication with API - default false.
-
#boolean_params ⇒ Object
Returned params to transfor to booleans.
-
#force_response_type ⇒ Object
Force response type…ARG!.
-
#function ⇒ Object
readonly
WHM API function name.
-
#hash ⇒ Object
Remote access hash.
-
#host ⇒ Object
Server.
-
#params ⇒ Object
HTTP Params used for API requests.
-
#response ⇒ Object
readonly
WHM parsed response.
-
#ssl ⇒ Object
Use ssl?.
-
#ssl_verify ⇒ Object
HTTP SSL verify mode.
-
#timeout ⇒ Object
HTTP read/open timeout.
-
#user ⇒ Object
API username - default: root.
-
#whostmgr ⇒ Object
Whostmgr.
Attributes inherited from Base
Instance Method Summary collapse
- #account ⇒ Object
- #add_ip(options = {}) ⇒ Object
- #cert ⇒ Object
- #delete_ip(options = {}) ⇒ Object
- #disk_usage ⇒ Object
- #dns ⇒ Object
- #edit_hook(options = {}) ⇒ Object
- #get_hostname ⇒ Object
- #get_nv_var(options = {}) ⇒ Object
- #get_tweaksetting(options = {}) ⇒ Object
-
#initialize(options) ⇒ Server
constructor
Required *
:host
- PENDING *:hash
- PENDING. - #languages ⇒ Object
- #list_hooks ⇒ Object
- #list_ips ⇒ Object
- #load_average ⇒ Object
-
#lookup_nameserver_ip(options = {}) ⇒ Object
Public: Gets IP address for a given hostname.
- #perform_request(function, options = {}) {|_self| ... } ⇒ Object
- #reboot ⇒ Object
- #reseller ⇒ Object
- #set_hostname(options = {}) ⇒ Object
- #set_nv_var(options = {}) ⇒ Object
- #set_resolvers(options = {}) ⇒ Object
- #set_tweaksetting(options = {}) ⇒ Object
- #show_bandwidth(options = {}) ⇒ Object
- #system_load_average(options = {}) ⇒ Object
- #themes ⇒ Object
- #transfer_tool ⇒ Object
- #version ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(options) ⇒ Server
Required
* <tt>:host</tt> - PENDING
* <tt>:hash</tt> - PENDING
Optional
* <tt>:user</tt> - PENDING
* <tt>:ssl</tt> - PENDING
* <tt>:basic_auth</tt>
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/lumberg/whm/server.rb', line 57 def initialize() @ssl_verify ||= false @ssl = .delete(:ssl) @host = .delete(:host) validate_server_host @hash = format_hash(.delete(:hash)) @user = (.has_key?(:user) ? .delete(:user) : 'root') @basic_auth = .delete(:basic_auth) @timeout = .delete(:timeout) @whostmgr = .delete(:whostmgr) @base_url = format_url() end |
Instance Attribute Details
#base_url ⇒ Object
Base URL to the WHM API
13 14 15 |
# File 'lib/lumberg/whm/server.rb', line 13 def base_url @base_url end |
#basic_auth ⇒ Object
Enable Basic Authentication with API - default false
16 17 18 |
# File 'lib/lumberg/whm/server.rb', line 16 def basic_auth @basic_auth end |
#boolean_params ⇒ Object
Returned params to transfor to booleans
37 38 39 |
# File 'lib/lumberg/whm/server.rb', line 37 def boolean_params @boolean_params end |
#force_response_type ⇒ Object
Force response type…ARG!
40 41 42 |
# File 'lib/lumberg/whm/server.rb', line 40 def force_response_type @force_response_type end |
#function ⇒ Object (readonly)
WHM API function name
28 29 30 |
# File 'lib/lumberg/whm/server.rb', line 28 def function @function end |
#hash ⇒ Object
Remote access hash
10 11 12 |
# File 'lib/lumberg/whm/server.rb', line 10 def hash @hash end |
#host ⇒ Object
Server
7 8 9 |
# File 'lib/lumberg/whm/server.rb', line 7 def host @host end |
#params ⇒ Object
HTTP Params used for API requests
25 26 27 |
# File 'lib/lumberg/whm/server.rb', line 25 def params @params end |
#response ⇒ Object (readonly)
WHM parsed response
22 23 24 |
# File 'lib/lumberg/whm/server.rb', line 22 def response @response end |
#ssl ⇒ Object
Use ssl?
31 32 33 |
# File 'lib/lumberg/whm/server.rb', line 31 def ssl @ssl end |
#ssl_verify ⇒ Object
HTTP SSL verify mode
34 35 36 |
# File 'lib/lumberg/whm/server.rb', line 34 def ssl_verify @ssl_verify end |
#timeout ⇒ Object
HTTP read/open timeout
43 44 45 |
# File 'lib/lumberg/whm/server.rb', line 43 def timeout @timeout end |
#user ⇒ Object
API username - default: root
19 20 21 |
# File 'lib/lumberg/whm/server.rb', line 19 def user @user end |
#whostmgr ⇒ Object
Whostmgr
46 47 48 |
# File 'lib/lumberg/whm/server.rb', line 46 def whostmgr @whostmgr end |
Instance Method Details
#account ⇒ Object
219 220 221 |
# File 'lib/lumberg/whm/server.rb', line 219 def account @account ||= Account.new(server: self) end |
#add_ip(options = {}) ⇒ Object
141 142 143 |
# File 'lib/lumberg/whm/server.rb', line 141 def add_ip( = {}) perform_request('addip', .merge(response_key: 'addip')) end |
#cert ⇒ Object
231 232 233 |
# File 'lib/lumberg/whm/server.rb', line 231 def cert @cert ||= Cert.new(server: self) end |
#delete_ip(options = {}) ⇒ Object
145 146 147 |
# File 'lib/lumberg/whm/server.rb', line 145 def delete_ip( = {}) perform_request('delip', .merge(response_key: 'delip')) end |
#disk_usage ⇒ Object
193 194 195 196 197 198 199 200 201 |
# File 'lib/lumberg/whm/server.rb', line 193 def disk_usage request = perform_request('getdiskusage', response_key: 'data', :'api.version' => 1) request[:success] = request.has_key?(:params) request end |
#dns ⇒ Object
223 224 225 |
# File 'lib/lumberg/whm/server.rb', line 223 def dns @dns ||= Dns.new(server: self) end |
#edit_hook(options = {}) ⇒ Object
183 184 185 186 187 188 189 190 191 |
# File 'lib/lumberg/whm/server.rb', line 183 def edit_hook( = {}) request = perform_request('edit_hook', .merge(:'api.version' => 1, response_key: 'metadata')) request[:success] = request[:params][:reason] == 'OK' request end |
#get_hostname ⇒ Object
86 87 88 |
# File 'lib/lumberg/whm/server.rb', line 86 def get_hostname perform_request('gethostname', {response_key: 'hostname'}) end |
#get_nv_var(options = {}) ⇒ Object
165 166 167 |
# File 'lib/lumberg/whm/server.rb', line 165 def get_nv_var( = {}) perform_request('nvget', .merge(response_key: 'nvget')) end |
#get_tweaksetting(options = {}) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/lumberg/whm/server.rb', line 117 def get_tweaksetting( = {}) request = perform_request('get_tweaksetting', .merge( response_key: 'data', :'api.version' => 1 ) ) request[:success] = !request[:params].empty? request end |
#languages ⇒ Object
105 106 107 |
# File 'lib/lumberg/whm/server.rb', line 105 def languages perform_request('getlanglist', {response_key: 'lang'}) end |
#list_hooks ⇒ Object
173 174 175 176 177 178 179 180 181 |
# File 'lib/lumberg/whm/server.rb', line 173 def list_hooks request = perform_request('list_hooks', response_key: 'data', :'api.version' => 1) request[:success] = request.has_key?(:params) request end |
#list_ips ⇒ Object
113 114 115 |
# File 'lib/lumberg/whm/server.rb', line 113 def list_ips perform_request('listips', {response_key: 'result'}) end |
#load_average ⇒ Object
94 95 96 97 98 99 |
# File 'lib/lumberg/whm/server.rb', line 94 def load_average @force_response_type = :query result = perform_request('loadavg') result[:success] = result[:params].has_key?(:one) result end |
#lookup_nameserver_ip(options = {}) ⇒ Object
Public: Gets IP address for a given hostname.
options - Hash of options (default: {})
:host - String host name
Returns a Hash API Response
209 210 211 212 213 214 215 216 217 |
# File 'lib/lumberg/whm/server.rb', line 209 def lookup_nameserver_ip( = {}) request = perform_request('lookupnsip', .merge(:'api.version' => 1, response_key: 'data')) request[:success] = request[:params].has_key?(:ip) request end |
#perform_request(function, options = {}) {|_self| ... } ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/lumberg/whm/server.rb', line 72 def perform_request(function, = {}) # WHM sometime uses different keys for the result hash @response_key = .delete(:response_key) || 'result' @whostmgr = .delete(:whostmgr) @base_url = format_url() if @whostmgr @function = function @params = format_query() yield self if block_given? do_request(@base_url, function, @params) end |
#reboot ⇒ Object
169 170 171 |
# File 'lib/lumberg/whm/server.rb', line 169 def reboot perform_request('reboot', {response_key: "reboot"}) end |
#reseller ⇒ Object
227 228 229 |
# File 'lib/lumberg/whm/server.rb', line 227 def reseller @reseller ||= Reseller.new(server: self) end |
#set_hostname(options = {}) ⇒ Object
149 150 151 |
# File 'lib/lumberg/whm/server.rb', line 149 def set_hostname( = {}) perform_request('sethostname', .merge(response_key: 'sethostname')) end |
#set_nv_var(options = {}) ⇒ Object
161 162 163 |
# File 'lib/lumberg/whm/server.rb', line 161 def set_nv_var( = {}) perform_request('nvset', .merge(response_key: 'nvset')) end |
#set_resolvers(options = {}) ⇒ Object
153 154 155 |
# File 'lib/lumberg/whm/server.rb', line 153 def set_resolvers( = {}) perform_request('setresolvers', .merge(response_key: 'setresolvers')) end |
#set_tweaksetting(options = {}) ⇒ Object
129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/lumberg/whm/server.rb', line 129 def set_tweaksetting( = {}) request = perform_request('set_tweaksetting', .merge( response_key: 'metadata', :'api.version' => 1 ) ) request[:success] = (request[:params][:reason] == 'OK') request end |
#show_bandwidth(options = {}) ⇒ Object
157 158 159 |
# File 'lib/lumberg/whm/server.rb', line 157 def show_bandwidth( = {}) perform_request('showbw', .merge(response_key: 'bandwidth')) end |
#system_load_average(options = {}) ⇒ Object
101 102 103 |
# File 'lib/lumberg/whm/server.rb', line 101 def system_load_average( = {}) perform_request('systemloadavg', .merge(response_key: 'data')) end |
#themes ⇒ Object
109 110 111 |
# File 'lib/lumberg/whm/server.rb', line 109 def themes perform_request('getlanglist', {response_key: 'themes'}) end |
#transfer_tool ⇒ Object
235 236 237 |
# File 'lib/lumberg/whm/server.rb', line 235 def transfer_tool @transfer_tool ||= TransferTool.new(server: self) end |
#version ⇒ Object
90 91 92 |
# File 'lib/lumberg/whm/server.rb', line 90 def version perform_request('version', {response_key: 'version'}) end |