@scaleway/sdk 2.0.0-alpha.13 → 2.0.0-alpha.15

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.
Files changed (215) hide show
  1. package/dist/api/account/index.js +4 -0
  2. package/dist/api/account/v2/api.gen.js +147 -0
  3. package/dist/api/account/v2/index.gen.js +4 -0
  4. package/dist/api/account/v2/marshalling.gen.js +39 -0
  5. package/dist/api/account/v3/api.gen.js +129 -0
  6. package/dist/api/account/v3/index.gen.js +6 -0
  7. package/dist/api/account/v3/marshalling.gen.js +39 -0
  8. package/dist/api/account/v3/validation-rules.gen.js +39 -0
  9. package/dist/api/applesilicon/index.js +2 -0
  10. package/dist/api/applesilicon/v1alpha1/api.gen.js +220 -0
  11. package/dist/api/applesilicon/v1alpha1/content.gen.js +7 -0
  12. package/dist/api/applesilicon/v1alpha1/index.gen.js +5 -0
  13. package/dist/api/applesilicon/v1alpha1/marshalling.gen.js +113 -0
  14. package/dist/api/baremetal/index.js +2 -0
  15. package/dist/api/baremetal/v1/api.gen.js +523 -0
  16. package/dist/api/baremetal/v1/api.utils.js +27 -0
  17. package/dist/api/baremetal/v1/content.gen.js +13 -0
  18. package/dist/api/baremetal/v1/index.js +5 -0
  19. package/dist/api/baremetal/v1/marshalling.gen.js +406 -0
  20. package/dist/api/baremetal/v1/validation-rules.gen.js +109 -0
  21. package/dist/api/billing/index.js +2 -0
  22. package/dist/api/billing/v2alpha1/api.gen.js +80 -0
  23. package/dist/api/billing/v2alpha1/index.gen.js +4 -0
  24. package/dist/api/billing/v2alpha1/marshalling.gen.js +53 -0
  25. package/dist/api/block/index.js +2 -0
  26. package/dist/api/block/v1alpha1/api.gen.js +249 -0
  27. package/dist/api/block/v1alpha1/content.gen.js +13 -0
  28. package/dist/api/block/v1alpha1/index.gen.js +7 -0
  29. package/dist/api/block/v1alpha1/marshalling.gen.js +182 -0
  30. package/dist/api/block/v1alpha1/validation-rules.gen.js +52 -0
  31. package/dist/api/cockpit/index.js +2 -0
  32. package/dist/api/cockpit/v1beta1/api.gen.js +543 -0
  33. package/dist/api/cockpit/v1beta1/content.gen.js +7 -0
  34. package/dist/api/cockpit/v1beta1/index.gen.js +5 -0
  35. package/dist/api/cockpit/v1beta1/marshalling.gen.js +271 -0
  36. package/dist/api/container/index.js +2 -0
  37. package/dist/api/container/v1beta1/api.gen.js +549 -0
  38. package/dist/api/container/v1beta1/content.gen.js +22 -0
  39. package/dist/api/container/v1beta1/index.gen.js +7 -0
  40. package/dist/api/container/v1beta1/marshalling.gen.js +358 -0
  41. package/dist/api/container/v1beta1/validation-rules.gen.js +44 -0
  42. package/dist/api/document_db/index.js +2 -0
  43. package/dist/api/document_db/v1beta1/api.gen.js +830 -0
  44. package/dist/api/document_db/v1beta1/content.gen.js +19 -0
  45. package/dist/api/document_db/v1beta1/index.gen.js +7 -0
  46. package/dist/api/document_db/v1beta1/marshalling.gen.js +636 -0
  47. package/dist/api/document_db/v1beta1/validation-rules.gen.js +10 -0
  48. package/dist/api/domain/index.js +2 -0
  49. package/dist/api/domain/v2beta1/api.gen.js +867 -0
  50. package/dist/api/domain/v2beta1/content.gen.js +28 -0
  51. package/dist/api/domain/v2beta1/index.gen.js +5 -0
  52. package/dist/api/domain/v2beta1/marshalling.gen.js +1172 -0
  53. package/dist/api/flexibleip/index.js +2 -0
  54. package/dist/api/flexibleip/v1alpha1/api.gen.js +195 -0
  55. package/dist/api/flexibleip/v1alpha1/content.gen.js +10 -0
  56. package/dist/api/flexibleip/v1alpha1/index.gen.js +7 -0
  57. package/dist/api/flexibleip/v1alpha1/marshalling.gen.js +97 -0
  58. package/dist/api/flexibleip/v1alpha1/validation-rules.gen.js +14 -0
  59. package/dist/api/function/index.js +2 -0
  60. package/dist/api/function/v1beta1/api.gen.js +560 -0
  61. package/dist/api/function/v1beta1/content.gen.js +22 -0
  62. package/dist/api/function/v1beta1/index.gen.js +7 -0
  63. package/dist/api/function/v1beta1/marshalling.gen.js +396 -0
  64. package/dist/api/function/v1beta1/validation-rules.gen.js +44 -0
  65. package/dist/api/iam/index.js +2 -0
  66. package/dist/api/iam/v1alpha1/api.gen.js +783 -0
  67. package/dist/api/iam/v1alpha1/index.gen.js +6 -0
  68. package/dist/api/iam/v1alpha1/marshalling.gen.js +384 -0
  69. package/dist/api/iam/v1alpha1/validation-rules.gen.js +207 -0
  70. package/dist/api/instance/index.js +2 -0
  71. package/dist/api/instance/v1/api.gen.js +1003 -0
  72. package/dist/api/instance/v1/api.utils.js +369 -0
  73. package/dist/api/instance/v1/content.gen.js +31 -0
  74. package/dist/api/instance/v1/index.js +2 -0
  75. package/dist/api/instance/v1/marshalling.gen.js +1415 -0
  76. package/dist/api/instance/v1/marshalling.utils.js +63 -0
  77. package/dist/api/iot/index.js +2 -0
  78. package/dist/api/iot/v1/api.gen.js +573 -0
  79. package/dist/api/iot/v1/content.gen.js +7 -0
  80. package/dist/api/iot/v1/index.gen.js +5 -0
  81. package/dist/api/iot/v1/marshalling.gen.js +439 -0
  82. package/dist/api/ipam/index.js +2 -0
  83. package/dist/api/ipam/v1/api.gen.js +113 -0
  84. package/dist/api/ipam/v1/index.gen.js +6 -0
  85. package/dist/api/ipam/v1/marshalling.gen.js +77 -0
  86. package/dist/api/ipam/v1/validation-rules.gen.js +11 -0
  87. package/dist/api/ipfs/index.js +2 -0
  88. package/dist/api/ipfs/v1alpha1/api.gen.js +314 -0
  89. package/dist/api/ipfs/v1alpha1/content.gen.js +10 -0
  90. package/dist/api/ipfs/v1alpha1/index.gen.js +5 -0
  91. package/dist/api/ipfs/v1alpha1/marshalling.gen.js +180 -0
  92. package/dist/api/k8s/index.js +2 -0
  93. package/dist/api/k8s/v1/api.gen.js +454 -0
  94. package/dist/api/k8s/v1/api.utils.js +13 -0
  95. package/dist/api/k8s/v1/content.gen.js +13 -0
  96. package/dist/api/k8s/v1/index.js +4 -0
  97. package/dist/api/k8s/v1/marshalling.gen.js +421 -0
  98. package/dist/api/k8s/v1/validation-rules.gen.js +101 -0
  99. package/dist/api/lb/index.js +2 -0
  100. package/dist/api/lb/v1/api.gen.js +1669 -0
  101. package/dist/api/lb/v1/api.utils.js +81 -0
  102. package/dist/api/lb/v1/content.gen.js +16 -0
  103. package/dist/api/lb/v1/index.js +2 -0
  104. package/dist/api/lb/v1/marshalling.gen.js +1039 -0
  105. package/dist/api/marketplace/index.js +4 -0
  106. package/dist/api/marketplace/v1/api.gen.js +60 -0
  107. package/dist/api/marketplace/v1/index.gen.js +4 -0
  108. package/dist/api/marketplace/v1/marshalling.gen.js +92 -0
  109. package/dist/api/marketplace/v2/api.gen.js +162 -0
  110. package/dist/api/marketplace/v2/index.gen.js +4 -0
  111. package/dist/api/marketplace/v2/marshalling.gen.js +94 -0
  112. package/dist/api/mnq/index.js +4 -0
  113. package/dist/api/mnq/v1alpha1/api.gen.js +197 -0
  114. package/dist/api/mnq/v1alpha1/index.gen.js +4 -0
  115. package/dist/api/mnq/v1alpha1/marshalling.gen.js +126 -0
  116. package/dist/api/mnq/v1beta1/api.gen.js +529 -0
  117. package/dist/api/mnq/v1beta1/index.gen.js +6 -0
  118. package/dist/api/mnq/v1beta1/marshalling.gen.js +212 -0
  119. package/dist/api/mnq/v1beta1/validation-rules.gen.js +77 -0
  120. package/dist/api/rdb/index.js +2 -0
  121. package/dist/api/rdb/v1/api.gen.js +972 -0
  122. package/dist/api/rdb/v1/content.gen.js +22 -0
  123. package/dist/api/rdb/v1/index.gen.js +7 -0
  124. package/dist/api/rdb/v1/marshalling.gen.js +694 -0
  125. package/dist/api/rdb/v1/validation-rules.gen.js +10 -0
  126. package/dist/api/redis/index.js +2 -0
  127. package/dist/api/redis/v1/api.gen.js +389 -0
  128. package/dist/api/redis/v1/content.gen.js +7 -0
  129. package/dist/api/redis/v1/index.gen.js +5 -0
  130. package/dist/api/redis/v1/marshalling.gen.js +283 -0
  131. package/dist/api/registry/index.js +2 -0
  132. package/dist/api/registry/v1/api.gen.js +252 -0
  133. package/dist/api/registry/v1/content.gen.js +13 -0
  134. package/dist/api/registry/v1/index.gen.js +5 -0
  135. package/dist/api/registry/v1/marshalling.gen.js +108 -0
  136. package/dist/api/secret/index.js +2 -0
  137. package/dist/api/secret/v1alpha1/api.gen.js +415 -0
  138. package/dist/api/secret/v1alpha1/index.gen.js +4 -0
  139. package/dist/api/secret/v1alpha1/marshalling.gen.js +150 -0
  140. package/dist/api/tem/index.js +2 -0
  141. package/dist/api/tem/v1alpha1/api.gen.js +229 -0
  142. package/dist/api/tem/v1alpha1/content.gen.js +10 -0
  143. package/dist/api/tem/v1alpha1/index.gen.js +5 -0
  144. package/dist/api/tem/v1alpha1/marshalling.gen.js +168 -0
  145. package/dist/api/test/index.js +2 -0
  146. package/dist/api/test/v1/api.gen.js +152 -0
  147. package/dist/api/test/v1/content.gen.js +7 -0
  148. package/dist/api/test/v1/index.gen.js +5 -0
  149. package/dist/api/test/v1/marshalling.gen.js +81 -0
  150. package/dist/api/vpc/index.js +4 -0
  151. package/dist/api/vpc/v1/api.gen.js +110 -0
  152. package/dist/api/vpc/v1/index.gen.js +4 -0
  153. package/dist/api/vpc/v1/marshalling.gen.js +44 -0
  154. package/dist/api/vpc/v2/api.gen.js +276 -0
  155. package/dist/api/vpc/v2/index.gen.js +4 -0
  156. package/dist/api/vpc/v2/marshalling.gen.js +137 -0
  157. package/dist/api/vpcgw/index.js +2 -0
  158. package/dist/api/vpcgw/v1/api.gen.js +669 -0
  159. package/dist/api/vpcgw/v1/content.gen.js +10 -0
  160. package/dist/api/vpcgw/v1/index.gen.js +5 -0
  161. package/dist/api/vpcgw/v1/marshalling.gen.js +359 -0
  162. package/dist/api/webhosting/index.js +2 -0
  163. package/dist/api/webhosting/v1alpha1/api.gen.js +158 -0
  164. package/dist/api/webhosting/v1alpha1/content.gen.js +7 -0
  165. package/dist/api/webhosting/v1alpha1/index.gen.js +7 -0
  166. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +146 -0
  167. package/dist/api/webhosting/v1alpha1/validation-rules.gen.js +14 -0
  168. package/dist/helpers/is-browser.js +5 -0
  169. package/dist/helpers/is-response.js +10 -0
  170. package/dist/helpers/json.js +11 -0
  171. package/dist/helpers/marshalling.js +130 -0
  172. package/dist/index.cjs +26484 -0
  173. package/dist/index.d.ts +31184 -0
  174. package/dist/index.js +71 -0
  175. package/dist/internal/async/interval-retrier.js +105 -0
  176. package/dist/internal/async/sleep.js +13 -0
  177. package/dist/internal/interceptors/composer.js +46 -0
  178. package/dist/internal/interceptors/helpers.js +32 -0
  179. package/dist/internal/logger/console-logger.js +38 -0
  180. package/dist/internal/logger/index.js +41 -0
  181. package/dist/internal/logger/level-resolver.js +13 -0
  182. package/dist/internal/validations/string-validation.js +38 -0
  183. package/dist/node_modules/.pnpm/@scaleway_random-name@4.0.2/node_modules/@scaleway/random-name/dist/index.js +13 -0
  184. package/dist/scw/api.js +12 -0
  185. package/dist/scw/auth.js +68 -0
  186. package/dist/scw/client-ini-factory.js +174 -0
  187. package/dist/scw/client-ini-profile.js +54 -0
  188. package/dist/scw/client-settings.js +78 -0
  189. package/dist/scw/client.js +98 -0
  190. package/dist/scw/constants.js +4 -0
  191. package/dist/scw/custom-marshalling.js +131 -0
  192. package/dist/scw/errors/error-parser.js +107 -0
  193. package/dist/scw/errors/non-standard/invalid-request-mapper.js +36 -0
  194. package/dist/scw/errors/non-standard/unknown-resource-mapper.js +27 -0
  195. package/dist/scw/errors/scw-error.js +66 -0
  196. package/dist/scw/errors/standard/already-exists-error.js +26 -0
  197. package/dist/scw/errors/standard/denied-authentication-error.js +52 -0
  198. package/dist/scw/errors/standard/index.js +13 -0
  199. package/dist/scw/errors/standard/invalid-arguments-error.js +67 -0
  200. package/dist/scw/errors/standard/out-of-stock-error.js +22 -0
  201. package/dist/scw/errors/standard/permissions-denied-error.js +48 -0
  202. package/dist/scw/errors/standard/precondition-failed-error.js +42 -0
  203. package/dist/scw/errors/standard/quotas-exceeded-error.js +68 -0
  204. package/dist/scw/errors/standard/resource-expired-error.js +26 -0
  205. package/dist/scw/errors/standard/resource-locked-error.js +25 -0
  206. package/dist/scw/errors/standard/resource-not-found-error.js +25 -0
  207. package/dist/scw/errors/standard/too-many-requests-error.js +70 -0
  208. package/dist/scw/errors/standard/transient-state-error.js +26 -0
  209. package/dist/scw/errors/types.js +23 -0
  210. package/dist/scw/fetch/build-fetcher.js +72 -0
  211. package/dist/scw/fetch/http-dumper.js +54 -0
  212. package/dist/scw/fetch/http-interceptors.js +99 -0
  213. package/dist/scw/fetch/resource-paginator.js +84 -0
  214. package/dist/scw/fetch/response-parser.js +72 -0
  215. package/package.json +2 -2
@@ -0,0 +1,1172 @@
1
+ import { isJSONObject } from '../../../helpers/json.js';
2
+ import { unmarshalMoney } from '../../../scw/custom-marshalling.js';
3
+ import { unmarshalArrayOfObject, unmarshalDate, resolveOneOf, unmarshalMapOfObject } from '../../../helpers/marshalling.js';
4
+
5
+ // This file was automatically generated. DO NOT EDIT.
6
+ // If you have any remark or suggestion do not hesitate to open an issue.
7
+ const unmarshalContactExtensionFRAssociationInfo = data => {
8
+ if (!isJSONObject(data)) {
9
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFRAssociationInfo' failed as data isn't a dictionary.`);
10
+ }
11
+ return {
12
+ publicationJo: unmarshalDate(data.publication_jo),
13
+ publicationJoPage: data.publication_jo_page
14
+ };
15
+ };
16
+ const unmarshalContactExtensionFRCodeAuthAfnicInfo = data => {
17
+ if (!isJSONObject(data)) {
18
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFRCodeAuthAfnicInfo' failed as data isn't a dictionary.`);
19
+ }
20
+ return {
21
+ codeAuthAfnic: data.code_auth_afnic
22
+ };
23
+ };
24
+ const unmarshalContactExtensionFRDunsInfo = data => {
25
+ if (!isJSONObject(data)) {
26
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFRDunsInfo' failed as data isn't a dictionary.`);
27
+ }
28
+ return {
29
+ dunsId: data.duns_id,
30
+ localId: data.local_id
31
+ };
32
+ };
33
+ const unmarshalContactExtensionFRIndividualInfo = data => {
34
+ if (!isJSONObject(data)) {
35
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFRIndividualInfo' failed as data isn't a dictionary.`);
36
+ }
37
+ return {
38
+ whoisOptIn: data.whois_opt_in
39
+ };
40
+ };
41
+ const unmarshalContactExtensionFRTrademarkInfo = data => {
42
+ if (!isJSONObject(data)) {
43
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFRTrademarkInfo' failed as data isn't a dictionary.`);
44
+ }
45
+ return {
46
+ trademarkInpi: data.trademark_inpi
47
+ };
48
+ };
49
+ const unmarshalContactExtensionEU = data => {
50
+ if (!isJSONObject(data)) {
51
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionEU' failed as data isn't a dictionary.`);
52
+ }
53
+ return {
54
+ europeanCitizenship: data.european_citizenship
55
+ };
56
+ };
57
+ const unmarshalContactExtensionFR = data => {
58
+ if (!isJSONObject(data)) {
59
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionFR' failed as data isn't a dictionary.`);
60
+ }
61
+ return {
62
+ associationInfo: data.association_info ? unmarshalContactExtensionFRAssociationInfo(data.association_info) : undefined,
63
+ codeAuthAfnicInfo: data.code_auth_afnic_info ? unmarshalContactExtensionFRCodeAuthAfnicInfo(data.code_auth_afnic_info) : undefined,
64
+ dunsInfo: data.duns_info ? unmarshalContactExtensionFRDunsInfo(data.duns_info) : undefined,
65
+ individualInfo: data.individual_info ? unmarshalContactExtensionFRIndividualInfo(data.individual_info) : undefined,
66
+ mode: data.mode,
67
+ trademarkInfo: data.trademark_info ? unmarshalContactExtensionFRTrademarkInfo(data.trademark_info) : undefined
68
+ };
69
+ };
70
+ const unmarshalContactExtensionNL = data => {
71
+ if (!isJSONObject(data)) {
72
+ throw new TypeError(`Unmarshalling the type 'ContactExtensionNL' failed as data isn't a dictionary.`);
73
+ }
74
+ return {
75
+ legalForm: data.legal_form,
76
+ legalFormRegistrationNumber: data.legal_form_registration_number
77
+ };
78
+ };
79
+ const unmarshalContactQuestion = data => {
80
+ if (!isJSONObject(data)) {
81
+ throw new TypeError(`Unmarshalling the type 'ContactQuestion' failed as data isn't a dictionary.`);
82
+ }
83
+ return {
84
+ answer: data.answer,
85
+ question: data.question
86
+ };
87
+ };
88
+ const unmarshalContact = data => {
89
+ if (!isJSONObject(data)) {
90
+ throw new TypeError(`Unmarshalling the type 'Contact' failed as data isn't a dictionary.`);
91
+ }
92
+ return {
93
+ addressLine1: data.address_line_1,
94
+ addressLine2: data.address_line_2,
95
+ city: data.city,
96
+ companyIdentificationCode: data.company_identification_code,
97
+ companyName: data.company_name,
98
+ country: data.country,
99
+ email: data.email,
100
+ emailAlt: data.email_alt,
101
+ emailStatus: data.email_status,
102
+ extensionEu: data.extension_eu ? unmarshalContactExtensionEU(data.extension_eu) : undefined,
103
+ extensionFr: data.extension_fr ? unmarshalContactExtensionFR(data.extension_fr) : undefined,
104
+ extensionNl: data.extension_nl ? unmarshalContactExtensionNL(data.extension_nl) : undefined,
105
+ faxNumber: data.fax_number,
106
+ firstname: data.firstname,
107
+ id: data.id,
108
+ lang: data.lang,
109
+ lastname: data.lastname,
110
+ legalForm: data.legal_form,
111
+ phoneNumber: data.phone_number,
112
+ questions: data.questions ? unmarshalArrayOfObject(data.questions, unmarshalContactQuestion) : undefined,
113
+ resale: data.resale,
114
+ state: data.state,
115
+ vatIdentificationCode: data.vat_identification_code,
116
+ whoisOptIn: data.whois_opt_in,
117
+ zip: data.zip
118
+ };
119
+ };
120
+ const unmarshalDNSZone = data => {
121
+ if (!isJSONObject(data)) {
122
+ throw new TypeError(`Unmarshalling the type 'DNSZone' failed as data isn't a dictionary.`);
123
+ }
124
+ return {
125
+ domain: data.domain,
126
+ message: data.message,
127
+ ns: data.ns,
128
+ nsDefault: data.ns_default,
129
+ nsMaster: data.ns_master,
130
+ projectId: data.project_id,
131
+ status: data.status,
132
+ subdomain: data.subdomain,
133
+ updatedAt: unmarshalDate(data.updated_at)
134
+ };
135
+ };
136
+ const unmarshalHost = data => {
137
+ if (!isJSONObject(data)) {
138
+ throw new TypeError(`Unmarshalling the type 'Host' failed as data isn't a dictionary.`);
139
+ }
140
+ return {
141
+ domain: data.domain,
142
+ ips: data.ips,
143
+ name: data.name,
144
+ status: data.status
145
+ };
146
+ };
147
+ const unmarshalSSLCertificate = data => {
148
+ if (!isJSONObject(data)) {
149
+ throw new TypeError(`Unmarshalling the type 'SSLCertificate' failed as data isn't a dictionary.`);
150
+ }
151
+ return {
152
+ alternativeDnsZones: data.alternative_dns_zones,
153
+ certificateChain: data.certificate_chain,
154
+ createdAt: unmarshalDate(data.created_at),
155
+ dnsZone: data.dns_zone,
156
+ expiredAt: unmarshalDate(data.expired_at),
157
+ privateKey: data.private_key,
158
+ status: data.status
159
+ };
160
+ };
161
+ const unmarshalCheckContactsCompatibilityResponseContactCheckResult = data => {
162
+ if (!isJSONObject(data)) {
163
+ throw new TypeError(`Unmarshalling the type 'CheckContactsCompatibilityResponseContactCheckResult' failed as data isn't a dictionary.`);
164
+ }
165
+ return {
166
+ compatible: data.compatible,
167
+ errorMessage: data.error_message
168
+ };
169
+ };
170
+ const unmarshalCheckContactsCompatibilityResponse = data => {
171
+ if (!isJSONObject(data)) {
172
+ throw new TypeError(`Unmarshalling the type 'CheckContactsCompatibilityResponse' failed as data isn't a dictionary.`);
173
+ }
174
+ return {
175
+ administrativeCheckResult: data.administrative_check_result ? unmarshalCheckContactsCompatibilityResponseContactCheckResult(data.administrative_check_result) : undefined,
176
+ compatible: data.compatible,
177
+ ownerCheckResult: data.owner_check_result ? unmarshalCheckContactsCompatibilityResponseContactCheckResult(data.owner_check_result) : undefined,
178
+ technicalCheckResult: data.technical_check_result ? unmarshalCheckContactsCompatibilityResponseContactCheckResult(data.technical_check_result) : undefined
179
+ };
180
+ };
181
+ const unmarshalClearDNSZoneRecordsResponse = data => {
182
+ if (!isJSONObject(data)) {
183
+ throw new TypeError(`Unmarshalling the type 'ClearDNSZoneRecordsResponse' failed as data isn't a dictionary.`);
184
+ }
185
+ return {};
186
+ };
187
+ const unmarshalDeleteDNSZoneResponse = data => {
188
+ if (!isJSONObject(data)) {
189
+ throw new TypeError(`Unmarshalling the type 'DeleteDNSZoneResponse' failed as data isn't a dictionary.`);
190
+ }
191
+ return {};
192
+ };
193
+ const unmarshalDeleteExternalDomainResponse = data => {
194
+ if (!isJSONObject(data)) {
195
+ throw new TypeError(`Unmarshalling the type 'DeleteExternalDomainResponse' failed as data isn't a dictionary.`);
196
+ }
197
+ return {};
198
+ };
199
+ const unmarshalDeleteSSLCertificateResponse = data => {
200
+ if (!isJSONObject(data)) {
201
+ throw new TypeError(`Unmarshalling the type 'DeleteSSLCertificateResponse' failed as data isn't a dictionary.`);
202
+ }
203
+ return {};
204
+ };
205
+ const unmarshalDSRecordPublicKey = data => {
206
+ if (!isJSONObject(data)) {
207
+ throw new TypeError(`Unmarshalling the type 'DSRecordPublicKey' failed as data isn't a dictionary.`);
208
+ }
209
+ return {
210
+ key: data.key
211
+ };
212
+ };
213
+ const unmarshalDSRecordDigest = data => {
214
+ if (!isJSONObject(data)) {
215
+ throw new TypeError(`Unmarshalling the type 'DSRecordDigest' failed as data isn't a dictionary.`);
216
+ }
217
+ return {
218
+ digest: data.digest,
219
+ publicKey: data.public_key ? unmarshalDSRecordPublicKey(data.public_key) : undefined,
220
+ type: data.type
221
+ };
222
+ };
223
+ const unmarshalDSRecord = data => {
224
+ if (!isJSONObject(data)) {
225
+ throw new TypeError(`Unmarshalling the type 'DSRecord' failed as data isn't a dictionary.`);
226
+ }
227
+ return {
228
+ algorithm: data.algorithm,
229
+ digest: data.digest ? unmarshalDSRecordDigest(data.digest) : undefined,
230
+ keyId: data.key_id,
231
+ publicKey: data.public_key ? unmarshalDSRecordPublicKey(data.public_key) : undefined
232
+ };
233
+ };
234
+ const unmarshalTldOffer = data => {
235
+ if (!isJSONObject(data)) {
236
+ throw new TypeError(`Unmarshalling the type 'TldOffer' failed as data isn't a dictionary.`);
237
+ }
238
+ return {
239
+ action: data.action,
240
+ operationPath: data.operation_path,
241
+ price: data.price ? unmarshalMoney(data.price) : undefined
242
+ };
243
+ };
244
+ const unmarshalDomainDNSSEC = data => {
245
+ if (!isJSONObject(data)) {
246
+ throw new TypeError(`Unmarshalling the type 'DomainDNSSEC' failed as data isn't a dictionary.`);
247
+ }
248
+ return {
249
+ dsRecords: unmarshalArrayOfObject(data.ds_records, unmarshalDSRecord),
250
+ status: data.status
251
+ };
252
+ };
253
+ const unmarshalDomainRegistrationStatusExternalDomain = data => {
254
+ if (!isJSONObject(data)) {
255
+ throw new TypeError(`Unmarshalling the type 'DomainRegistrationStatusExternalDomain' failed as data isn't a dictionary.`);
256
+ }
257
+ return {
258
+ validationToken: data.validation_token
259
+ };
260
+ };
261
+ const unmarshalDomainRegistrationStatusTransfer = data => {
262
+ if (!isJSONObject(data)) {
263
+ throw new TypeError(`Unmarshalling the type 'DomainRegistrationStatusTransfer' failed as data isn't a dictionary.`);
264
+ }
265
+ return {
266
+ status: data.status,
267
+ voteCurrentOwner: data.vote_current_owner,
268
+ voteNewOwner: data.vote_new_owner
269
+ };
270
+ };
271
+ const unmarshalTld = data => {
272
+ if (!isJSONObject(data)) {
273
+ throw new TypeError(`Unmarshalling the type 'Tld' failed as data isn't a dictionary.`);
274
+ }
275
+ return {
276
+ dnssecSupport: data.dnssec_support,
277
+ durationInYearsMax: data.duration_in_years_max,
278
+ durationInYearsMin: data.duration_in_years_min,
279
+ idnSupport: data.idn_support,
280
+ name: data.name,
281
+ offers: unmarshalMapOfObject(data.offers, unmarshalTldOffer),
282
+ specifications: data.specifications
283
+ };
284
+ };
285
+ const unmarshalDomain = data => {
286
+ if (!isJSONObject(data)) {
287
+ throw new TypeError(`Unmarshalling the type 'Domain' failed as data isn't a dictionary.`);
288
+ }
289
+ return {
290
+ administrativeContact: data.administrative_contact ? unmarshalContact(data.administrative_contact) : undefined,
291
+ autoRenewStatus: data.auto_renew_status,
292
+ dnsZones: unmarshalArrayOfObject(data.dns_zones, unmarshalDNSZone),
293
+ dnssec: data.dnssec ? unmarshalDomainDNSSEC(data.dnssec) : undefined,
294
+ domain: data.domain,
295
+ eppCode: data.epp_code,
296
+ expiredAt: unmarshalDate(data.expired_at),
297
+ externalDomainRegistrationStatus: data.external_domain_registration_status ? unmarshalDomainRegistrationStatusExternalDomain(data.external_domain_registration_status) : undefined,
298
+ isExternal: data.is_external,
299
+ organizationId: data.organization_id,
300
+ ownerContact: data.owner_contact ? unmarshalContact(data.owner_contact) : undefined,
301
+ projectId: data.project_id,
302
+ registrar: data.registrar,
303
+ status: data.status,
304
+ technicalContact: data.technical_contact ? unmarshalContact(data.technical_contact) : undefined,
305
+ tld: data.tld ? unmarshalTld(data.tld) : undefined,
306
+ transferRegistrationStatus: data.transfer_registration_status ? unmarshalDomainRegistrationStatusTransfer(data.transfer_registration_status) : undefined,
307
+ updatedAt: unmarshalDate(data.updated_at)
308
+ };
309
+ };
310
+ const unmarshalGetDNSZoneTsigKeyResponse = data => {
311
+ if (!isJSONObject(data)) {
312
+ throw new TypeError(`Unmarshalling the type 'GetDNSZoneTsigKeyResponse' failed as data isn't a dictionary.`);
313
+ }
314
+ return {
315
+ algorithm: data.algorithm,
316
+ key: data.key,
317
+ name: data.name
318
+ };
319
+ };
320
+ const unmarshalDomainRecordGeoIPConfigMatch = data => {
321
+ if (!isJSONObject(data)) {
322
+ throw new TypeError(`Unmarshalling the type 'DomainRecordGeoIPConfigMatch' failed as data isn't a dictionary.`);
323
+ }
324
+ return {
325
+ continents: data.continents,
326
+ countries: data.countries,
327
+ data: data.data
328
+ };
329
+ };
330
+ const unmarshalDomainRecordViewConfigView = data => {
331
+ if (!isJSONObject(data)) {
332
+ throw new TypeError(`Unmarshalling the type 'DomainRecordViewConfigView' failed as data isn't a dictionary.`);
333
+ }
334
+ return {
335
+ data: data.data,
336
+ subnet: data.subnet
337
+ };
338
+ };
339
+ const unmarshalDomainRecordWeightedConfigWeightedIP = data => {
340
+ if (!isJSONObject(data)) {
341
+ throw new TypeError(`Unmarshalling the type 'DomainRecordWeightedConfigWeightedIP' failed as data isn't a dictionary.`);
342
+ }
343
+ return {
344
+ ip: data.ip,
345
+ weight: data.weight
346
+ };
347
+ };
348
+ const unmarshalDomainRecordGeoIPConfig = data => {
349
+ if (!isJSONObject(data)) {
350
+ throw new TypeError(`Unmarshalling the type 'DomainRecordGeoIPConfig' failed as data isn't a dictionary.`);
351
+ }
352
+ return {
353
+ default: data.default,
354
+ matches: unmarshalArrayOfObject(data.matches, unmarshalDomainRecordGeoIPConfigMatch)
355
+ };
356
+ };
357
+ const unmarshalDomainRecordHTTPServiceConfig = data => {
358
+ if (!isJSONObject(data)) {
359
+ throw new TypeError(`Unmarshalling the type 'DomainRecordHTTPServiceConfig' failed as data isn't a dictionary.`);
360
+ }
361
+ return {
362
+ ips: data.ips,
363
+ mustContain: data.must_contain,
364
+ strategy: data.strategy,
365
+ url: data.url,
366
+ userAgent: data.user_agent
367
+ };
368
+ };
369
+ const unmarshalDomainRecordViewConfig = data => {
370
+ if (!isJSONObject(data)) {
371
+ throw new TypeError(`Unmarshalling the type 'DomainRecordViewConfig' failed as data isn't a dictionary.`);
372
+ }
373
+ return {
374
+ views: unmarshalArrayOfObject(data.views, unmarshalDomainRecordViewConfigView)
375
+ };
376
+ };
377
+ const unmarshalDomainRecordWeightedConfig = data => {
378
+ if (!isJSONObject(data)) {
379
+ throw new TypeError(`Unmarshalling the type 'DomainRecordWeightedConfig' failed as data isn't a dictionary.`);
380
+ }
381
+ return {
382
+ weightedIps: unmarshalArrayOfObject(data.weighted_ips, unmarshalDomainRecordWeightedConfigWeightedIP)
383
+ };
384
+ };
385
+ const unmarshalDomainRecord = data => {
386
+ if (!isJSONObject(data)) {
387
+ throw new TypeError(`Unmarshalling the type 'DomainRecord' failed as data isn't a dictionary.`);
388
+ }
389
+ return {
390
+ comment: data.comment,
391
+ data: data.data,
392
+ geoIpConfig: data.geo_ip_config ? unmarshalDomainRecordGeoIPConfig(data.geo_ip_config) : undefined,
393
+ httpServiceConfig: data.http_service_config ? unmarshalDomainRecordHTTPServiceConfig(data.http_service_config) : undefined,
394
+ id: data.id,
395
+ name: data.name,
396
+ priority: data.priority,
397
+ ttl: data.ttl,
398
+ type: data.type,
399
+ viewConfig: data.view_config ? unmarshalDomainRecordViewConfig(data.view_config) : undefined,
400
+ weightedConfig: data.weighted_config ? unmarshalDomainRecordWeightedConfig(data.weighted_config) : undefined
401
+ };
402
+ };
403
+ const unmarshalRecordIdentifier = data => {
404
+ if (!isJSONObject(data)) {
405
+ throw new TypeError(`Unmarshalling the type 'RecordIdentifier' failed as data isn't a dictionary.`);
406
+ }
407
+ return {
408
+ data: data.data,
409
+ name: data.name,
410
+ ttl: data.ttl,
411
+ type: data.type
412
+ };
413
+ };
414
+ const unmarshalRecordChangeAdd = data => {
415
+ if (!isJSONObject(data)) {
416
+ throw new TypeError(`Unmarshalling the type 'RecordChangeAdd' failed as data isn't a dictionary.`);
417
+ }
418
+ return {
419
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord)
420
+ };
421
+ };
422
+ const unmarshalRecordChangeClear = data => {
423
+ if (!isJSONObject(data)) {
424
+ throw new TypeError(`Unmarshalling the type 'RecordChangeClear' failed as data isn't a dictionary.`);
425
+ }
426
+ return {};
427
+ };
428
+ const unmarshalRecordChangeDelete = data => {
429
+ if (!isJSONObject(data)) {
430
+ throw new TypeError(`Unmarshalling the type 'RecordChangeDelete' failed as data isn't a dictionary.`);
431
+ }
432
+ return {
433
+ id: data.id,
434
+ idFields: data.id_fields ? unmarshalRecordIdentifier(data.id_fields) : undefined
435
+ };
436
+ };
437
+ const unmarshalRecordChangeSet = data => {
438
+ if (!isJSONObject(data)) {
439
+ throw new TypeError(`Unmarshalling the type 'RecordChangeSet' failed as data isn't a dictionary.`);
440
+ }
441
+ return {
442
+ id: data.id,
443
+ idFields: data.id_fields ? unmarshalRecordIdentifier(data.id_fields) : undefined,
444
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord)
445
+ };
446
+ };
447
+ const unmarshalRecordChange = data => {
448
+ if (!isJSONObject(data)) {
449
+ throw new TypeError(`Unmarshalling the type 'RecordChange' failed as data isn't a dictionary.`);
450
+ }
451
+ return {
452
+ add: data.add ? unmarshalRecordChangeAdd(data.add) : undefined,
453
+ clear: data.clear ? unmarshalRecordChangeClear(data.clear) : undefined,
454
+ delete: data.delete ? unmarshalRecordChangeDelete(data.delete) : undefined,
455
+ set: data.set ? unmarshalRecordChangeSet(data.set) : undefined
456
+ };
457
+ };
458
+ const unmarshalGetDNSZoneVersionDiffResponse = data => {
459
+ if (!isJSONObject(data)) {
460
+ throw new TypeError(`Unmarshalling the type 'GetDNSZoneVersionDiffResponse' failed as data isn't a dictionary.`);
461
+ }
462
+ return {
463
+ changes: unmarshalArrayOfObject(data.changes, unmarshalRecordChange)
464
+ };
465
+ };
466
+ const unmarshalGetDomainAuthCodeResponse = data => {
467
+ if (!isJSONObject(data)) {
468
+ throw new TypeError(`Unmarshalling the type 'GetDomainAuthCodeResponse' failed as data isn't a dictionary.`);
469
+ }
470
+ return {
471
+ authCode: data.auth_code
472
+ };
473
+ };
474
+ const unmarshalImportProviderDNSZoneResponse = data => {
475
+ if (!isJSONObject(data)) {
476
+ throw new TypeError(`Unmarshalling the type 'ImportProviderDNSZoneResponse' failed as data isn't a dictionary.`);
477
+ }
478
+ return {
479
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord)
480
+ };
481
+ };
482
+ const unmarshalImportRawDNSZoneResponse = data => {
483
+ if (!isJSONObject(data)) {
484
+ throw new TypeError(`Unmarshalling the type 'ImportRawDNSZoneResponse' failed as data isn't a dictionary.`);
485
+ }
486
+ return {
487
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord)
488
+ };
489
+ };
490
+ const unmarshalContactRolesRoles = data => {
491
+ if (!isJSONObject(data)) {
492
+ throw new TypeError(`Unmarshalling the type 'ContactRolesRoles' failed as data isn't a dictionary.`);
493
+ }
494
+ return {
495
+ isAdministrative: data.is_administrative,
496
+ isOwner: data.is_owner,
497
+ isTechnical: data.is_technical
498
+ };
499
+ };
500
+ const unmarshalContactRoles = data => {
501
+ if (!isJSONObject(data)) {
502
+ throw new TypeError(`Unmarshalling the type 'ContactRoles' failed as data isn't a dictionary.`);
503
+ }
504
+ return {
505
+ contact: data.contact ? unmarshalContact(data.contact) : undefined,
506
+ roles: unmarshalMapOfObject(data.roles, unmarshalContactRolesRoles)
507
+ };
508
+ };
509
+ const unmarshalListContactsResponse = data => {
510
+ if (!isJSONObject(data)) {
511
+ throw new TypeError(`Unmarshalling the type 'ListContactsResponse' failed as data isn't a dictionary.`);
512
+ }
513
+ return {
514
+ contacts: unmarshalArrayOfObject(data.contacts, unmarshalContactRoles),
515
+ totalCount: data.total_count
516
+ };
517
+ };
518
+ const unmarshalNameserver = data => {
519
+ if (!isJSONObject(data)) {
520
+ throw new TypeError(`Unmarshalling the type 'Nameserver' failed as data isn't a dictionary.`);
521
+ }
522
+ return {
523
+ ip: data.ip,
524
+ name: data.name
525
+ };
526
+ };
527
+ const unmarshalListDNSZoneNameserversResponse = data => {
528
+ if (!isJSONObject(data)) {
529
+ throw new TypeError(`Unmarshalling the type 'ListDNSZoneNameserversResponse' failed as data isn't a dictionary.`);
530
+ }
531
+ return {
532
+ ns: unmarshalArrayOfObject(data.ns, unmarshalNameserver)
533
+ };
534
+ };
535
+ const unmarshalListDNSZoneRecordsResponse = data => {
536
+ if (!isJSONObject(data)) {
537
+ throw new TypeError(`Unmarshalling the type 'ListDNSZoneRecordsResponse' failed as data isn't a dictionary.`);
538
+ }
539
+ return {
540
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord),
541
+ totalCount: data.total_count
542
+ };
543
+ };
544
+ const unmarshalListDNSZoneVersionRecordsResponse = data => {
545
+ if (!isJSONObject(data)) {
546
+ throw new TypeError(`Unmarshalling the type 'ListDNSZoneVersionRecordsResponse' failed as data isn't a dictionary.`);
547
+ }
548
+ return {
549
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord),
550
+ totalCount: data.total_count
551
+ };
552
+ };
553
+ const unmarshalDNSZoneVersion = data => {
554
+ if (!isJSONObject(data)) {
555
+ throw new TypeError(`Unmarshalling the type 'DNSZoneVersion' failed as data isn't a dictionary.`);
556
+ }
557
+ return {
558
+ createdAt: unmarshalDate(data.created_at),
559
+ id: data.id
560
+ };
561
+ };
562
+ const unmarshalListDNSZoneVersionsResponse = data => {
563
+ if (!isJSONObject(data)) {
564
+ throw new TypeError(`Unmarshalling the type 'ListDNSZoneVersionsResponse' failed as data isn't a dictionary.`);
565
+ }
566
+ return {
567
+ totalCount: data.total_count,
568
+ versions: unmarshalArrayOfObject(data.versions, unmarshalDNSZoneVersion)
569
+ };
570
+ };
571
+ const unmarshalListDNSZonesResponse = data => {
572
+ if (!isJSONObject(data)) {
573
+ throw new TypeError(`Unmarshalling the type 'ListDNSZonesResponse' failed as data isn't a dictionary.`);
574
+ }
575
+ return {
576
+ dnsZones: unmarshalArrayOfObject(data.dns_zones, unmarshalDNSZone),
577
+ totalCount: data.total_count
578
+ };
579
+ };
580
+ const unmarshalListDomainHostsResponse = data => {
581
+ if (!isJSONObject(data)) {
582
+ throw new TypeError(`Unmarshalling the type 'ListDomainHostsResponse' failed as data isn't a dictionary.`);
583
+ }
584
+ return {
585
+ hosts: unmarshalArrayOfObject(data.hosts, unmarshalHost),
586
+ totalCount: data.total_count
587
+ };
588
+ };
589
+ const unmarshalDomainSummary = data => {
590
+ if (!isJSONObject(data)) {
591
+ throw new TypeError(`Unmarshalling the type 'DomainSummary' failed as data isn't a dictionary.`);
592
+ }
593
+ return {
594
+ autoRenewStatus: data.auto_renew_status,
595
+ dnssecStatus: data.dnssec_status,
596
+ domain: data.domain,
597
+ eppCode: data.epp_code,
598
+ expiredAt: unmarshalDate(data.expired_at),
599
+ externalDomainRegistrationStatus: data.external_domain_registration_status ? unmarshalDomainRegistrationStatusExternalDomain(data.external_domain_registration_status) : undefined,
600
+ isExternal: data.is_external,
601
+ organizationId: data.organization_id,
602
+ projectId: data.project_id,
603
+ registrar: data.registrar,
604
+ status: data.status,
605
+ transferRegistrationStatus: data.transfer_registration_status ? unmarshalDomainRegistrationStatusTransfer(data.transfer_registration_status) : undefined,
606
+ updatedAt: unmarshalDate(data.updated_at)
607
+ };
608
+ };
609
+ const unmarshalListDomainsResponse = data => {
610
+ if (!isJSONObject(data)) {
611
+ throw new TypeError(`Unmarshalling the type 'ListDomainsResponse' failed as data isn't a dictionary.`);
612
+ }
613
+ return {
614
+ domains: unmarshalArrayOfObject(data.domains, unmarshalDomainSummary),
615
+ totalCount: data.total_count
616
+ };
617
+ };
618
+ const unmarshalRenewableDomain = data => {
619
+ if (!isJSONObject(data)) {
620
+ throw new TypeError(`Unmarshalling the type 'RenewableDomain' failed as data isn't a dictionary.`);
621
+ }
622
+ return {
623
+ domain: data.domain,
624
+ estimatedDeleteAt: unmarshalDate(data.estimated_delete_at),
625
+ expiredAt: unmarshalDate(data.expired_at),
626
+ limitRedemptionAt: unmarshalDate(data.limit_redemption_at),
627
+ limitRenewAt: unmarshalDate(data.limit_renew_at),
628
+ organizationId: data.organization_id,
629
+ projectId: data.project_id,
630
+ renewableDurationInYears: data.renewable_duration_in_years,
631
+ status: data.status,
632
+ tld: data.tld ? unmarshalTld(data.tld) : undefined
633
+ };
634
+ };
635
+ const unmarshalListRenewableDomainsResponse = data => {
636
+ if (!isJSONObject(data)) {
637
+ throw new TypeError(`Unmarshalling the type 'ListRenewableDomainsResponse' failed as data isn't a dictionary.`);
638
+ }
639
+ return {
640
+ domains: unmarshalArrayOfObject(data.domains, unmarshalRenewableDomain),
641
+ totalCount: data.total_count
642
+ };
643
+ };
644
+ const unmarshalListSSLCertificatesResponse = data => {
645
+ if (!isJSONObject(data)) {
646
+ throw new TypeError(`Unmarshalling the type 'ListSSLCertificatesResponse' failed as data isn't a dictionary.`);
647
+ }
648
+ return {
649
+ certificates: unmarshalArrayOfObject(data.certificates, unmarshalSSLCertificate),
650
+ totalCount: data.total_count
651
+ };
652
+ };
653
+ const unmarshalTask = data => {
654
+ if (!isJSONObject(data)) {
655
+ throw new TypeError(`Unmarshalling the type 'Task' failed as data isn't a dictionary.`);
656
+ }
657
+ return {
658
+ domain: data.domain,
659
+ id: data.id,
660
+ message: data.message,
661
+ organizationId: data.organization_id,
662
+ projectId: data.project_id,
663
+ startedAt: unmarshalDate(data.started_at),
664
+ status: data.status,
665
+ type: data.type,
666
+ updatedAt: unmarshalDate(data.updated_at)
667
+ };
668
+ };
669
+ const unmarshalListTasksResponse = data => {
670
+ if (!isJSONObject(data)) {
671
+ throw new TypeError(`Unmarshalling the type 'ListTasksResponse' failed as data isn't a dictionary.`);
672
+ }
673
+ return {
674
+ tasks: unmarshalArrayOfObject(data.tasks, unmarshalTask),
675
+ totalCount: data.total_count
676
+ };
677
+ };
678
+ const unmarshalListTldsResponse = data => {
679
+ if (!isJSONObject(data)) {
680
+ throw new TypeError(`Unmarshalling the type 'ListTldsResponse' failed as data isn't a dictionary.`);
681
+ }
682
+ return {
683
+ tlds: unmarshalArrayOfObject(data.tlds, unmarshalTld),
684
+ totalCount: data.total_count
685
+ };
686
+ };
687
+ const unmarshalOrderResponse = data => {
688
+ if (!isJSONObject(data)) {
689
+ throw new TypeError(`Unmarshalling the type 'OrderResponse' failed as data isn't a dictionary.`);
690
+ }
691
+ return {
692
+ createdAt: unmarshalDate(data.created_at),
693
+ domains: data.domains,
694
+ organizationId: data.organization_id,
695
+ projectId: data.project_id,
696
+ taskId: data.task_id
697
+ };
698
+ };
699
+ const unmarshalRefreshDNSZoneResponse = data => {
700
+ if (!isJSONObject(data)) {
701
+ throw new TypeError(`Unmarshalling the type 'RefreshDNSZoneResponse' failed as data isn't a dictionary.`);
702
+ }
703
+ return {
704
+ dnsZones: unmarshalArrayOfObject(data.dns_zones, unmarshalDNSZone)
705
+ };
706
+ };
707
+ const unmarshalRegisterExternalDomainResponse = data => {
708
+ if (!isJSONObject(data)) {
709
+ throw new TypeError(`Unmarshalling the type 'RegisterExternalDomainResponse' failed as data isn't a dictionary.`);
710
+ }
711
+ return {
712
+ createdAt: unmarshalDate(data.created_at),
713
+ domain: data.domain,
714
+ organizationId: data.organization_id,
715
+ projectId: data.project_id,
716
+ validationToken: data.validation_token
717
+ };
718
+ };
719
+ const unmarshalRestoreDNSZoneVersionResponse = data => {
720
+ if (!isJSONObject(data)) {
721
+ throw new TypeError(`Unmarshalling the type 'RestoreDNSZoneVersionResponse' failed as data isn't a dictionary.`);
722
+ }
723
+ return {};
724
+ };
725
+ const unmarshalAvailableDomain = data => {
726
+ if (!isJSONObject(data)) {
727
+ throw new TypeError(`Unmarshalling the type 'AvailableDomain' failed as data isn't a dictionary.`);
728
+ }
729
+ return {
730
+ available: data.available,
731
+ domain: data.domain,
732
+ tld: data.tld ? unmarshalTld(data.tld) : undefined
733
+ };
734
+ };
735
+ const unmarshalSearchAvailableDomainsResponse = data => {
736
+ if (!isJSONObject(data)) {
737
+ throw new TypeError(`Unmarshalling the type 'SearchAvailableDomainsResponse' failed as data isn't a dictionary.`);
738
+ }
739
+ return {
740
+ availableDomains: unmarshalArrayOfObject(data.available_domains, unmarshalAvailableDomain)
741
+ };
742
+ };
743
+ const unmarshalUpdateDNSZoneNameserversResponse = data => {
744
+ if (!isJSONObject(data)) {
745
+ throw new TypeError(`Unmarshalling the type 'UpdateDNSZoneNameserversResponse' failed as data isn't a dictionary.`);
746
+ }
747
+ return {
748
+ ns: unmarshalArrayOfObject(data.ns, unmarshalNameserver)
749
+ };
750
+ };
751
+ const unmarshalUpdateDNSZoneRecordsResponse = data => {
752
+ if (!isJSONObject(data)) {
753
+ throw new TypeError(`Unmarshalling the type 'UpdateDNSZoneRecordsResponse' failed as data isn't a dictionary.`);
754
+ }
755
+ return {
756
+ records: unmarshalArrayOfObject(data.records, unmarshalDomainRecord)
757
+ };
758
+ };
759
+ const marshalCloneDNSZoneRequest = (request, defaults) => ({
760
+ dest_dns_zone: request.destDnsZone,
761
+ overwrite: request.overwrite,
762
+ project_id: request.projectId ?? defaults.defaultProjectId
763
+ });
764
+ const marshalCreateDNSZoneRequest = (request, defaults) => ({
765
+ domain: request.domain,
766
+ project_id: request.projectId ?? defaults.defaultProjectId,
767
+ subdomain: request.subdomain
768
+ });
769
+ const marshalCreateSSLCertificateRequest = (request, defaults) => ({
770
+ alternative_dns_zones: request.alternativeDnsZones,
771
+ dns_zone: request.dnsZone
772
+ });
773
+ const marshalImportProviderDNSZoneRequestOnlineV1 = (request, defaults) => ({
774
+ token: request.token
775
+ });
776
+ const marshalImportProviderDNSZoneRequest = (request, defaults) => ({
777
+ ...resolveOneOf([{
778
+ param: 'online_v1',
779
+ value: request.onlineV1 !== undefined ? marshalImportProviderDNSZoneRequestOnlineV1(request.onlineV1) : undefined
780
+ }])
781
+ });
782
+ const marshalImportRawDNSZoneRequestTsigKey = (request, defaults) => ({
783
+ algorithm: request.algorithm,
784
+ key: request.key,
785
+ name: request.name
786
+ });
787
+ const marshalImportRawDNSZoneRequestAXFRSource = (request, defaults) => ({
788
+ name_server: request.nameServer,
789
+ tsig_key: request.tsigKey !== undefined ? marshalImportRawDNSZoneRequestTsigKey(request.tsigKey) : undefined
790
+ });
791
+ const marshalImportRawDNSZoneRequestBindSource = (request, defaults) => ({
792
+ content: request.content
793
+ });
794
+ const marshalImportRawDNSZoneRequest = (request, defaults) => ({
795
+ content: request.content,
796
+ format: request.format,
797
+ project_id: request.projectId ?? defaults.defaultProjectId,
798
+ ...resolveOneOf([{
799
+ param: 'bind_source',
800
+ value: request.bindSource !== undefined ? marshalImportRawDNSZoneRequestBindSource(request.bindSource) : undefined
801
+ }, {
802
+ param: 'axfr_source',
803
+ value: request.axfrSource !== undefined ? marshalImportRawDNSZoneRequestAXFRSource(request.axfrSource) : undefined
804
+ }])
805
+ });
806
+ const marshalRefreshDNSZoneRequest = (request, defaults) => ({
807
+ recreate_dns_zone: request.recreateDnsZone,
808
+ recreate_sub_dns_zone: request.recreateSubDnsZone
809
+ });
810
+ const marshalContactExtensionFRAssociationInfo = (request, defaults) => ({
811
+ publication_jo: request.publicationJo,
812
+ publication_jo_page: request.publicationJoPage
813
+ });
814
+ const marshalContactExtensionFRCodeAuthAfnicInfo = (request, defaults) => ({
815
+ code_auth_afnic: request.codeAuthAfnic
816
+ });
817
+ const marshalContactExtensionFRDunsInfo = (request, defaults) => ({
818
+ duns_id: request.dunsId,
819
+ local_id: request.localId
820
+ });
821
+ const marshalContactExtensionFRIndividualInfo = (request, defaults) => ({
822
+ whois_opt_in: request.whoisOptIn
823
+ });
824
+ const marshalContactExtensionFRTrademarkInfo = (request, defaults) => ({
825
+ trademark_inpi: request.trademarkInpi
826
+ });
827
+ const marshalContactExtensionEU = (request, defaults) => ({
828
+ european_citizenship: request.europeanCitizenship
829
+ });
830
+ const marshalContactExtensionFR = (request, defaults) => ({
831
+ mode: request.mode,
832
+ ...resolveOneOf([{
833
+ param: 'individual_info',
834
+ value: request.individualInfo !== undefined ? marshalContactExtensionFRIndividualInfo(request.individualInfo) : undefined
835
+ }, {
836
+ param: 'duns_info',
837
+ value: request.dunsInfo !== undefined ? marshalContactExtensionFRDunsInfo(request.dunsInfo) : undefined
838
+ }, {
839
+ param: 'association_info',
840
+ value: request.associationInfo !== undefined ? marshalContactExtensionFRAssociationInfo(request.associationInfo) : undefined
841
+ }, {
842
+ param: 'trademark_info',
843
+ value: request.trademarkInfo !== undefined ? marshalContactExtensionFRTrademarkInfo(request.trademarkInfo) : undefined
844
+ }, {
845
+ param: 'code_auth_afnic_info',
846
+ value: request.codeAuthAfnicInfo !== undefined ? marshalContactExtensionFRCodeAuthAfnicInfo(request.codeAuthAfnicInfo) : undefined
847
+ }])
848
+ });
849
+ const marshalContactExtensionNL = (request, defaults) => ({
850
+ legal_form: request.legalForm,
851
+ legal_form_registration_number: request.legalFormRegistrationNumber
852
+ });
853
+ const marshalContactQuestion = (request, defaults) => ({
854
+ answer: request.answer,
855
+ question: request.question
856
+ });
857
+ const marshalNewContact = (request, defaults) => ({
858
+ address_line_1: request.addressLine1,
859
+ address_line_2: request.addressLine2,
860
+ city: request.city,
861
+ company_identification_code: request.companyIdentificationCode,
862
+ company_name: request.companyName,
863
+ country: request.country,
864
+ email: request.email,
865
+ email_alt: request.emailAlt,
866
+ extension_eu: request.extensionEu !== undefined ? marshalContactExtensionEU(request.extensionEu) : undefined,
867
+ extension_fr: request.extensionFr !== undefined ? marshalContactExtensionFR(request.extensionFr) : undefined,
868
+ extension_nl: request.extensionNl !== undefined ? marshalContactExtensionNL(request.extensionNl) : undefined,
869
+ fax_number: request.faxNumber,
870
+ firstname: request.firstname,
871
+ lang: request.lang,
872
+ lastname: request.lastname,
873
+ legal_form: request.legalForm,
874
+ phone_number: request.phoneNumber,
875
+ questions: request.questions !== undefined ? request.questions.map(elt => marshalContactQuestion(elt)) : undefined,
876
+ resale: request.resale,
877
+ state: request.state,
878
+ vat_identification_code: request.vatIdentificationCode,
879
+ whois_opt_in: request.whoisOptIn,
880
+ zip: request.zip
881
+ });
882
+ const marshalRegistrarApiBuyDomainsRequest = (request, defaults) => ({
883
+ domains: request.domains,
884
+ duration_in_years: request.durationInYears,
885
+ project_id: request.projectId ?? defaults.defaultProjectId,
886
+ ...resolveOneOf([{
887
+ param: 'owner_contact_id',
888
+ value: request.ownerContactId
889
+ }, {
890
+ param: 'owner_contact',
891
+ value: request.ownerContact !== undefined ? marshalNewContact(request.ownerContact) : undefined
892
+ }]),
893
+ ...resolveOneOf([{
894
+ param: 'administrative_contact_id',
895
+ value: request.administrativeContactId
896
+ }, {
897
+ param: 'administrative_contact',
898
+ value: request.administrativeContact !== undefined ? marshalNewContact(request.administrativeContact) : undefined
899
+ }]),
900
+ ...resolveOneOf([{
901
+ param: 'technical_contact_id',
902
+ value: request.technicalContactId
903
+ }, {
904
+ param: 'technical_contact',
905
+ value: request.technicalContact !== undefined ? marshalNewContact(request.technicalContact) : undefined
906
+ }])
907
+ });
908
+ const marshalRegistrarApiCheckContactsCompatibilityRequest = (request, defaults) => ({
909
+ domains: request.domains,
910
+ tlds: request.tlds,
911
+ ...resolveOneOf([{
912
+ param: 'owner_contact_id',
913
+ value: request.ownerContactId
914
+ }, {
915
+ param: 'owner_contact',
916
+ value: request.ownerContact !== undefined ? marshalNewContact(request.ownerContact) : undefined
917
+ }]),
918
+ ...resolveOneOf([{
919
+ param: 'administrative_contact_id',
920
+ value: request.administrativeContactId
921
+ }, {
922
+ param: 'administrative_contact',
923
+ value: request.administrativeContact !== undefined ? marshalNewContact(request.administrativeContact) : undefined
924
+ }]),
925
+ ...resolveOneOf([{
926
+ param: 'technical_contact_id',
927
+ value: request.technicalContactId
928
+ }, {
929
+ param: 'technical_contact',
930
+ value: request.technicalContact !== undefined ? marshalNewContact(request.technicalContact) : undefined
931
+ }])
932
+ });
933
+ const marshalRegistrarApiCreateDomainHostRequest = (request, defaults) => ({
934
+ ips: request.ips,
935
+ name: request.name
936
+ });
937
+ const marshalDSRecordPublicKey = (request, defaults) => ({
938
+ key: request.key
939
+ });
940
+ const marshalDSRecordDigest = (request, defaults) => ({
941
+ digest: request.digest,
942
+ public_key: request.publicKey !== undefined ? marshalDSRecordPublicKey(request.publicKey) : undefined,
943
+ type: request.type
944
+ });
945
+ const marshalDSRecord = (request, defaults) => ({
946
+ algorithm: request.algorithm,
947
+ key_id: request.keyId,
948
+ ...resolveOneOf([{
949
+ param: 'digest',
950
+ value: request.digest !== undefined ? marshalDSRecordDigest(request.digest) : undefined
951
+ }, {
952
+ param: 'public_key',
953
+ value: request.publicKey !== undefined ? marshalDSRecordPublicKey(request.publicKey) : undefined
954
+ }])
955
+ });
956
+ const marshalRegistrarApiEnableDomainDNSSECRequest = (request, defaults) => ({
957
+ ds_record: request.dsRecord !== undefined ? marshalDSRecord(request.dsRecord) : undefined
958
+ });
959
+ const marshalRegistrarApiRegisterExternalDomainRequest = (request, defaults) => ({
960
+ domain: request.domain,
961
+ project_id: request.projectId ?? defaults.defaultProjectId
962
+ });
963
+ const marshalRegistrarApiRenewDomainsRequest = (request, defaults) => ({
964
+ domains: request.domains,
965
+ duration_in_years: request.durationInYears,
966
+ force_late_renewal: request.forceLateRenewal
967
+ });
968
+ const marshalRegistrarApiTradeDomainRequest = (request, defaults) => ({
969
+ project_id: request.projectId ?? defaults.defaultProjectId,
970
+ ...resolveOneOf([{
971
+ param: 'new_owner_contact_id',
972
+ value: request.newOwnerContactId
973
+ }, {
974
+ param: 'new_owner_contact',
975
+ value: request.newOwnerContact !== undefined ? marshalNewContact(request.newOwnerContact) : undefined
976
+ }])
977
+ });
978
+ const marshalTransferInDomainRequestTransferRequest = (request, defaults) => ({
979
+ auth_code: request.authCode,
980
+ domain: request.domain
981
+ });
982
+ const marshalRegistrarApiTransferInDomainRequest = (request, defaults) => ({
983
+ domains: request.domains.map(elt => marshalTransferInDomainRequestTransferRequest(elt)),
984
+ project_id: request.projectId ?? defaults.defaultProjectId,
985
+ ...resolveOneOf([{
986
+ param: 'owner_contact_id',
987
+ value: request.ownerContactId
988
+ }, {
989
+ param: 'owner_contact',
990
+ value: request.ownerContact !== undefined ? marshalNewContact(request.ownerContact) : undefined
991
+ }]),
992
+ ...resolveOneOf([{
993
+ param: 'administrative_contact_id',
994
+ value: request.administrativeContactId
995
+ }, {
996
+ param: 'administrative_contact',
997
+ value: request.administrativeContact !== undefined ? marshalNewContact(request.administrativeContact) : undefined
998
+ }]),
999
+ ...resolveOneOf([{
1000
+ param: 'technical_contact_id',
1001
+ value: request.technicalContactId
1002
+ }, {
1003
+ param: 'technical_contact',
1004
+ value: request.technicalContact !== undefined ? marshalNewContact(request.technicalContact) : undefined
1005
+ }])
1006
+ });
1007
+ const marshalUpdateContactRequestQuestion = (request, defaults) => ({
1008
+ answer: request.answer,
1009
+ question: request.question
1010
+ });
1011
+ const marshalRegistrarApiUpdateContactRequest = (request, defaults) => ({
1012
+ address_line_1: request.addressLine1,
1013
+ address_line_2: request.addressLine2,
1014
+ city: request.city,
1015
+ company_identification_code: request.companyIdentificationCode,
1016
+ country: request.country,
1017
+ email: request.email,
1018
+ email_alt: request.emailAlt,
1019
+ extension_eu: request.extensionEu !== undefined ? marshalContactExtensionEU(request.extensionEu) : undefined,
1020
+ extension_fr: request.extensionFr !== undefined ? marshalContactExtensionFR(request.extensionFr) : undefined,
1021
+ extension_nl: request.extensionNl !== undefined ? marshalContactExtensionNL(request.extensionNl) : undefined,
1022
+ fax_number: request.faxNumber,
1023
+ lang: request.lang,
1024
+ phone_number: request.phoneNumber,
1025
+ questions: request.questions !== undefined ? request.questions.map(elt => marshalUpdateContactRequestQuestion(elt)) : undefined,
1026
+ resale: request.resale,
1027
+ state: request.state,
1028
+ vat_identification_code: request.vatIdentificationCode,
1029
+ whois_opt_in: request.whoisOptIn,
1030
+ zip: request.zip
1031
+ });
1032
+ const marshalRegistrarApiUpdateDomainHostRequest = (request, defaults) => ({
1033
+ ips: request.ips
1034
+ });
1035
+ const marshalRegistrarApiUpdateDomainRequest = (request, defaults) => ({
1036
+ ...resolveOneOf([{
1037
+ param: 'technical_contact_id',
1038
+ value: request.technicalContactId
1039
+ }, {
1040
+ param: 'technical_contact',
1041
+ value: request.technicalContact !== undefined ? marshalNewContact(request.technicalContact) : undefined
1042
+ }]),
1043
+ ...resolveOneOf([{
1044
+ param: 'owner_contact_id',
1045
+ value: request.ownerContactId
1046
+ }, {
1047
+ param: 'owner_contact',
1048
+ value: request.ownerContact !== undefined ? marshalNewContact(request.ownerContact) : undefined
1049
+ }]),
1050
+ ...resolveOneOf([{
1051
+ param: 'administrative_contact_id',
1052
+ value: request.administrativeContactId
1053
+ }, {
1054
+ param: 'administrative_contact',
1055
+ value: request.administrativeContact !== undefined ? marshalNewContact(request.administrativeContact) : undefined
1056
+ }])
1057
+ });
1058
+ const marshalNameserver = (request, defaults) => ({
1059
+ ip: request.ip,
1060
+ name: request.name
1061
+ });
1062
+ const marshalUpdateDNSZoneNameserversRequest = (request, defaults) => ({
1063
+ ns: request.ns.map(elt => marshalNameserver(elt))
1064
+ });
1065
+ const marshalDomainRecordGeoIPConfigMatch = (request, defaults) => ({
1066
+ continents: request.continents,
1067
+ countries: request.countries,
1068
+ data: request.data
1069
+ });
1070
+ const marshalDomainRecordViewConfigView = (request, defaults) => ({
1071
+ data: request.data,
1072
+ subnet: request.subnet
1073
+ });
1074
+ const marshalDomainRecordWeightedConfigWeightedIP = (request, defaults) => ({
1075
+ ip: request.ip,
1076
+ weight: request.weight
1077
+ });
1078
+ const marshalDomainRecordGeoIPConfig = (request, defaults) => ({
1079
+ default: request.default,
1080
+ matches: request.matches.map(elt => marshalDomainRecordGeoIPConfigMatch(elt))
1081
+ });
1082
+ const marshalDomainRecordHTTPServiceConfig = (request, defaults) => ({
1083
+ ips: request.ips,
1084
+ must_contain: request.mustContain,
1085
+ strategy: request.strategy,
1086
+ url: request.url,
1087
+ user_agent: request.userAgent
1088
+ });
1089
+ const marshalDomainRecordViewConfig = (request, defaults) => ({
1090
+ views: request.views.map(elt => marshalDomainRecordViewConfigView(elt))
1091
+ });
1092
+ const marshalDomainRecordWeightedConfig = (request, defaults) => ({
1093
+ weighted_ips: request.weightedIps.map(elt => marshalDomainRecordWeightedConfigWeightedIP(elt))
1094
+ });
1095
+ const marshalDomainRecord = (request, defaults) => ({
1096
+ comment: request.comment,
1097
+ data: request.data,
1098
+ id: request.id,
1099
+ name: request.name,
1100
+ priority: request.priority,
1101
+ ttl: request.ttl,
1102
+ type: request.type,
1103
+ ...resolveOneOf([{
1104
+ param: 'geo_ip_config',
1105
+ value: request.geoIpConfig !== undefined ? marshalDomainRecordGeoIPConfig(request.geoIpConfig) : undefined
1106
+ }, {
1107
+ param: 'http_service_config',
1108
+ value: request.httpServiceConfig !== undefined ? marshalDomainRecordHTTPServiceConfig(request.httpServiceConfig) : undefined
1109
+ }, {
1110
+ param: 'weighted_config',
1111
+ value: request.weightedConfig !== undefined ? marshalDomainRecordWeightedConfig(request.weightedConfig) : undefined
1112
+ }, {
1113
+ param: 'view_config',
1114
+ value: request.viewConfig !== undefined ? marshalDomainRecordViewConfig(request.viewConfig) : undefined
1115
+ }])
1116
+ });
1117
+ const marshalRecordIdentifier = (request, defaults) => ({
1118
+ data: request.data,
1119
+ name: request.name,
1120
+ ttl: request.ttl,
1121
+ type: request.type
1122
+ });
1123
+ const marshalRecordChangeAdd = (request, defaults) => ({
1124
+ records: request.records.map(elt => marshalDomainRecord(elt))
1125
+ });
1126
+ const marshalRecordChangeClear = (request, defaults) => ({});
1127
+ const marshalRecordChangeDelete = (request, defaults) => ({
1128
+ ...resolveOneOf([{
1129
+ param: 'id',
1130
+ value: request.id
1131
+ }, {
1132
+ param: 'id_fields',
1133
+ value: request.idFields !== undefined ? marshalRecordIdentifier(request.idFields) : undefined
1134
+ }])
1135
+ });
1136
+ const marshalRecordChangeSet = (request, defaults) => ({
1137
+ records: request.records.map(elt => marshalDomainRecord(elt)),
1138
+ ...resolveOneOf([{
1139
+ param: 'id',
1140
+ value: request.id
1141
+ }, {
1142
+ param: 'id_fields',
1143
+ value: request.idFields !== undefined ? marshalRecordIdentifier(request.idFields) : undefined
1144
+ }])
1145
+ });
1146
+ const marshalRecordChange = (request, defaults) => ({
1147
+ ...resolveOneOf([{
1148
+ param: 'add',
1149
+ value: request.add !== undefined ? marshalRecordChangeAdd(request.add) : undefined
1150
+ }, {
1151
+ param: 'set',
1152
+ value: request.set !== undefined ? marshalRecordChangeSet(request.set) : undefined
1153
+ }, {
1154
+ param: 'delete',
1155
+ value: request.delete !== undefined ? marshalRecordChangeDelete(request.delete) : undefined
1156
+ }, {
1157
+ param: 'clear',
1158
+ value: request.clear !== undefined ? marshalRecordChangeClear(request.clear) : undefined
1159
+ }])
1160
+ });
1161
+ const marshalUpdateDNSZoneRecordsRequest = (request, defaults) => ({
1162
+ changes: request.changes.map(elt => marshalRecordChange(elt)),
1163
+ disallow_new_zone_creation: request.disallowNewZoneCreation,
1164
+ return_all_records: request.returnAllRecords,
1165
+ serial: request.serial
1166
+ });
1167
+ const marshalUpdateDNSZoneRequest = (request, defaults) => ({
1168
+ new_dns_zone: request.newDnsZone,
1169
+ project_id: request.projectId ?? defaults.defaultProjectId
1170
+ });
1171
+
1172
+ export { marshalCloneDNSZoneRequest, marshalCreateDNSZoneRequest, marshalCreateSSLCertificateRequest, marshalDSRecord, marshalImportProviderDNSZoneRequest, marshalImportRawDNSZoneRequest, marshalRefreshDNSZoneRequest, marshalRegistrarApiBuyDomainsRequest, marshalRegistrarApiCheckContactsCompatibilityRequest, marshalRegistrarApiCreateDomainHostRequest, marshalRegistrarApiEnableDomainDNSSECRequest, marshalRegistrarApiRegisterExternalDomainRequest, marshalRegistrarApiRenewDomainsRequest, marshalRegistrarApiTradeDomainRequest, marshalRegistrarApiTransferInDomainRequest, marshalRegistrarApiUpdateContactRequest, marshalRegistrarApiUpdateDomainHostRequest, marshalRegistrarApiUpdateDomainRequest, marshalUpdateDNSZoneNameserversRequest, marshalUpdateDNSZoneRecordsRequest, marshalUpdateDNSZoneRequest, unmarshalCheckContactsCompatibilityResponse, unmarshalClearDNSZoneRecordsResponse, unmarshalContact, unmarshalDNSZone, unmarshalDSRecord, unmarshalDeleteDNSZoneResponse, unmarshalDeleteExternalDomainResponse, unmarshalDeleteSSLCertificateResponse, unmarshalDomain, unmarshalGetDNSZoneTsigKeyResponse, unmarshalGetDNSZoneVersionDiffResponse, unmarshalGetDomainAuthCodeResponse, unmarshalHost, unmarshalImportProviderDNSZoneResponse, unmarshalImportRawDNSZoneResponse, unmarshalListContactsResponse, unmarshalListDNSZoneNameserversResponse, unmarshalListDNSZoneRecordsResponse, unmarshalListDNSZoneVersionRecordsResponse, unmarshalListDNSZoneVersionsResponse, unmarshalListDNSZonesResponse, unmarshalListDomainHostsResponse, unmarshalListDomainsResponse, unmarshalListRenewableDomainsResponse, unmarshalListSSLCertificatesResponse, unmarshalListTasksResponse, unmarshalListTldsResponse, unmarshalOrderResponse, unmarshalRefreshDNSZoneResponse, unmarshalRegisterExternalDomainResponse, unmarshalRestoreDNSZoneVersionResponse, unmarshalSSLCertificate, unmarshalSearchAvailableDomainsResponse, unmarshalTask, unmarshalUpdateDNSZoneNameserversResponse, unmarshalUpdateDNSZoneRecordsResponse };