cozaepp 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG CHANGED
@@ -1,3 +1,9 @@
1
+ Version 0.0.5
2
+ *New EPP messages -
3
+ -cancel_action() - cancels pending events
4
+ -add_ns() - adds a new NS record for a domain
5
+ -delete_ns() - deletes an NS record from a domain
6
+
1
7
  Version 0.0.4
2
8
  *Merge https://github.com/tgenov/cozaepp/commit/4605eb8107d259bc38dc3571381934be4368c92d
3
9
 
data/erb/add_ns.erb ADDED
@@ -0,0 +1,18 @@
1
+ <epp:epp xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain=
2
+ "urn:ietf:params:xml:ns:domain-1.0">
3
+ <epp:command>
4
+ <epp:update>
5
+ <domain:update>
6
+ <domain:name><%= domainName %></domain:name>
7
+ <domain:add>
8
+ <domain:ns>
9
+ <domain:hostAttr>
10
+ <domain:hostName><%= nsHostname1 %></domain:hostName>
11
+ <domain:hostAddr ip="v4"><%= nsipv4Address1 %></domain:hostAddr>
12
+ </domain:hostAttr>
13
+ </domain:ns>
14
+ </domain:add>
15
+ </domain:update>
16
+ </epp:update>
17
+ </epp:command>
18
+ </epp:epp>
@@ -0,0 +1,16 @@
1
+ <epp:epp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
2
+ xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:cozadomain="http://co.za/epp/extensions/cozadomain-1-0"
3
+ xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
4
+ <epp:command>
5
+ <epp:update>
6
+ <domain:update xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
7
+ <domain:name><%= domainName %></domain:name>
8
+ </domain:update>
9
+ </epp:update>
10
+ <epp:extension>
11
+ <cozadomain:update xsi:schemaLocation="http://co.za/epp/extensions/cozadomain-1-0 coza-domain-1.0.xsd"
12
+ cancelPendingAction="<%= actionName %>">
13
+ </cozadomain:update>
14
+ </epp:extension>
15
+ </epp:command>
16
+ </epp:epp>
data/erb/delete_ns.erb ADDED
@@ -0,0 +1,17 @@
1
+ <epp:epp xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain=
2
+ "urn:ietf:params:xml:ns:domain-1.0">
3
+ <epp:command>
4
+ <epp:update>
5
+ <domain:update>
6
+ <domain:name><%= domainName %></domain:name>
7
+ <domain:rem>
8
+ <domain:ns>
9
+ <domain:hostAttr>
10
+ <domain:hostName><%= nsHostname %></domain:hostName>
11
+ </domain:hostAttr>
12
+ </domain:ns>
13
+ </domain:rem>
14
+ </domain:update>
15
+ </epp:update>
16
+ </epp:command>
17
+ </epp:epp>
@@ -1,3 +1,3 @@
1
1
  module Cozaepp
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/cozaepp.rb CHANGED
@@ -7,7 +7,7 @@ require "cozaepp/version"
7
7
 
8
8
  module CozaEPP
9
9
  class Client
10
- def initialize(server, tag, password, sslcert = nil, sslkey = nil, port = 3121)
10
+ def initialize(server, tag, password, sslcert = nil, sslkey = nil, port = 3121)
11
11
  raise ArgumentError unless server and tag and password
12
12
  @gemRoot = Gem::Specification.find_by_name("cozaepp").gem_dir
13
13
  @eppTag = tag
@@ -32,7 +32,7 @@ module CozaEPP
32
32
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
33
33
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid}
34
34
  end
35
-
35
+
36
36
  def logout
37
37
  cltrid = gen_cltrid
38
38
  xml = ERB.new(File.read(@gemRoot + "/erb/logout.erb")).result(binding)
@@ -42,7 +42,7 @@ module CozaEPP
42
42
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
43
43
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
44
44
  end
45
-
45
+
46
46
  def poll
47
47
  cltrid = gen_cltrid
48
48
  xml = ERB.new(File.read(@gemRoot + "/erb/poll.erb")).result(binding)
@@ -57,7 +57,7 @@ module CozaEPP
57
57
  :cltrid => cltrid, \
58
58
  :svtrid => svtrid
59
59
  }
60
- elsif statusCode == "1301"
60
+ elsif statusCode == "1301"
61
61
  msgId = Hpricot::XML(result).at("//epp:epp//epp:response//epp:msgQ")[:id]
62
62
  msgDate = Hpricot::XML(result).at("//epp:epp//epp:response//epp:msgQ//epp:qDate/")
63
63
  msgText = Hpricot::XML(result).at("//epp:epp//epp:response//epp:msgQ//epp:msg/")
@@ -72,7 +72,7 @@ module CozaEPP
72
72
  :msgtext => msgText}
73
73
  end
74
74
  end
75
-
75
+
76
76
  def ack(messageId)
77
77
  cltrid = gen_cltrid
78
78
  xml = ERB.new(File.read(@gemRoot + "/erb/poll_ack.erb")).result(binding)
@@ -82,7 +82,30 @@ module CozaEPP
82
82
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
83
83
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
84
84
  end
85
-
85
+
86
+ def add_ns_host(domainName,
87
+ nsHostname1,
88
+ nsipv4Address1)
89
+ cltrid = gen_cltrid
90
+ xml = ERB.new(File.read(@gemRoot + "/erb/add_ns.erb")).result(binding)
91
+ result = @epp.send_request(xml)
92
+ statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
93
+ statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
94
+ svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
95
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
96
+ end
97
+
98
+ def cancel_action(domainName,
99
+ actionName)
100
+ cltrid = gen_cltrid
101
+ xml = ERB.new(File.read(@gemRoot + "/erb/cancel_action.erb")).result(binding)
102
+ result = @epp.send_request(xml)
103
+ statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
104
+ statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
105
+ svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
106
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
107
+ end
108
+
86
109
  def create_contact(contactId,
87
110
  contactName,
88
111
  contactOrg,
@@ -106,7 +129,7 @@ module CozaEPP
106
129
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
107
130
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
108
131
  end
109
-
132
+
110
133
  def update_contact(contactId,
111
134
  contactName,
112
135
  contactOrg,
@@ -130,7 +153,7 @@ module CozaEPP
130
153
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
131
154
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
132
155
  end
133
-
156
+
134
157
  def update_domain_registrant(domainName,registrant)
135
158
  cltrid = gen_cltrid
136
159
  xml = ERB.new(File.read(@gemRoot + "/erb/update_domain_registrant.erb")).result(binding)
@@ -140,7 +163,7 @@ module CozaEPP
140
163
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
141
164
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
142
165
  end
143
-
166
+
144
167
  def update_domain_ns(domainName,
145
168
  nsHostname1,
146
169
  nsipv4Address1,
@@ -153,7 +176,7 @@ module CozaEPP
153
176
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
154
177
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
155
178
  end
156
-
179
+
157
180
  def info_contact(contactId,contactPassword)
158
181
  cltrid = gen_cltrid
159
182
  xml = ERB.new(File.read(@gemRoot + "/erb/info_contact.erb")).result(binding)
@@ -164,11 +187,11 @@ module CozaEPP
164
187
  if statusCode == "1000" then
165
188
  resData = Hpricot::XML(result).at("//epp:epp//epp:response//epp:resData//")
166
189
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :resdata => resData }
167
- else
190
+ else
168
191
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
169
192
  end
170
193
  end
171
-
194
+
172
195
  def info_contact_linkeddomains(contactId,contactPassword)
173
196
  cltrid = gen_cltrid
174
197
  xml = ERB.new(File.read(@gemRoot + "/erb/info_contact_coza.erb")).result(binding)
@@ -179,7 +202,7 @@ module CozaEPP
179
202
  domainData = Hpricot::XML(result).at("//epp:epp//epp:response//epp:extension//cozac:infData//")
180
203
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :domaindata => domainData }
181
204
  end
182
-
205
+
183
206
  def info_balance(contactId)
184
207
  cltrid = gen_cltrid
185
208
  xml = ERB.new(File.read(@gemRoot + "/erb/info_balance.erb")).result(binding)
@@ -190,7 +213,7 @@ module CozaEPP
190
213
  balance = Hpricot::XML(result).at("//epp:epp//epp:response//epp:extension//cozac:balance/")
191
214
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :balance => balance}
192
215
  end
193
-
216
+
194
217
  def info_domain(domainName)
195
218
  cltrid = gen_cltrid
196
219
  xml = ERB.new(File.read(@gemRoot + "/erb/info_domain.erb")).result(binding)
@@ -210,11 +233,11 @@ module CozaEPP
210
233
  infoDomain[:domainNs] << ns
211
234
  end
212
235
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :resdata => infoDomain }
213
- else
236
+ else
214
237
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
215
238
  end
216
239
  end
217
-
240
+
218
241
  def create_host(serverHostname, ipv4Address, ipv6Address=nil)
219
242
  cltrid = gen_cltrid
220
243
  xml = ERB.new(File.read(@gemRoot + "/erb/create_host.erb")).result(binding)
@@ -224,23 +247,23 @@ module CozaEPP
224
247
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
225
248
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
226
249
  end
227
-
250
+
228
251
  def create_domain_with_ns(domainName,
229
252
  registrant,
230
253
  nsHostname1,
231
254
  nsHostname2,
232
255
  domainSecret
233
256
  )
234
-
257
+
235
258
  cltrid = gen_cltrid
236
259
  xml = ERB.new(File.read(@gemRoot + "/erb/create_domain_with_ns.erb")).result(binding)
237
260
  result = @epp.send_request(xml)
238
261
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
239
262
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
240
263
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
241
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
264
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
242
265
  end
243
-
266
+
244
267
  def create_domain_with_host(domainName,
245
268
  registrant,
246
269
  nsHostname1,
@@ -251,16 +274,16 @@ module CozaEPP
251
274
  nsipv6Address2,
252
275
  domainSecret
253
276
  )
254
-
277
+
255
278
  cltrid = gen_cltrid
256
279
  xml = ERB.new(File.read(@gemRoot + "/erb/create_domain_with_host.erb")).result(binding)
257
280
  result = @epp.send_request(xml)
258
281
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
259
282
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
260
283
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
261
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
284
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
262
285
  end
263
-
286
+
264
287
  def delete_domain(domainName)
265
288
  cltrid = gen_cltrid
266
289
  xml = ERB.new(File.read(@gemRoot + "/erb/delete_domain.erb")).result(binding)
@@ -268,9 +291,9 @@ module CozaEPP
268
291
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
269
292
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
270
293
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
271
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
294
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
272
295
  end
273
-
296
+
274
297
  def delete_contact(contactId)
275
298
  cltrid = gen_cltrid
276
299
  xml = ERB.new(File.read(@gemRoot + "/erb/delete_contact.erb")).result(binding)
@@ -278,9 +301,9 @@ module CozaEPP
278
301
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
279
302
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
280
303
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
281
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
304
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
282
305
  end
283
-
306
+
284
307
  def check_domain(domainName)
285
308
  cltrid = gen_cltrid
286
309
  xml = ERB.new(File.read(@gemRoot + "/erb/check_domain.erb")).result(binding)
@@ -289,9 +312,20 @@ module CozaEPP
289
312
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
290
313
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
291
314
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
292
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
315
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
316
+ end
317
+
318
+ def delete_ns(domainName,
319
+ nsHostname)
320
+ cltrid = gen_cltrid
321
+ xml = ERB.new(File.read(@gemRoot + "/erb/delete_ns.erb")).result(binding)
322
+ result = @epp.send_request(xml)
323
+ statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
324
+ statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
325
+ svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
326
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
293
327
  end
294
-
328
+
295
329
  def renew_domain(domainName,curExpiryDate)
296
330
  cltrid = gen_cltrid
297
331
  xml = ERB.new(File.read(@gemRoot + "/erb/renew.erb")).result(binding)
@@ -299,9 +333,9 @@ module CozaEPP
299
333
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
300
334
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
301
335
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
302
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
336
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
303
337
  end
304
-
338
+
305
339
  #autorenew in [ "true", "false"]
306
340
  def set_autorenew(domainName, autoRenew)
307
341
  cltrid = gen_cltrid
@@ -310,9 +344,9 @@ module CozaEPP
310
344
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
311
345
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
312
346
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
313
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
347
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
314
348
  end
315
-
349
+
316
350
  def apply_clienthold(domainName)
317
351
  cltrid = gen_cltrid
318
352
  xml = ERB.new(File.read(@gemRoot + "/erb/apply_clienthold.erb")).result(binding)
@@ -320,9 +354,9 @@ module CozaEPP
320
354
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
321
355
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
322
356
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
323
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
357
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
324
358
  end
325
-
359
+
326
360
  def remove_clienthold(domainName)
327
361
  cltrid = gen_cltrid
328
362
  xml = ERB.new(File.read(@gemRoot + "/erb/remove_clienthold.erb")).result(binding)
@@ -330,9 +364,9 @@ module CozaEPP
330
364
  statusCode = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result")[:code]
331
365
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
332
366
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
333
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
367
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid }
334
368
  end
335
-
369
+
336
370
  def transfer_domain(domainName)
337
371
  cltrid = gen_cltrid
338
372
  xml = ERB.new(File.read(@gemRoot + "/erb/transfer_domain.erb")).result(binding)
@@ -342,9 +376,9 @@ module CozaEPP
342
376
  statusMsg = Hpricot::XML(result).at("//epp:epp//epp:response//epp:result//epp:msg/")
343
377
  svtrid = Hpricot::XML(result).at("//epp:epp//epp:response//epp:trID//epp:svTRID/")
344
378
  resData = Hpricot::XML(result).at("//epp:epp//epp:response//epp:resData//")
345
- return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :resdata => resData }
379
+ return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :resdata => resData }
346
380
  end
347
-
381
+
348
382
  def transfer_approve(domainName)
349
383
  cltrid = gen_cltrid
350
384
  xml = ERB.new(File.read(@gemRoot + "/erb/transfer_approve.erb")).result(binding)
@@ -356,18 +390,18 @@ module CozaEPP
356
390
  resData = Hpricot::XML(result).at("//epp:epp//epp:response//epp:resData//")
357
391
  return {:status => statusCode, :text => statusMsg, :cltrid => cltrid, :svtrid => svtrid, :resdata => resData }
358
392
  end
359
-
393
+
360
394
  private
361
395
  def gen_cltrid
362
- return "MTNBUS-" + Time.now.to_i.to_s + "-" + gen_random_string
396
+ return "MTNBUS-" + Time.now.to_i.to_s + "-" + gen_random_string
363
397
  end
364
-
398
+
365
399
  private
366
400
  def gen_random_string(length=32)
367
- chars = 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ23456789'
368
- Array.new(length) { chars[rand(chars.length)].chr }.join
401
+ chars = 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ23456789'
402
+ Array.new(length) { chars[rand(chars.length)].chr }.join
369
403
  end
370
-
404
+
371
405
  end
372
406
  end
373
407
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cozaepp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-22 00:00:00.000000000 Z
12
+ date: 2012-11-26 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: API to Uniforum's EPP service
15
15
  email:
@@ -25,7 +25,9 @@ files:
25
25
  - README.md
26
26
  - Rakefile
27
27
  - cozaepp.gemspec
28
+ - erb/add_ns.erb
28
29
  - erb/apply_clienthold.erb
30
+ - erb/cancel_action.erb
29
31
  - erb/check.erb
30
32
  - erb/check_contact.erb
31
33
  - erb/check_domain.erb
@@ -39,6 +41,7 @@ files:
39
41
  - erb/delete_contact.erb
40
42
  - erb/delete_domain.erb
41
43
  - erb/delete_host.erb
44
+ - erb/delete_ns.erb
42
45
  - erb/epp_metadata.erb
43
46
  - erb/info.erb
44
47
  - erb/info_balance.erb