cozaepp 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +86 -0
  5. data/Rakefile +2 -0
  6. data/cozaepp.gemspec +19 -0
  7. data/erb/apply_clienthold.erb +13 -0
  8. data/erb/check.erb +14 -0
  9. data/erb/check_contact.erb +14 -0
  10. data/erb/check_domain.erb +11 -0
  11. data/erb/check_host.erb +14 -0
  12. data/erb/create_contact.erb +31 -0
  13. data/erb/create_domain.erb +20 -0
  14. data/erb/create_domain_with_host.erb +25 -0
  15. data/erb/create_domain_with_ns.erb +20 -0
  16. data/erb/create_host.erb +13 -0
  17. data/erb/create_testregistrar.erb +27 -0
  18. data/erb/delete_contact.erb +11 -0
  19. data/erb/delete_domain.erb +12 -0
  20. data/erb/delete_host.erb +11 -0
  21. data/erb/epp_metadata.erb +18 -0
  22. data/erb/info.erb +12 -0
  23. data/erb/info_balance.erb +15 -0
  24. data/erb/info_contact.erb +15 -0
  25. data/erb/info_contact_coza.erb +20 -0
  26. data/erb/info_contact_response.erb +49 -0
  27. data/erb/info_domain.erb +12 -0
  28. data/erb/info_host.erb +12 -0
  29. data/erb/login.erb +18 -0
  30. data/erb/logout.erb +8 -0
  31. data/erb/pack.erb +8 -0
  32. data/erb/poll.erb +8 -0
  33. data/erb/poll_ack.erb +8 -0
  34. data/erb/remove_clienthold.erb +13 -0
  35. data/erb/renew.erb +13 -0
  36. data/erb/set_autorenew.erb +15 -0
  37. data/erb/transfer_approve.erb +11 -0
  38. data/erb/transfer_cancel.erb +11 -0
  39. data/erb/transfer_domain.erb +11 -0
  40. data/erb/transfer_query.erb +11 -0
  41. data/erb/transfer_reject.erb +11 -0
  42. data/erb/update_contact.erb +33 -0
  43. data/erb/update_domain.erb +33 -0
  44. data/erb/update_domain_ns.erb +17 -0
  45. data/erb/update_domain_registrant.erb +13 -0
  46. data/erb/update_host.erb +23 -0
  47. data/lib/cozaepp/version.rb +3 -0
  48. data/lib/cozaepp.rb +364 -0
  49. data/xsd/contact-1.0.xsd +270 -0
  50. data/xsd/coza-contact-1.0.xsd +72 -0
  51. data/xsd/coza-domain-1.0.xsd +84 -0
  52. data/xsd/domain-1.0.xsd +432 -0
  53. data/xsd/epp-1.0.xsd +375 -0
  54. data/xsd/eppcom-1.0.xsd +97 -0
  55. data/xsd/host-1.0.xsd +238 -0
  56. data/xsd/secDNS-1.1.xsd +134 -0
  57. metadata +117 -0
@@ -0,0 +1,270 @@
1
+ <schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
2
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
3
+ xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
4
+ <!-- Import common element types. -->
5
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" />
6
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0" />
7
+ <annotation>
8
+ <documentation> Extensible Provisioning Protocol v1.0 contact provisioning schema.
9
+ </documentation>
10
+ </annotation>
11
+ <!-- Child elements found in EPP commands. -->
12
+ <element name="check" type="contact:mIDType" />
13
+ <element name="create" type="contact:createType" />
14
+ <element name="delete" type="contact:sIDType" />
15
+ <element name="info" type="contact:authIDType" />
16
+ <element name="transfer" type="contact:authIDType" />
17
+ <element name="update" type="contact:updateType" />
18
+ <!-- Utility types. -->
19
+ <simpleType name="ccType">
20
+ <restriction base="token">
21
+ <length value="2" />
22
+ </restriction>
23
+ </simpleType>
24
+ <complexType name="e164Type">
25
+ <simpleContent>
26
+ <extension base="contact:e164StringType">
27
+ <attribute name="x" type="token" />
28
+ </extension>
29
+ </simpleContent>
30
+ </complexType>
31
+ <simpleType name="e164StringType">
32
+ <restriction base="token">
33
+ <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?" />
34
+ <maxLength value="17" />
35
+ </restriction>
36
+ </simpleType>
37
+ <simpleType name="pcType">
38
+ <restriction base="token">
39
+ <maxLength value="16" />
40
+ </restriction>
41
+ </simpleType>
42
+ <simpleType name="postalLineType">
43
+ <restriction base="normalizedString">
44
+ <minLength value="1" />
45
+ <maxLength value="255" />
46
+ </restriction>
47
+ </simpleType>
48
+ <simpleType name="optPostalLineType">
49
+ <restriction base="normalizedString">
50
+ <maxLength value="255" />
51
+ </restriction>
52
+ </simpleType>
53
+ <!-- Child elements of the <create> command. -->
54
+ <complexType name="createType">
55
+ <sequence>
56
+ <element name="id" type="eppcom:clIDType" />
57
+ <element name="postalInfo" type="contact:postalInfoType" maxOccurs="2" />
58
+ <element name="voice" type="contact:e164Type" minOccurs="0" />
59
+ <element name="fax" type="contact:e164Type" minOccurs="0" />
60
+ <element name="email" type="eppcom:minTokenType" />
61
+ <element name="authInfo" type="contact:authInfoType" />
62
+ <element name="disclose" type="contact:discloseType" minOccurs="0" />
63
+ </sequence>
64
+ </complexType>
65
+ <complexType name="postalInfoType">
66
+ <sequence>
67
+ <element name="name" type="contact:postalLineType" />
68
+ <element name="org" type="contact:optPostalLineType" minOccurs="0" />
69
+ <element name="addr" type="contact:addrType" />
70
+ </sequence>
71
+ <attribute name="type" type="contact:postalInfoEnumType" use="required" />
72
+ </complexType>
73
+ <simpleType name="postalInfoEnumType">
74
+ <restriction base="token">
75
+ <enumeration value="loc" />
76
+ <enumeration value="int" />
77
+ </restriction>
78
+ </simpleType>
79
+ <complexType name="addrType">
80
+ <sequence>
81
+ <element name="street" type="contact:optPostalLineType" minOccurs="0"
82
+ maxOccurs="3" />
83
+ <element name="city" type="contact:postalLineType" />
84
+ <element name="sp" type="contact:optPostalLineType" minOccurs="0" />
85
+ <element name="pc" type="contact:pcType" minOccurs="0" />
86
+ <element name="cc" type="contact:ccType" />
87
+ </sequence>
88
+ </complexType>
89
+ <complexType name="authInfoType">
90
+ <choice>
91
+ <element name="pw" type="eppcom:pwAuthInfoType" />
92
+ <element name="ext" type="eppcom:extAuthInfoType" />
93
+ </choice>
94
+ </complexType>
95
+ <complexType name="discloseType">
96
+ <sequence>
97
+ <element name="name" type="contact:intLocType" minOccurs="0" maxOccurs="2" />
98
+ <element name="org" type="contact:intLocType" minOccurs="0" maxOccurs="2" />
99
+ <element name="addr" type="contact:intLocType" minOccurs="0" maxOccurs="2" />
100
+ <element name="voice" minOccurs="0" />
101
+ <element name="fax" minOccurs="0" />
102
+ <element name="email" minOccurs="0" />
103
+ </sequence>
104
+ <attribute name="flag" type="boolean" use="required" />
105
+ </complexType>
106
+ <complexType name="intLocType">
107
+ <attribute name="type" type="contact:postalInfoEnumType" use="required" />
108
+ </complexType>
109
+ <!-- Child element of commands that require only an identifier. -->
110
+ <complexType name="sIDType">
111
+ <sequence>
112
+ <element name="id" type="eppcom:clIDType" />
113
+ </sequence>
114
+ </complexType>
115
+ <!-- Child element of commands that accept multiple identifiers. -->
116
+ <complexType name="mIDType">
117
+ <sequence>
118
+ <element name="id" type="eppcom:clIDType" maxOccurs="unbounded" />
119
+ </sequence>
120
+ </complexType>
121
+ <!-- Child elements of the <info> and <transfer> commands. -->
122
+ <complexType name="authIDType">
123
+ <sequence>
124
+ <element name="id" type="eppcom:clIDType" />
125
+ <element name="authInfo" type="contact:authInfoType" minOccurs="0" />
126
+ </sequence>
127
+ </complexType>
128
+ <!-- Child elements of the <update> command. -->
129
+ <complexType name="updateType">
130
+ <sequence>
131
+ <element name="id" type="eppcom:clIDType" />
132
+ <element name="add" type="contact:addRemType" minOccurs="0" />
133
+ <element name="rem" type="contact:addRemType" minOccurs="0" />
134
+ <element name="chg" type="contact:chgType" minOccurs="0" />
135
+ </sequence>
136
+ </complexType>
137
+ <!-- Data elements that can be added or removed. -->
138
+ <complexType name="addRemType">
139
+ <sequence>
140
+ <element name="status" type="contact:statusType" maxOccurs="7" />
141
+ </sequence>
142
+ </complexType>
143
+ <!-- Data elements that can be changed. -->
144
+ <complexType name="chgType">
145
+ <sequence>
146
+ <element name="postalInfo" type="contact:chgPostalInfoType" minOccurs="0"
147
+ maxOccurs="2" />
148
+ <element name="voice" type="contact:e164Type" minOccurs="0" />
149
+ <element name="fax" type="contact:e164Type" minOccurs="0" />
150
+ <element name="email" type="eppcom:minTokenType" minOccurs="0" />
151
+ <element name="authInfo" type="contact:authInfoType" minOccurs="0" />
152
+ <element name="disclose" type="contact:discloseType" minOccurs="0" />
153
+ </sequence>
154
+ </complexType>
155
+ <complexType name="chgPostalInfoType">
156
+ <sequence>
157
+ <element name="name" type="contact:postalLineType" minOccurs="0" />
158
+ <element name="org" type="contact:optPostalLineType" minOccurs="0" />
159
+ <element name="addr" type="contact:addrType" minOccurs="0" />
160
+ </sequence>
161
+ <attribute name="type" type="contact:postalInfoEnumType" use="required" />
162
+ </complexType>
163
+ <!-- Child response elements. -->
164
+ <element name="chkData" type="contact:chkDataType" />
165
+ <element name="creData" type="contact:creDataType" />
166
+ <element name="infData" type="contact:infDataType" />
167
+ <element name="panData" type="contact:panDataType" />
168
+ <element name="trnData" type="contact:trnDataType" />
169
+ <!-- <check> response elements. -->
170
+ <complexType name="chkDataType">
171
+ <sequence>
172
+ <element name="cd" type="contact:checkType" maxOccurs="unbounded" />
173
+ </sequence>
174
+ </complexType>
175
+ <complexType name="checkType">
176
+ <sequence>
177
+ <element name="id" type="contact:checkIDType" />
178
+ <element name="reason" type="eppcom:reasonType" minOccurs="0" />
179
+ </sequence>
180
+ </complexType>
181
+ <complexType name="checkIDType">
182
+ <simpleContent>
183
+ <extension base="eppcom:clIDType">
184
+ <attribute name="avail" type="boolean" use="required" />
185
+ </extension>
186
+ </simpleContent>
187
+ </complexType>
188
+ <!-- <create> response elements. -->
189
+ <complexType name="creDataType">
190
+ <sequence>
191
+ <element name="id" type="eppcom:clIDType" />
192
+ <element name="crDate" type="dateTime" />
193
+ </sequence>
194
+ </complexType>
195
+ <!-- <info> response elements. -->
196
+ <complexType name="infDataType">
197
+ <sequence>
198
+ <element name="id" type="eppcom:clIDType" />
199
+ <element name="roid" type="eppcom:roidType" />
200
+ <element name="status" type="contact:statusType" maxOccurs="7" />
201
+ <element name="postalInfo" type="contact:postalInfoType" maxOccurs="2" />
202
+ <element name="voice" type="contact:e164Type" minOccurs="0" />
203
+ <element name="fax" type="contact:e164Type" minOccurs="0" />
204
+ <element name="email" type="eppcom:minTokenType" />
205
+ <element name="clID" type="eppcom:clIDType" />
206
+ <element name="crID" type="eppcom:clIDType" />
207
+ <element name="crDate" type="dateTime" />
208
+ <element name="upID" type="eppcom:clIDType" minOccurs="0" />
209
+ <element name="upDate" type="dateTime" minOccurs="0" />
210
+ <element name="trDate" type="dateTime" minOccurs="0" />
211
+ <element name="authInfo" type="contact:authInfoType" minOccurs="0" />
212
+ <element name="disclose" type="contact:discloseType" minOccurs="0" />
213
+ </sequence>
214
+ </complexType>
215
+ <!--
216
+ Status is a combination of attributes and an optional human-readable message that may
217
+ be expressed in languages other than English.
218
+ -->
219
+ <complexType name="statusType">
220
+ <simpleContent>
221
+ <extension base="normalizedString">
222
+ <attribute name="s" type="contact:statusValueType" use="required" />
223
+ <attribute name="lang" type="language" default="en" />
224
+ </extension>
225
+ </simpleContent>
226
+ </complexType>
227
+ <simpleType name="statusValueType">
228
+ <restriction base="token">
229
+ <enumeration value="clientDeleteProhibited" />
230
+ <enumeration value="clientTransferProhibited" />
231
+ <enumeration value="clientUpdateProhibited" />
232
+ <enumeration value="linked" />
233
+ <enumeration value="ok" />
234
+ <enumeration value="pendingCreate" />
235
+ <enumeration value="pendingDelete" />
236
+ <enumeration value="pendingTransfer" />
237
+ <enumeration value="pendingUpdate" />
238
+ <enumeration value="serverDeleteProhibited" />
239
+ <enumeration value="serverTransferProhibited" />
240
+ <enumeration value="serverUpdateProhibited" />
241
+ </restriction>
242
+ </simpleType>
243
+ <!-- Pending action notification response elements. -->
244
+ <complexType name="panDataType">
245
+ <sequence>
246
+ <element name="id" type="contact:paCLIDType" />
247
+ <element name="paTRID" type="epp:trIDType" />
248
+ <element name="paDate" type="dateTime" />
249
+ </sequence>
250
+ </complexType>
251
+ <complexType name="paCLIDType">
252
+ <simpleContent>
253
+ <extension base="eppcom:clIDType">
254
+ <attribute name="paResult" type="boolean" use="required" />
255
+ </extension>
256
+ </simpleContent>
257
+ </complexType>
258
+ <!-- <transfer> response elements. -->
259
+ <complexType name="trnDataType">
260
+ <sequence>
261
+ <element name="id" type="eppcom:clIDType" />
262
+ <element name="trStatus" type="eppcom:trStatusType" />
263
+ <element name="reID" type="eppcom:clIDType" />
264
+ <element name="reDate" type="dateTime" />
265
+ <element name="acID" type="eppcom:clIDType" />
266
+ <element name="acDate" type="dateTime" />
267
+ </sequence>
268
+ </complexType>
269
+ <!-- End of schema. -->
270
+ </schema>
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://co.za/epp/extensions/cozacontact-1-0"
3
+ xmlns:cozac="http://co.za/epp/extensions/cozacontact-1-0"
4
+ xmlns="http://www.w3.org/2001/XMLSchema"
5
+ elementFormDefault="qualified">
6
+
7
+ <annotation>
8
+ <documentation>
9
+ Extensible Provisioning Protocol v1.0 contact command extension schema for CO.ZA required extensions
10
+ </documentation>
11
+ </annotation>
12
+
13
+ <element name="update" type="cozac:updateType"/>
14
+ <element name="info" type="cozac:infoType"/>
15
+ <element name="infData" type="cozac:infoResponseType"/>
16
+ <element name="cozaData" type="cozac:cozaDataType"/>
17
+
18
+ <complexType name="updateType">
19
+ <attribute name="cancelPendingAction" type="string" use="optional"/>
20
+ </complexType>
21
+
22
+ <complexType name="infoType">
23
+ <sequence>
24
+ <element name="domainListing" type="boolean" minOccurs="0"/>
25
+ <element name="balance" type="boolean" minOccurs="0"/>
26
+ </sequence>
27
+ </complexType>
28
+
29
+ <complexType name="infoResponseType">
30
+ <sequence>
31
+ <element name="domain" type="cozac:domainInfoType" minOccurs="0" maxOccurs="unbounded"/>
32
+ <element name="balance" type="double" minOccurs="0"/>
33
+ </sequence>
34
+ </complexType>
35
+
36
+ <complexType name="cozaDataType">
37
+ <sequence>
38
+ <element name="detail">
39
+ <complexType>
40
+ <simpleContent>
41
+ <extension base="string">
42
+ <attribute name="result" type="cozac:resultType" use="required"/>
43
+ </extension>
44
+ </simpleContent>
45
+ </complexType>
46
+ </element>
47
+ </sequence>
48
+ </complexType>
49
+
50
+ <simpleType name="resultType">
51
+ <restriction base="NMTOKEN">
52
+ <enumeration value="success"/>
53
+ <enumeration value="failure"/>
54
+ </restriction>
55
+ </simpleType>
56
+
57
+ <complexType name="domainInfoType">
58
+ <simpleContent>
59
+ <extension base="string">
60
+ <attribute name="level" type="cozac:levelType" use="required"/>
61
+ </extension>
62
+ </simpleContent>
63
+ </complexType>
64
+
65
+ <simpleType name="levelType">
66
+ <restriction base="NMTOKEN">
67
+ <enumeration value="Owner"/>
68
+ <enumeration value="Contact"/>
69
+ </restriction>
70
+ </simpleType>
71
+
72
+ </schema>
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://co.za/epp/extensions/cozadomain-1-0"
3
+ xmlns:cozad="http://co.za/epp/extensions/cozadomain-1-0"
4
+ xmlns="http://www.w3.org/2001/XMLSchema"
5
+ elementFormDefault="qualified">
6
+
7
+ <annotation>
8
+ <documentation>
9
+ Extensible Provisioning Protocol v1.0 domain command extension schema for CO.ZA required extensions
10
+ </documentation>
11
+ </annotation>
12
+
13
+ <element name="create" type="cozad:createType"/>
14
+ <element name="update" type="cozad:updateType"/>
15
+ <element name="info" type="cozad:infoType"/>
16
+ <element name="infData" type="cozad:infoResponseType"/>
17
+ <element name="cozaData" type="cozad:cozaDataType"/>
18
+
19
+ <complexType name="chgType">
20
+ <sequence>
21
+ <element name="autorenew" type="cozad:autoRenewType" minOccurs="0"/>
22
+ </sequence>
23
+ </complexType>
24
+
25
+ <complexType name="updateType">
26
+ <sequence>
27
+ <element name="chg" type="cozad:chgType" minOccurs="0"/>
28
+ </sequence>
29
+ <attribute name="cancelPendingAction" type="string" use="optional"/>
30
+ </complexType>
31
+
32
+ <complexType name="infoType">
33
+ <sequence>
34
+ <element name="transferQuote" type="boolean" minOccurs="0"/>
35
+ </sequence>
36
+ </complexType>
37
+
38
+ <complexType name="createType">
39
+ <sequence>
40
+ <element name="autorenew" type="cozad:autoRenewType" minOccurs="0"/>
41
+ </sequence>
42
+ </complexType>
43
+
44
+ <complexType name="infoResponseType">
45
+ <sequence>
46
+ <element name="autorenew" type="cozad:autoRenewType" minOccurs="0"/>
47
+ <element name="transferQuoteRes" type="cozad:transferQuoteResType" minOccurs="0"/>
48
+ </sequence>
49
+ </complexType>
50
+
51
+ <complexType name="transferQuoteResType">
52
+ <sequence>
53
+ <element name="name" type="string"/>
54
+ <element name="cost" type="double"/>
55
+ </sequence>
56
+ </complexType>
57
+
58
+ <complexType name="cozaDataType">
59
+ <sequence>
60
+ <element name="detail">
61
+ <complexType>
62
+ <simpleContent>
63
+ <extension base="string">
64
+ <attribute name="result" type="cozad:resultType" use="required"/>
65
+ </extension>
66
+ </simpleContent>
67
+ </complexType>
68
+ </element>
69
+ </sequence>
70
+ </complexType>
71
+
72
+ <simpleType name="resultType">
73
+ <restriction base="NMTOKEN">
74
+ <enumeration value="success"/>
75
+ <enumeration value="failure"/>
76
+ </restriction>
77
+ </simpleType>
78
+
79
+ <simpleType name="autoRenewType">
80
+ <restriction base="boolean">
81
+ </restriction>
82
+ </simpleType>
83
+
84
+ </schema>