lumberg 1.0.6 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/lumberg.rb +0 -1
- data/lib/lumberg/version.rb +1 -1
- data/lib/lumberg/whm/account.rb +24 -101
- data/lib/lumberg/whm/base.rb +3 -7
- data/lib/lumberg/whm/dns.rb +21 -73
- data/lib/lumberg/whm/reseller.rb +20 -113
- data/lib/lumberg/whm/server.rb +12 -63
- data/spec/whm/account_spec.rb +40 -198
- data/spec/whm/base_spec.rb +0 -4
- data/spec/whm/dns_spec.rb +5 -123
- data/spec/whm/reseller_spec.rb +11 -79
- data/spec/whm/server_spec.rb +8 -37
- metadata +4 -82
- data/lib/lumberg/whm/args.rb +0 -113
- data/spec/whm/args_spec.rb +0 -179
data/lib/lumberg.rb
CHANGED
data/lib/lumberg/version.rb
CHANGED
data/lib/lumberg/whm/account.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
module Lumberg
|
2
2
|
module Whm
|
3
3
|
# Some WHM functions require different params for the same 'thing'
|
4
|
-
# e.g. some accept 'username' while others accept 'user'
|
5
|
-
# Be sure to keep our API consistent and work around those inconsistencies internally
|
4
|
+
# e.g. some accept 'username' while others accept 'user'
|
5
|
+
# Be sure to keep our API consistent and work around those inconsistencies internally
|
6
6
|
class Account < Base
|
7
7
|
|
8
8
|
# Creates a hosting account and sets up its associated domain information
|
9
9
|
#
|
10
|
-
# ==== Required
|
10
|
+
# ==== Required
|
11
11
|
# * <tt>:username</tt> - PENDING
|
12
12
|
# * <tt>:domain</tt> - PENDING
|
13
13
|
# * <tt>:password</tt> - PENDING
|
14
14
|
#
|
15
|
-
# ==== Optional
|
15
|
+
# ==== Optional
|
16
16
|
# * <tt>:plan</tt> - PENDING
|
17
17
|
# * <tt>:pkgname</tt> - PENDING
|
18
18
|
# * <tt>:savepkg</tt> - PENDING
|
@@ -22,43 +22,24 @@ module Lumberg
|
|
22
22
|
# * <tt>:cgi</tt> - PENDING
|
23
23
|
# * <tt>:</tt> - PENDING
|
24
24
|
def create(options = {})
|
25
|
-
Args.new(options) do |c|
|
26
|
-
c.requires :username, :domain, :password
|
27
|
-
c.booleans :savepkg, :ip, :cgi, :frontpage, :hasshell, :useregns, :reseller, :forcedns
|
28
|
-
c.optionals :plan, :pkgname, :savepkg, :featurelist, :quota, :ip, :cgi,
|
29
|
-
:frontpage, :hasshell, :contactemail, :cpmod, :maxftp, :maxsql, :maxpop, :maxlst,
|
30
|
-
:maxsub, :maxpark, :maxaddon, :bwlimit, :customip, :language, :useregns, :hasuseregns,
|
31
|
-
:reseller, :forcedns, :mxcheck
|
32
|
-
end
|
33
|
-
|
34
25
|
server.perform_request('createacct', options)
|
35
26
|
end
|
36
27
|
|
37
28
|
# Permanently removes a cPanel account
|
38
29
|
#
|
39
|
-
# ==== Required
|
30
|
+
# ==== Required
|
40
31
|
# * <tt>:username</tt> - PENDING
|
41
32
|
def remove(options = {})
|
42
|
-
Args.new(options) do |c|
|
43
|
-
c.requires :username
|
44
|
-
c.booleans :keepdns
|
45
|
-
end
|
46
|
-
|
47
33
|
options[:user] = options.delete(:username)
|
48
34
|
server.perform_request('removeacct', options)
|
49
35
|
end
|
50
36
|
|
51
37
|
# Changes the password of a domain owner (cPanel) or reseller (WHM) account
|
52
38
|
#
|
53
|
-
# ==== Required
|
39
|
+
# ==== Required
|
54
40
|
# * <tt>:username</tt> - PENDING
|
55
41
|
# * <tt>:password</tt> - PENDING
|
56
42
|
def change_password(options = {})
|
57
|
-
Args.new(options) do |c|
|
58
|
-
c.requires :username, :password
|
59
|
-
c.booleans :db_pass_update
|
60
|
-
end
|
61
|
-
|
62
43
|
options[:user] = options.delete(:username)
|
63
44
|
options[:pass] = options.delete(:password)
|
64
45
|
server.perform_request('passwd', options.merge(:key => 'passwd'))
|
@@ -66,27 +47,19 @@ module Lumberg
|
|
66
47
|
|
67
48
|
# Displays pertinent information about a specific account
|
68
49
|
#
|
69
|
-
# ==== Required
|
50
|
+
# ==== Required
|
70
51
|
# * <tt>:username</tt> - PENDING
|
71
52
|
def summary(options = {})
|
72
|
-
Args.new(options) do |c|
|
73
|
-
c.requires :username
|
74
|
-
end
|
75
|
-
|
76
53
|
options[:user] = options.delete(:username)
|
77
54
|
server.perform_request('accountsummary', options)
|
78
55
|
end
|
79
56
|
|
80
57
|
# Modifies the bandwidth usage (transfer) limit for a specific account
|
81
58
|
#
|
82
|
-
# ==== Required
|
59
|
+
# ==== Required
|
83
60
|
# * <tt>:username</tt> - PENDING
|
84
61
|
# * <tt>:bwlimit</tt> - PENDING
|
85
62
|
def limit_bandwidth(options = {})
|
86
|
-
Args.new(options) do |c|
|
87
|
-
c.requires :username, :bwlimit
|
88
|
-
end
|
89
|
-
|
90
63
|
verify_user(options[:username]) do
|
91
64
|
options[:user] = options.delete(:username)
|
92
65
|
server.perform_request('limitbw', options) do |s|
|
@@ -98,14 +71,10 @@ module Lumberg
|
|
98
71
|
# Lists all accounts on the server, and also allows you to search for a specific account or set of accounts
|
99
72
|
|
100
73
|
#
|
101
|
-
# ==== Optional
|
74
|
+
# ==== Optional
|
102
75
|
# * <tt>:searchtype</tt> - PENDING
|
103
76
|
# * <tt>:search</tt> - PENDING
|
104
77
|
def list(options = {})
|
105
|
-
Args.new(options) do |c|
|
106
|
-
c.optionals :searchtype, :search
|
107
|
-
end
|
108
|
-
|
109
78
|
server.perform_request('listaccts', options) do |s|
|
110
79
|
s.boolean_params = :suspended
|
111
80
|
end
|
@@ -113,10 +82,10 @@ module Lumberg
|
|
113
82
|
|
114
83
|
# Modifies settings for an account
|
115
84
|
#
|
116
|
-
# ==== Required
|
85
|
+
# ==== Required
|
117
86
|
# * <tt>:username</tt> - PENDING
|
118
87
|
#
|
119
|
-
# ==== Optional
|
88
|
+
# ==== Optional
|
120
89
|
# * <tt>:domain</tt> - PENDING
|
121
90
|
# * <tt>:newuser</tt> - PENDING
|
122
91
|
# * <tt>:owner</tt> - PENDING
|
@@ -133,11 +102,6 @@ module Lumberg
|
|
133
102
|
# * <tt>:MAXADDON</tt> - PENDING
|
134
103
|
# * <tt>:shell</tt> - PENDING
|
135
104
|
def modify(options = {})
|
136
|
-
Args.new(options) do |c|
|
137
|
-
c.requires :username
|
138
|
-
c.optionals :domain, :newuser, :owner, :CPTHEME, :HASCGI, :LANG, :LOCALE, :MAXFTP, :MAXSQL, :MAXPOP, :MAXLST, :MAXSUB, :MAXPARK, :MAXADDON, :shell
|
139
|
-
end
|
140
|
-
|
141
105
|
options[:user] = options.delete(:username)
|
142
106
|
server.perform_request('modifyacct', options) do |s|
|
143
107
|
s.boolean_params = :DEMO
|
@@ -146,24 +110,20 @@ module Lumberg
|
|
146
110
|
|
147
111
|
# Changes an account's disk space usage quota
|
148
112
|
#
|
149
|
-
# ==== Required
|
113
|
+
# ==== Required
|
150
114
|
# * <tt>:username</tt> - PENDING
|
151
115
|
# * <tt>:quota</tt> - PENDING
|
152
116
|
def edit_quota(options = {})
|
153
|
-
Args.new(options) do |c|
|
154
|
-
c.requires :username, :quota
|
155
|
-
end
|
156
|
-
|
157
117
|
options[:user] = options.delete(:username)
|
158
118
|
server.perform_request('editquota', options)
|
159
119
|
end
|
160
120
|
|
161
121
|
# Adds a new hosting package
|
162
122
|
#
|
163
|
-
# ==== Required
|
123
|
+
# ==== Required
|
164
124
|
# * <tt>:name</tt> - PENDING
|
165
125
|
#
|
166
|
-
# ==== Optional
|
126
|
+
# ==== Optional
|
167
127
|
# * <tt>:featurelist</tt> - PENDING
|
168
128
|
# * <tt>:quota</tt> - PENDING
|
169
129
|
# * <tt>:ip</tt> - PENDING
|
@@ -181,38 +141,24 @@ module Lumberg
|
|
181
141
|
# * <tt>:hasshell</tt> - PENDING
|
182
142
|
# * <tt>:bwlimit</tt> - PENDING
|
183
143
|
def add_package(options = {})
|
184
|
-
Args.new(options) do |c|
|
185
|
-
c.requires :name
|
186
|
-
c.optionals :featurelist, :quota, :ip, :cgi, :frontpage, :cpmod, :language, :maxftp, :maxsql, :maxpop, :maxlists, :maxsub, :maxpark, :maxaddon, :hasshell, :bwlimit
|
187
|
-
c.booleans :ip, :cgi, :frontpage, :hasshell
|
188
|
-
end
|
189
|
-
|
190
144
|
server.perform_request('addpkg', options)
|
191
145
|
end
|
192
146
|
|
193
147
|
# Changes the hosting package associated with a cPanel account
|
194
148
|
#
|
195
|
-
# ==== Required
|
149
|
+
# ==== Required
|
196
150
|
# * <tt>:username</tt> - PENDING
|
197
151
|
# * <tt>:pkg</tt> - PENDING
|
198
152
|
def change_package(options = {})
|
199
|
-
Args.new(options) do |c|
|
200
|
-
c.requires :username, :pkg
|
201
|
-
end
|
202
|
-
|
203
153
|
options[:user] = options.delete(:username)
|
204
154
|
server.perform_request('changepackage', options)
|
205
155
|
end
|
206
156
|
|
207
157
|
# Obtains user data for a specific domain
|
208
158
|
#
|
209
|
-
# ==== Required
|
159
|
+
# ==== Required
|
210
160
|
# * <tt>:domain</tt> - PENDING
|
211
161
|
def domain_user_data(options = {})
|
212
|
-
Args.new(options) do |c|
|
213
|
-
c.requires :domain
|
214
|
-
end
|
215
|
-
|
216
162
|
server.perform_request('domainuserdata', options.merge(:key => 'userdata')) do |s|
|
217
163
|
s.boolean_params = :hascgi
|
218
164
|
end
|
@@ -220,30 +166,21 @@ module Lumberg
|
|
220
166
|
|
221
167
|
# Prevents a cPanel user from accessing his or her account. Once an account is suspended, it can be un-suspended to allow a user to access the account again
|
222
168
|
#
|
223
|
-
# ==== Required
|
169
|
+
# ==== Required
|
224
170
|
# * <tt>:username</tt> - PENDING
|
225
171
|
#
|
226
|
-
# ==== Optional
|
172
|
+
# ==== Optional
|
227
173
|
# * <tt>:reason</tt> - PENDING
|
228
174
|
def suspend(options ={})
|
229
|
-
Args.new(options) do |c|
|
230
|
-
c.requires :username
|
231
|
-
c.optionals :reason
|
232
|
-
end
|
233
|
-
|
234
175
|
options[:user] = options.delete(:username)
|
235
176
|
server.perform_request('suspendacct', options)
|
236
177
|
end
|
237
178
|
|
238
179
|
# Unsuspend a suspended account. When a user's account is unsuspended, he or she will be able to access cPanel again
|
239
180
|
#
|
240
|
-
# ==== Required
|
181
|
+
# ==== Required
|
241
182
|
# * <tt>:username</tt> - PENDING
|
242
183
|
def unsuspend(options ={})
|
243
|
-
Args.new(options) do |c|
|
244
|
-
c.requires :username
|
245
|
-
end
|
246
|
-
|
247
184
|
options[:user] = options.delete(:username)
|
248
185
|
server.perform_request('unsuspendacct', options)
|
249
186
|
end
|
@@ -255,13 +192,9 @@ module Lumberg
|
|
255
192
|
|
256
193
|
# Generates a list of features you are allowed to use in WHM. Each feature will display either a 1 or 0. You are only able to use features with a corresponding 1
|
257
194
|
#
|
258
|
-
# ==== Required
|
195
|
+
# ==== Required
|
259
196
|
# * <tt>:username</tt> - PENDING
|
260
197
|
def privs(options ={})
|
261
|
-
Args.new(options) do |c|
|
262
|
-
c.requires :username
|
263
|
-
end
|
264
|
-
|
265
198
|
verify_user(options[:username]) do
|
266
199
|
resp = server.perform_request('myprivs', options.merge(:key => 'privs')) do |s|
|
267
200
|
s.boolean_params = :all
|
@@ -274,21 +207,16 @@ module Lumberg
|
|
274
207
|
|
275
208
|
# Changes the IP address of a website, or a user account, hosted on your server
|
276
209
|
#
|
277
|
-
# ==== Required
|
210
|
+
# ==== Required
|
278
211
|
# * <tt>:ip</tt> - PENDING
|
279
212
|
def set_site_ip(options = {})
|
280
|
-
Args.new(options) do |c|
|
281
|
-
c.requires :ip
|
282
|
-
c.one_of :username, :domain
|
283
|
-
end
|
284
|
-
|
285
213
|
options[:user] = options.delete(:username) if options[:username]
|
286
214
|
server.perform_request('setsiteip', options)
|
287
215
|
end
|
288
216
|
|
289
217
|
# Restores a user's account from a backup file. You may restore a monthly, weekly, or daily backup
|
290
218
|
#
|
291
|
-
# ==== Required
|
219
|
+
# ==== Required
|
292
220
|
# * <tt>:username</tt> - PENDING
|
293
221
|
# * <tt>:type</tt> - PENDING
|
294
222
|
# * <tt>:all</tt> - PENDING
|
@@ -297,18 +225,13 @@ module Lumberg
|
|
297
225
|
# * <tt>:mysql</tt> - PENDING
|
298
226
|
# * <tt>:subs</tt> - PENDING
|
299
227
|
def restore_account(options = {})
|
300
|
-
Args.new(options) do |c|
|
301
|
-
c.requires "api.version".to_sym, :username, :type, :all, :ip, :mail, :mysql, :subs
|
302
|
-
c.booleans :all, :ip, :mail, :mysql, :subs
|
303
|
-
end
|
304
|
-
|
305
228
|
options[:user] = options.delete(:username) if options[:username]
|
306
229
|
server.perform_request('restoreaccount', options.merge(:key => 'metadata'))
|
307
230
|
end
|
308
231
|
|
309
|
-
protected
|
232
|
+
protected
|
310
233
|
# Some WHM API methods always return a result, even if the user
|
311
|
-
# doesn't actually exist. This makes it seem like your request
|
234
|
+
# doesn't actually exist. This makes it seem like your request
|
312
235
|
# was successful when it really wasn't
|
313
236
|
#
|
314
237
|
# Example
|
data/lib/lumberg/whm/base.rb
CHANGED
@@ -5,18 +5,14 @@ module Lumberg
|
|
5
5
|
attr_accessor :server
|
6
6
|
|
7
7
|
#
|
8
|
-
# ==== Required
|
8
|
+
# ==== Required
|
9
9
|
# * <tt>:server</tt> - PENDING
|
10
10
|
def initialize(options = {})
|
11
|
-
|
12
|
-
c.requires :server
|
13
|
-
end
|
14
|
-
|
15
|
-
@server = setup_server options.delete(:server)
|
11
|
+
@server = setup_server options.delete(:server)
|
16
12
|
end
|
17
13
|
|
18
14
|
def setup_server(value)
|
19
|
-
if value.is_a?(Whm::Server)
|
15
|
+
if value.is_a?(Whm::Server)
|
20
16
|
value
|
21
17
|
else
|
22
18
|
Whm::Server.new value
|
data/lib/lumberg/whm/dns.rb
CHANGED
@@ -4,28 +4,23 @@ module Lumberg
|
|
4
4
|
# Creates a DNS zone. All zone information other than domain name and IP address is created based on the standard zone template in WHM.
|
5
5
|
# Your MX, nameserver, domain PTR, and A records will all be generated automatically
|
6
6
|
#
|
7
|
-
# ==== Required
|
7
|
+
# ==== Required
|
8
8
|
# * <tt>:domain</tt> - PENDING
|
9
9
|
# * <tt>:ip</tt> - PENDING
|
10
10
|
#
|
11
|
-
# ==== Optional
|
11
|
+
# ==== Optional
|
12
12
|
# * <tt>:template</tt> - PENDING
|
13
13
|
# * <tt>:trueowner</tt> - PENDING
|
14
14
|
def add_zone(options = {})
|
15
|
-
Args.new(options) do |c|
|
16
|
-
c.requires :domain, :ip
|
17
|
-
c.optionals :template, :trueowner
|
18
|
-
end
|
19
|
-
|
20
15
|
server.perform_request('adddns', options)
|
21
16
|
end
|
22
17
|
|
23
18
|
# Adds a DNS zone record to the server
|
24
19
|
#
|
25
|
-
# ==== Required
|
20
|
+
# ==== Required
|
26
21
|
# * <tt>:zone</tt> - PENDING
|
27
22
|
#
|
28
|
-
# ==== Optional
|
23
|
+
# ==== Optional
|
29
24
|
# * <tt>:name</tt> - PENDING
|
30
25
|
# * <tt>:address</tt> - PENDING
|
31
26
|
# * <tt>:type</tt> - PENDING
|
@@ -37,11 +32,6 @@ module Lumberg
|
|
37
32
|
# * <tt>:preference</tt> - PENDING
|
38
33
|
# * <tt>:ttl</tt> - PENDING
|
39
34
|
def add_zone_record(options = {})
|
40
|
-
Args.new(options) do |c|
|
41
|
-
c.requires :zone
|
42
|
-
c.optionals :name, :address, :type, :class, :cname, :exchange, :nsdname, :ptdrname, :preference, :ttl
|
43
|
-
end
|
44
|
-
|
45
35
|
server.perform_request('addzonerecord', options)
|
46
36
|
end
|
47
37
|
|
@@ -51,56 +41,44 @@ module Lumberg
|
|
51
41
|
end
|
52
42
|
|
53
43
|
# Return zone records for a domain.
|
54
|
-
#
|
55
|
-
# To use this function most effectively, you may first wish to run the dumpzone function for the domain(s) whose record(s) you wish to retrieve.
|
44
|
+
#
|
45
|
+
# To use this function most effectively, you may first wish to run the dumpzone function for the domain(s) whose record(s) you wish to retrieve.
|
56
46
|
# The Line output variable from that function call can then be used as a reference to create the input for this function.
|
57
47
|
#
|
58
|
-
# ==== Required
|
48
|
+
# ==== Required
|
59
49
|
# * <tt>:domain</tt> - PENDING
|
60
50
|
# * <tt>:Line</tt> - PENDING
|
61
51
|
def get_zone_record(options = {})
|
62
|
-
Args.new(options) do |c|
|
63
|
-
c.requires :domain, :Line
|
64
|
-
end
|
65
|
-
|
66
52
|
server.perform_request('getzonerecord', options)
|
67
53
|
end
|
68
54
|
|
69
55
|
# Displays the DNS zone configuration for a specific domain
|
70
56
|
#
|
71
|
-
# ==== Required
|
57
|
+
# ==== Required
|
72
58
|
# * <tt>:domain</tt> - PENDING
|
73
59
|
def dump_zone(options = {})
|
74
|
-
Args.new(options) do |c|
|
75
|
-
c.requires :domain
|
76
|
-
end
|
77
|
-
|
78
60
|
server.perform_request('dumpzone', options)
|
79
61
|
end
|
80
62
|
|
81
63
|
# Attempts to resolve an IP address for a specified domain name
|
82
64
|
#
|
83
|
-
# ==== Required
|
65
|
+
# ==== Required
|
84
66
|
# * <tt>:domain</tt> - PENDING
|
85
67
|
# * <tt>:"api.version".to_sym</tt> - PENDING
|
86
68
|
def resolve_domain(options = {})
|
87
|
-
Args.new(options) do |c|
|
88
|
-
c.requires :domain, "api.version".to_sym
|
89
|
-
end
|
90
|
-
|
91
69
|
server.perform_request('resolvedomainname', options.merge(:key => 'data'))
|
92
70
|
end
|
93
71
|
|
94
72
|
# Allows you to edit a DNS zone record on the server.
|
95
73
|
#
|
96
|
-
# To use this function most effectively, you should first run the dumpzone function for the domain(s) whose record(s) you wish to edit.
|
74
|
+
# To use this function most effectively, you should first run the dumpzone function for the domain(s) whose record(s) you wish to edit.
|
97
75
|
# The output of that function call will be used as a reference to create the input for this function.
|
98
76
|
#
|
99
|
-
# ==== Required
|
77
|
+
# ==== Required
|
100
78
|
# * <tt>:domain</tt> - PENDING
|
101
79
|
# * <tt>:Line</tt> - PENDING
|
102
80
|
#
|
103
|
-
# ==== Optional
|
81
|
+
# ==== Optional
|
104
82
|
# * <tt>:address</tt> - PENDING
|
105
83
|
# * <tt>:class</tt> - PENDING
|
106
84
|
# * <tt>:cname</tt> - PENDING
|
@@ -110,68 +88,46 @@ module Lumberg
|
|
110
88
|
# * <tt>:minimum</tt> - PENDING
|
111
89
|
# * <tt>:mname</tt> - PENDING
|
112
90
|
def edit_zone_record(options = {})
|
113
|
-
Args.new(options) do |c|
|
114
|
-
c.requires :domain, :Line
|
115
|
-
c.optionals :address, :class, :cname, :exchange, :preference, :expire, :minimum, :mname,
|
116
|
-
:name, :nsdname, :raw, :refresh, :retry, :rname, :serial, :ttl, :type, :txtdata
|
117
|
-
end
|
118
|
-
|
119
91
|
server.perform_request('editzonerecord', options)
|
120
92
|
end
|
121
93
|
|
122
94
|
# Deletes a DNS zone
|
123
95
|
#
|
124
|
-
# ==== Required
|
96
|
+
# ==== Required
|
125
97
|
# * <tt>:domain</tt> - PENDING
|
126
98
|
def kill_dns(options = {})
|
127
|
-
Args.new(options) do |c|
|
128
|
-
c.requires :domain
|
129
|
-
end
|
130
|
-
|
131
99
|
server.perform_request('killdns', options)
|
132
100
|
end
|
133
101
|
|
134
102
|
# Obtains the IP address of a registered nameserver from the root nameservers
|
135
103
|
#
|
136
|
-
# ==== Required
|
104
|
+
# ==== Required
|
137
105
|
# * <tt>:nameserver</tt> - PENDING
|
138
106
|
def lookup_nameserver_ip(options = {})
|
139
|
-
Args.new(options) do |c|
|
140
|
-
c.requires :nameserver
|
141
|
-
end
|
142
|
-
|
143
107
|
server.perform_request('lookupnsip', options.merge(:key => 'ip'))
|
144
108
|
end
|
145
109
|
|
146
110
|
# Allows you to remove a DNS zone record from the server.
|
147
|
-
#
|
148
|
-
# To use this function most effectively, you should first run the dumpzone function for the domain(s) whose record(s) you wish to remove.
|
111
|
+
#
|
112
|
+
# To use this function most effectively, you should first run the dumpzone function for the domain(s) whose record(s) you wish to remove.
|
149
113
|
# The output of that function call will be used as a reference to create the input for this function.
|
150
114
|
#
|
151
|
-
# ==== Required
|
115
|
+
# ==== Required
|
152
116
|
# * <tt>:zone</tt> - PENDING
|
153
117
|
# * <tt>:Line</tt> - PENDING
|
154
118
|
def remove_zone_record(options = {})
|
155
|
-
Args.new(options) do |c|
|
156
|
-
c.requires :zone, :Line
|
157
|
-
end
|
158
|
-
|
159
119
|
server.perform_request('removezonerecord', options)
|
160
120
|
end
|
161
121
|
|
162
122
|
# Restore a DNS zone to its default values. This includes any subdomain DNS records associated with the domain.
|
163
|
-
#
|
164
|
-
# This function can be useful for restoring DNS zones that have become corrupted or have been improperly edited.
|
123
|
+
#
|
124
|
+
# This function can be useful for restoring DNS zones that have become corrupted or have been improperly edited.
|
165
125
|
# It will also restore zone file subdomains listed in the server's httpd.conf file, along with default settings for new accounts.
|
166
126
|
#
|
167
|
-
# ==== Required
|
127
|
+
# ==== Required
|
168
128
|
# * <tt>:domain</tt> - PENDING
|
169
129
|
# * <tt>:zone</tt> - PENDING
|
170
130
|
def reset_zone(options = {})
|
171
|
-
Args.new(options) do |c|
|
172
|
-
c.requires :domain, :zone
|
173
|
-
end
|
174
|
-
|
175
131
|
server.perform_request('resetzone', options)
|
176
132
|
end
|
177
133
|
|
@@ -179,14 +135,10 @@ module Lumberg
|
|
179
135
|
#
|
180
136
|
# *This function is only available in version 11.27/11.28+*
|
181
137
|
#
|
182
|
-
# ==== Required
|
138
|
+
# ==== Required
|
183
139
|
# * <tt>:domain</tt> - PENDING
|
184
140
|
# * <tt>:"api.version".to_sym</tt> - PENDING
|
185
141
|
def list_mxs(options = {})
|
186
|
-
Args.new(options) do |c|
|
187
|
-
c.requires :domain, "api.version".to_sym
|
188
|
-
end
|
189
|
-
|
190
142
|
server.perform_request('listmxs', options.merge(:key => 'data'))
|
191
143
|
end
|
192
144
|
|
@@ -194,10 +146,6 @@ module Lumberg
|
|
194
146
|
#
|
195
147
|
# *This function is only available in version 11.27/11.28+*
|
196
148
|
def save_mx(options = {})
|
197
|
-
Args.new(options) do |c|
|
198
|
-
c.requires "api.version".to_sym, :domain, :name, :exchange, :preference
|
199
|
-
end
|
200
|
-
|
201
149
|
server.perform_request('savemxs', options)
|
202
150
|
end
|
203
151
|
end
|