@hostafrica/ha-sdk-typescript 1.1.3 → 1.1.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.
Files changed (194) hide show
  1. package/dist/apis/BillingApi.d.ts +45 -0
  2. package/dist/apis/BillingApi.js +122 -0
  3. package/dist/apis/DNSApi.d.ts +8 -8
  4. package/dist/apis/DNSApi.js +8 -8
  5. package/dist/apis/VPSManagementApi.d.ts +18 -3
  6. package/dist/apis/VPSManagementApi.js +49 -2
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/esm/apis/BillingApi.d.ts +45 -0
  10. package/dist/esm/apis/BillingApi.js +118 -0
  11. package/dist/esm/apis/DNSApi.d.ts +8 -8
  12. package/dist/esm/apis/DNSApi.js +8 -8
  13. package/dist/esm/apis/VPSManagementApi.d.ts +18 -3
  14. package/dist/esm/apis/VPSManagementApi.js +50 -3
  15. package/dist/esm/apis/index.d.ts +1 -0
  16. package/dist/esm/apis/index.js +1 -0
  17. package/dist/esm/models/AddDnsRecordRequestContent.d.ts +22 -3
  18. package/dist/esm/models/AddDnsRecordRequestContent.js +8 -3
  19. package/dist/esm/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  20. package/dist/esm/models/DeleteDnsRecordRequestContent.js +8 -3
  21. package/dist/esm/models/DnsBackend.d.ts +28 -0
  22. package/dist/esm/models/DnsBackend.js +46 -0
  23. package/dist/esm/models/DnsRecordMutationRecord.d.ts +3 -2
  24. package/dist/esm/models/DnsZoneInfo.d.ts +7 -0
  25. package/dist/esm/models/DnsZoneInfo.js +3 -0
  26. package/dist/esm/models/EditDnsRecordRequestContent.d.ts +22 -3
  27. package/dist/esm/models/EditDnsRecordRequestContent.js +8 -3
  28. package/dist/esm/models/EncryptedPasswordResponseData.d.ts +45 -0
  29. package/dist/esm/models/EncryptedPasswordResponseData.js +52 -0
  30. package/dist/esm/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  31. package/dist/esm/models/GetDnsZoneDetailsRequestContent.js +3 -0
  32. package/dist/esm/models/GetEncryptedPasswordRequestContent.d.ts +38 -0
  33. package/dist/esm/models/GetEncryptedPasswordRequestContent.js +47 -0
  34. package/dist/esm/models/GetEncryptedPasswordResponseContent.d.ts +40 -0
  35. package/dist/esm/models/GetEncryptedPasswordResponseContent.js +49 -0
  36. package/dist/esm/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  37. package/dist/esm/models/GetInvoiceDetailsRequestContent.js +43 -0
  38. package/dist/esm/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  39. package/dist/esm/models/GetInvoiceDetailsResponseContent.js +49 -0
  40. package/dist/esm/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  41. package/dist/esm/models/GetInvoiceDetailsResponseData.js +47 -0
  42. package/dist/esm/models/InvoiceDetails.d.ts +143 -0
  43. package/dist/esm/models/InvoiceDetails.js +112 -0
  44. package/dist/esm/models/InvoiceIssuedTo.d.ts +69 -0
  45. package/dist/esm/models/InvoiceIssuedTo.js +66 -0
  46. package/dist/esm/models/InvoiceIssuedToTax.d.ts +44 -0
  47. package/dist/esm/models/InvoiceIssuedToTax.js +51 -0
  48. package/dist/esm/models/InvoiceItem.d.ts +56 -0
  49. package/dist/esm/models/InvoiceItem.js +59 -0
  50. package/dist/esm/models/InvoiceSummary.d.ts +98 -0
  51. package/dist/esm/models/InvoiceSummary.js +83 -0
  52. package/dist/esm/models/InvoiceTransaction.d.ts +74 -0
  53. package/dist/esm/models/InvoiceTransaction.js +57 -0
  54. package/dist/esm/models/ListInvoicesResponseContent.d.ts +40 -0
  55. package/dist/esm/models/ListInvoicesResponseContent.js +49 -0
  56. package/dist/esm/models/ListInvoicesResponseData.d.ts +39 -0
  57. package/dist/esm/models/ListInvoicesResponseData.js +48 -0
  58. package/dist/esm/models/NoVncConsoleDetails.d.ts +19 -1
  59. package/dist/esm/models/NoVncConsoleDetails.js +7 -3
  60. package/dist/esm/models/PasswordEncryptionInfo.d.ts +50 -0
  61. package/dist/esm/models/PasswordEncryptionInfo.js +55 -0
  62. package/dist/esm/models/SelcomMetadata.d.ts +56 -0
  63. package/dist/esm/models/SelcomMetadata.js +59 -0
  64. package/dist/esm/models/VpsCredentials.d.ts +1 -1
  65. package/dist/esm/models/VpsDetailsResponse.d.ts +4 -3
  66. package/dist/esm/models/VpsDetailsResponse.js +3 -2
  67. package/dist/esm/models/VpsIpAddressDetail.d.ts +56 -0
  68. package/dist/esm/models/VpsIpAddressDetail.js +51 -0
  69. package/dist/esm/models/VpsVmInfo.d.ts +3 -3
  70. package/dist/esm/models/index.d.ts +18 -0
  71. package/dist/esm/models/index.js +18 -0
  72. package/dist/esm/retryablePaths.js +3 -0
  73. package/dist/models/AddDnsRecordRequestContent.d.ts +22 -3
  74. package/dist/models/AddDnsRecordRequestContent.js +8 -3
  75. package/dist/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  76. package/dist/models/DeleteDnsRecordRequestContent.js +8 -3
  77. package/dist/models/DnsBackend.d.ts +28 -0
  78. package/dist/models/DnsBackend.js +54 -0
  79. package/dist/models/DnsRecordMutationRecord.d.ts +3 -2
  80. package/dist/models/DnsZoneInfo.d.ts +7 -0
  81. package/dist/models/DnsZoneInfo.js +3 -0
  82. package/dist/models/EditDnsRecordRequestContent.d.ts +22 -3
  83. package/dist/models/EditDnsRecordRequestContent.js +8 -3
  84. package/dist/models/EncryptedPasswordResponseData.d.ts +45 -0
  85. package/dist/models/EncryptedPasswordResponseData.js +59 -0
  86. package/dist/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  87. package/dist/models/GetDnsZoneDetailsRequestContent.js +3 -0
  88. package/dist/models/GetEncryptedPasswordRequestContent.d.ts +38 -0
  89. package/dist/models/GetEncryptedPasswordRequestContent.js +54 -0
  90. package/dist/models/GetEncryptedPasswordResponseContent.d.ts +40 -0
  91. package/dist/models/GetEncryptedPasswordResponseContent.js +56 -0
  92. package/dist/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  93. package/dist/models/GetInvoiceDetailsRequestContent.js +50 -0
  94. package/dist/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  95. package/dist/models/GetInvoiceDetailsResponseContent.js +56 -0
  96. package/dist/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  97. package/dist/models/GetInvoiceDetailsResponseData.js +54 -0
  98. package/dist/models/InvoiceDetails.d.ts +143 -0
  99. package/dist/models/InvoiceDetails.js +119 -0
  100. package/dist/models/InvoiceIssuedTo.d.ts +69 -0
  101. package/dist/models/InvoiceIssuedTo.js +73 -0
  102. package/dist/models/InvoiceIssuedToTax.d.ts +44 -0
  103. package/dist/models/InvoiceIssuedToTax.js +58 -0
  104. package/dist/models/InvoiceItem.d.ts +56 -0
  105. package/dist/models/InvoiceItem.js +66 -0
  106. package/dist/models/InvoiceSummary.d.ts +98 -0
  107. package/dist/models/InvoiceSummary.js +90 -0
  108. package/dist/models/InvoiceTransaction.d.ts +74 -0
  109. package/dist/models/InvoiceTransaction.js +64 -0
  110. package/dist/models/ListInvoicesResponseContent.d.ts +40 -0
  111. package/dist/models/ListInvoicesResponseContent.js +56 -0
  112. package/dist/models/ListInvoicesResponseData.d.ts +39 -0
  113. package/dist/models/ListInvoicesResponseData.js +55 -0
  114. package/dist/models/NoVncConsoleDetails.d.ts +19 -1
  115. package/dist/models/NoVncConsoleDetails.js +7 -3
  116. package/dist/models/PasswordEncryptionInfo.d.ts +50 -0
  117. package/dist/models/PasswordEncryptionInfo.js +62 -0
  118. package/dist/models/SelcomMetadata.d.ts +56 -0
  119. package/dist/models/SelcomMetadata.js +66 -0
  120. package/dist/models/VpsCredentials.d.ts +1 -1
  121. package/dist/models/VpsDetailsResponse.d.ts +4 -3
  122. package/dist/models/VpsDetailsResponse.js +3 -2
  123. package/dist/models/VpsIpAddressDetail.d.ts +56 -0
  124. package/dist/models/VpsIpAddressDetail.js +58 -0
  125. package/dist/models/VpsVmInfo.d.ts +3 -3
  126. package/dist/models/index.d.ts +18 -0
  127. package/dist/models/index.js +18 -0
  128. package/dist/retryablePaths.js +3 -0
  129. package/dist.zip +0 -0
  130. package/docs/AddDnsRecordRequestContent.md +6 -0
  131. package/docs/BillingApi.md +159 -0
  132. package/docs/DNSApi.md +4 -4
  133. package/docs/DeleteDnsRecordRequestContent.md +6 -0
  134. package/docs/DnsBackend.md +33 -0
  135. package/docs/DnsRecordMutationRecord.md +1 -1
  136. package/docs/DnsZoneInfo.md +2 -0
  137. package/docs/EditDnsRecordRequestContent.md +6 -0
  138. package/docs/EncryptedPasswordResponseData.md +39 -0
  139. package/docs/GetDnsZoneDetailsRequestContent.md +2 -0
  140. package/docs/GetEncryptedPasswordRequestContent.md +36 -0
  141. package/docs/GetEncryptedPasswordResponseContent.md +36 -0
  142. package/docs/GetInvoiceDetailsRequestContent.md +34 -0
  143. package/docs/GetInvoiceDetailsResponseContent.md +36 -0
  144. package/docs/GetInvoiceDetailsResponseData.md +37 -0
  145. package/docs/InvoiceDetails.md +71 -0
  146. package/docs/InvoiceIssuedTo.md +47 -0
  147. package/docs/InvoiceIssuedToTax.md +39 -0
  148. package/docs/InvoiceItem.md +43 -0
  149. package/docs/InvoiceSummary.md +57 -0
  150. package/docs/InvoiceTransaction.md +49 -0
  151. package/docs/ListInvoicesResponseContent.md +36 -0
  152. package/docs/ListInvoicesResponseData.md +37 -0
  153. package/docs/NoVncConsoleDetails.md +6 -0
  154. package/docs/PasswordEncryptionInfo.md +41 -0
  155. package/docs/SelcomMetadata.md +43 -0
  156. package/docs/VPSManagementApi.md +81 -1
  157. package/docs/VpsDetailsResponse.md +1 -1
  158. package/docs/VpsIpAddressDetail.md +43 -0
  159. package/docs/VpsVmInfo.md +1 -1
  160. package/package.json +1 -1
  161. package/src/apis/BillingApi.ts +164 -0
  162. package/src/apis/DNSApi.ts +8 -8
  163. package/src/apis/VPSManagementApi.ts +67 -2
  164. package/src/apis/index.ts +1 -0
  165. package/src/models/AddDnsRecordRequestContent.ts +37 -5
  166. package/src/models/DeleteDnsRecordRequestContent.ts +37 -5
  167. package/src/models/DnsBackend.ts +56 -0
  168. package/src/models/DnsRecordMutationRecord.ts +3 -2
  169. package/src/models/DnsZoneInfo.ts +17 -0
  170. package/src/models/EditDnsRecordRequestContent.ts +37 -5
  171. package/src/models/EncryptedPasswordResponseData.ts +92 -0
  172. package/src/models/GetDnsZoneDetailsRequestContent.ts +18 -0
  173. package/src/models/GetEncryptedPasswordRequestContent.ts +75 -0
  174. package/src/models/GetEncryptedPasswordResponseContent.ts +92 -0
  175. package/src/models/GetInvoiceDetailsRequestContent.ts +66 -0
  176. package/src/models/GetInvoiceDetailsResponseContent.ts +92 -0
  177. package/src/models/GetInvoiceDetailsResponseData.ts +89 -0
  178. package/src/models/InvoiceDetails.ts +247 -0
  179. package/src/models/InvoiceIssuedTo.ts +127 -0
  180. package/src/models/InvoiceIssuedToTax.ts +84 -0
  181. package/src/models/InvoiceItem.ts +102 -0
  182. package/src/models/InvoiceSummary.ts +163 -0
  183. package/src/models/InvoiceTransaction.ts +122 -0
  184. package/src/models/ListInvoicesResponseContent.ts +92 -0
  185. package/src/models/ListInvoicesResponseData.ts +83 -0
  186. package/src/models/NoVncConsoleDetails.ts +26 -3
  187. package/src/models/PasswordEncryptionInfo.ts +93 -0
  188. package/src/models/SelcomMetadata.ts +102 -0
  189. package/src/models/VpsCredentials.ts +1 -1
  190. package/src/models/VpsDetailsResponse.ts +12 -5
  191. package/src/models/VpsIpAddressDetail.ts +98 -0
  192. package/src/models/VpsVmInfo.ts +3 -3
  193. package/src/models/index.ts +18 -0
  194. package/src/retryablePaths.ts +3 -0
@@ -55,7 +55,7 @@ export class DNSApi extends runtime.BaseAPI {
55
55
  });
56
56
  }
57
57
  /**
58
- * Adds a DNS record to a zone via DNSManager.
58
+ * Adds a DNS record to a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
59
59
  */
60
60
  addDnsRecordRaw(requestParameters, initOverrides) {
61
61
  return __awaiter(this, void 0, void 0, function* () {
@@ -65,7 +65,7 @@ export class DNSApi extends runtime.BaseAPI {
65
65
  });
66
66
  }
67
67
  /**
68
- * Adds a DNS record to a zone via DNSManager.
68
+ * Adds a DNS record to a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
69
69
  */
70
70
  addDnsRecord(requestParameters, initOverrides) {
71
71
  return __awaiter(this, void 0, void 0, function* () {
@@ -149,7 +149,7 @@ export class DNSApi extends runtime.BaseAPI {
149
149
  });
150
150
  }
151
151
  /**
152
- * Deletes a DNS record from a zone via DNSManager.
152
+ * Deletes a DNS record from a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
153
153
  */
154
154
  deleteDnsRecordRaw(requestParameters, initOverrides) {
155
155
  return __awaiter(this, void 0, void 0, function* () {
@@ -159,7 +159,7 @@ export class DNSApi extends runtime.BaseAPI {
159
159
  });
160
160
  }
161
161
  /**
162
- * Deletes a DNS record from a zone via DNSManager.
162
+ * Deletes a DNS record from a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
163
163
  */
164
164
  deleteDnsRecord(requestParameters, initOverrides) {
165
165
  return __awaiter(this, void 0, void 0, function* () {
@@ -243,7 +243,7 @@ export class DNSApi extends runtime.BaseAPI {
243
243
  });
244
244
  }
245
245
  /**
246
- * Edits a DNS record in a zone via DNSManager.
246
+ * Edits a DNS record in a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
247
247
  */
248
248
  editDnsRecordRaw(requestParameters, initOverrides) {
249
249
  return __awaiter(this, void 0, void 0, function* () {
@@ -253,7 +253,7 @@ export class DNSApi extends runtime.BaseAPI {
253
253
  });
254
254
  }
255
255
  /**
256
- * Edits a DNS record in a zone via DNSManager.
256
+ * Edits a DNS record in a zone. Legacy callers pass zone_id only (DNS Manager v1). For DirectAdmin, pass backend=directadmin with domain_id; upstream v2 receives domain_id and record only.
257
257
  */
258
258
  editDnsRecord(requestParameters, initOverrides) {
259
259
  return __awaiter(this, void 0, void 0, function* () {
@@ -290,7 +290,7 @@ export class DNSApi extends runtime.BaseAPI {
290
290
  });
291
291
  }
292
292
  /**
293
- * Retrieves DNS zone details and records for an owned domain.
293
+ * Retrieves DNS zone details and records for an owned domain. Omit backend for the legacy DNS Manager (v1) path; set backend from list-dns-zones to route DirectAdmin zones to v2.
294
294
  */
295
295
  getDnsZoneDetailsRaw(requestParameters, initOverrides) {
296
296
  return __awaiter(this, void 0, void 0, function* () {
@@ -300,7 +300,7 @@ export class DNSApi extends runtime.BaseAPI {
300
300
  });
301
301
  }
302
302
  /**
303
- * Retrieves DNS zone details and records for an owned domain.
303
+ * Retrieves DNS zone details and records for an owned domain. Omit backend for the legacy DNS Manager (v1) path; set backend from list-dns-zones to route DirectAdmin zones to v2.
304
304
  */
305
305
  getDnsZoneDetails(requestParameters, initOverrides) {
306
306
  return __awaiter(this, void 0, void 0, function* () {
@@ -10,7 +10,10 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime.js';
13
- import type { GetVpsConfigRequestContent, GetVpsConfigResponseContent, GetVpsDetailsRequestContent, GetVpsDetailsResponseContent, ListIsosRequestContent, ListIsosResponseContent, ListReinstallOsRequestContent, ListReinstallOsResponseContent, ListVpsServicesResponseContent, MountIsoRequestContent, MountIsoResponseContent, TriggerReinstallRequestContent, TriggerReinstallResponseContent, UpdateVpsConfigRequestContent, UpdateVpsConfigResponseContent } from '../models/index.js';
13
+ import type { GetEncryptedPasswordRequestContent, GetEncryptedPasswordResponseContent, GetVpsConfigRequestContent, GetVpsConfigResponseContent, GetVpsDetailsRequestContent, GetVpsDetailsResponseContent, ListIsosRequestContent, ListIsosResponseContent, ListReinstallOsRequestContent, ListReinstallOsResponseContent, ListVpsServicesResponseContent, MountIsoRequestContent, MountIsoResponseContent, TriggerReinstallRequestContent, TriggerReinstallResponseContent, UpdateVpsConfigRequestContent, UpdateVpsConfigResponseContent } from '../models/index.js';
14
+ export interface GetEncryptedPasswordRequest {
15
+ getEncryptedPasswordRequestContent: GetEncryptedPasswordRequestContent;
16
+ }
14
17
  export interface GetVpsConfigRequest {
15
18
  getVpsConfigRequestContent: GetVpsConfigRequestContent;
16
19
  }
@@ -36,6 +39,18 @@ export interface UpdateVpsConfigRequest {
36
39
  *
37
40
  */
38
41
  export declare class VPSManagementApi extends runtime.BaseAPI {
42
+ /**
43
+ * Creates request options for getEncryptedPassword without sending the request
44
+ */
45
+ getEncryptedPasswordRequestOpts(requestParameters: GetEncryptedPasswordRequest): Promise<runtime.RequestOpts>;
46
+ /**
47
+ * Retrieves the VPS username and root password without exposing plaintext over the API. Send a PEM-encoded RSA 4096-bit public key; the API encrypts the password with RSA-OAEP (SHA-256), and returns base64 ciphertext plus encryption metadata. Never send the private key. Invalid or non-4096-bit keys return HTTP 422 ValidationError. Generate a key with: openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -pubout -out public.pem. Decrypt with: echo CIPHERTEXT | base64 -d | openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256 (macOS: base64 -D).
48
+ */
49
+ getEncryptedPasswordRaw(requestParameters: GetEncryptedPasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetEncryptedPasswordResponseContent>>;
50
+ /**
51
+ * Retrieves the VPS username and root password without exposing plaintext over the API. Send a PEM-encoded RSA 4096-bit public key; the API encrypts the password with RSA-OAEP (SHA-256), and returns base64 ciphertext plus encryption metadata. Never send the private key. Invalid or non-4096-bit keys return HTTP 422 ValidationError. Generate a key with: openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -pubout -out public.pem. Decrypt with: echo CIPHERTEXT | base64 -d | openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256 (macOS: base64 -D).
52
+ */
53
+ getEncryptedPassword(requestParameters: GetEncryptedPasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetEncryptedPasswordResponseContent>;
39
54
  /**
40
55
  * Creates request options for getVpsConfig without sending the request
41
56
  */
@@ -53,11 +68,11 @@ export declare class VPSManagementApi extends runtime.BaseAPI {
53
68
  */
54
69
  getVpsDetailsRequestOpts(requestParameters: GetVpsDetailsRequest): Promise<runtime.RequestOpts>;
55
70
  /**
56
- * Gets detailed information about a VPS service including configuration, network settings, and statistics
71
+ * Gets detailed information about a VPS service including configuration, network settings, and statistics. Credentials.password is always \"<redacted>\"; plaintext passwords are never returned. To retrieve the password securely, use GetEncryptedPassword (/vps/get-encrypted-password).
57
72
  */
58
73
  getVpsDetailsRaw(requestParameters: GetVpsDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetVpsDetailsResponseContent>>;
59
74
  /**
60
- * Gets detailed information about a VPS service including configuration, network settings, and statistics
75
+ * Gets detailed information about a VPS service including configuration, network settings, and statistics. Credentials.password is always \"<redacted>\"; plaintext passwords are never returned. To retrieve the password securely, use GetEncryptedPassword (/vps/get-encrypted-password).
61
76
  */
62
77
  getVpsDetails(requestParameters: GetVpsDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetVpsDetailsResponseContent>;
63
78
  /**
@@ -21,11 +21,58 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  });
22
22
  };
23
23
  import * as runtime from '../runtime.js';
24
- import { GetVpsConfigRequestContentToJSON, GetVpsConfigResponseContentFromJSON, GetVpsDetailsRequestContentToJSON, GetVpsDetailsResponseContentFromJSON, ListIsosRequestContentToJSON, ListIsosResponseContentFromJSON, ListReinstallOsRequestContentToJSON, ListReinstallOsResponseContentFromJSON, ListVpsServicesResponseContentFromJSON, MountIsoRequestContentToJSON, MountIsoResponseContentFromJSON, TriggerReinstallRequestContentToJSON, TriggerReinstallResponseContentFromJSON, UpdateVpsConfigRequestContentToJSON, UpdateVpsConfigResponseContentFromJSON, } from '../models/index.js';
24
+ import { GetEncryptedPasswordRequestContentToJSON, GetEncryptedPasswordResponseContentFromJSON, GetVpsConfigRequestContentToJSON, GetVpsConfigResponseContentFromJSON, GetVpsDetailsRequestContentToJSON, GetVpsDetailsResponseContentFromJSON, ListIsosRequestContentToJSON, ListIsosResponseContentFromJSON, ListReinstallOsRequestContentToJSON, ListReinstallOsResponseContentFromJSON, ListVpsServicesResponseContentFromJSON, MountIsoRequestContentToJSON, MountIsoResponseContentFromJSON, TriggerReinstallRequestContentToJSON, TriggerReinstallResponseContentFromJSON, UpdateVpsConfigRequestContentToJSON, UpdateVpsConfigResponseContentFromJSON, } from '../models/index.js';
25
25
  /**
26
26
  *
27
27
  */
28
28
  export class VPSManagementApi extends runtime.BaseAPI {
29
+ /**
30
+ * Creates request options for getEncryptedPassword without sending the request
31
+ */
32
+ getEncryptedPasswordRequestOpts(requestParameters) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (requestParameters['getEncryptedPasswordRequestContent'] == null) {
35
+ throw new runtime.RequiredError('getEncryptedPasswordRequestContent', 'Required parameter "getEncryptedPasswordRequestContent" was null or undefined when calling getEncryptedPassword().');
36
+ }
37
+ const queryParameters = {};
38
+ const headerParameters = {};
39
+ headerParameters['Content-Type'] = 'application/json';
40
+ if (this.configuration && this.configuration.accessToken) {
41
+ const token = this.configuration.accessToken;
42
+ const tokenString = yield token("BearerAuth", []);
43
+ if (tokenString) {
44
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
45
+ }
46
+ }
47
+ let urlPath = `/vps/get-encrypted-password`;
48
+ return {
49
+ path: urlPath,
50
+ method: 'POST',
51
+ headers: headerParameters,
52
+ query: queryParameters,
53
+ body: GetEncryptedPasswordRequestContentToJSON(requestParameters['getEncryptedPasswordRequestContent']),
54
+ };
55
+ });
56
+ }
57
+ /**
58
+ * Retrieves the VPS username and root password without exposing plaintext over the API. Send a PEM-encoded RSA 4096-bit public key; the API encrypts the password with RSA-OAEP (SHA-256), and returns base64 ciphertext plus encryption metadata. Never send the private key. Invalid or non-4096-bit keys return HTTP 422 ValidationError. Generate a key with: openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -pubout -out public.pem. Decrypt with: echo CIPHERTEXT | base64 -d | openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256 (macOS: base64 -D).
59
+ */
60
+ getEncryptedPasswordRaw(requestParameters, initOverrides) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const requestOptions = yield this.getEncryptedPasswordRequestOpts(requestParameters);
63
+ const response = yield this.request(requestOptions, initOverrides);
64
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetEncryptedPasswordResponseContentFromJSON(jsonValue));
65
+ });
66
+ }
67
+ /**
68
+ * Retrieves the VPS username and root password without exposing plaintext over the API. Send a PEM-encoded RSA 4096-bit public key; the API encrypts the password with RSA-OAEP (SHA-256), and returns base64 ciphertext plus encryption metadata. Never send the private key. Invalid or non-4096-bit keys return HTTP 422 ValidationError. Generate a key with: openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -pubout -out public.pem. Decrypt with: echo CIPHERTEXT | base64 -d | openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256 (macOS: base64 -D).
69
+ */
70
+ getEncryptedPassword(requestParameters, initOverrides) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const response = yield this.getEncryptedPasswordRaw(requestParameters, initOverrides);
73
+ return yield response.value();
74
+ });
75
+ }
29
76
  /**
30
77
  * Creates request options for getVpsConfig without sending the request
31
78
  */
@@ -102,7 +149,7 @@ export class VPSManagementApi extends runtime.BaseAPI {
102
149
  });
103
150
  }
104
151
  /**
105
- * Gets detailed information about a VPS service including configuration, network settings, and statistics
152
+ * Gets detailed information about a VPS service including configuration, network settings, and statistics. Credentials.password is always \"<redacted>\"; plaintext passwords are never returned. To retrieve the password securely, use GetEncryptedPassword (/vps/get-encrypted-password).
106
153
  */
107
154
  getVpsDetailsRaw(requestParameters, initOverrides) {
108
155
  return __awaiter(this, void 0, void 0, function* () {
@@ -112,7 +159,7 @@ export class VPSManagementApi extends runtime.BaseAPI {
112
159
  });
113
160
  }
114
161
  /**
115
- * Gets detailed information about a VPS service including configuration, network settings, and statistics
162
+ * Gets detailed information about a VPS service including configuration, network settings, and statistics. Credentials.password is always \"<redacted>\"; plaintext passwords are never returned. To retrieve the password securely, use GetEncryptedPassword (/vps/get-encrypted-password).
116
163
  */
117
164
  getVpsDetails(requestParameters, initOverrides) {
118
165
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,4 +1,5 @@
1
1
  export * from './BackupsApi.js';
2
+ export * from './BillingApi.js';
2
3
  export * from './ConsoleAccessApi.js';
3
4
  export * from './DNSApi.js';
4
5
  export * from './DomainsApi.js';
@@ -1,6 +1,7 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export * from './BackupsApi.js';
4
+ export * from './BillingApi.js';
4
5
  export * from './ConsoleAccessApi.js';
5
6
  export * from './DNSApi.js';
6
7
  export * from './DomainsApi.js';
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface AddDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof AddDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof AddDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof AddDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof AddDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof AddDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the AddDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfAddDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function AddDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminato
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function AddDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminator
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface DeleteDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof DeleteDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof DeleteDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof DeleteDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof DeleteDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof DeleteDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the DeleteDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfDeleteDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function DeleteDnsRecordRequestContentFromJSONTyped(json, ignoreDiscrimin
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function DeleteDnsRecordRequestContentToJSONTyped(value, ignoreDiscrimina
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Upstream DNS management backend for a zone.
14
+ *
15
+ * - `dns_manager` — WHMCS DNS Manager
16
+ * - `directadmin` — DirectAdmin DNS
17
+ * @export
18
+ */
19
+ export declare const DnsBackend: {
20
+ readonly DnsManager: "dns_manager";
21
+ readonly Directadmin: "directadmin";
22
+ };
23
+ export type DnsBackend = typeof DnsBackend[keyof typeof DnsBackend];
24
+ export declare function instanceOfDnsBackend(value: any): boolean;
25
+ export declare function DnsBackendFromJSON(json: any): DnsBackend;
26
+ export declare function DnsBackendFromJSONTyped(json: any, ignoreDiscriminator: boolean): DnsBackend;
27
+ export declare function DnsBackendToJSON(value?: DnsBackend | null): any;
28
+ export declare function DnsBackendToJSONTyped(value: any, ignoreDiscriminator: boolean): DnsBackend;
@@ -0,0 +1,46 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Upstream DNS management backend for a zone.
16
+ *
17
+ * - `dns_manager` — WHMCS DNS Manager
18
+ * - `directadmin` — DirectAdmin DNS
19
+ * @export
20
+ */
21
+ export const DnsBackend = {
22
+ DnsManager: 'dns_manager',
23
+ Directadmin: 'directadmin'
24
+ };
25
+ export function instanceOfDnsBackend(value) {
26
+ for (const key in DnsBackend) {
27
+ if (Object.prototype.hasOwnProperty.call(DnsBackend, key)) {
28
+ if (DnsBackend[key] === value) {
29
+ return true;
30
+ }
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+ export function DnsBackendFromJSON(json) {
36
+ return DnsBackendFromJSONTyped(json, false);
37
+ }
38
+ export function DnsBackendFromJSONTyped(json, ignoreDiscriminator) {
39
+ return json;
40
+ }
41
+ export function DnsBackendToJSON(value) {
42
+ return value;
43
+ }
44
+ export function DnsBackendToJSONTyped(value, ignoreDiscriminator) {
45
+ return value;
46
+ }
@@ -13,13 +13,14 @@
13
13
  * DNS record fields for add, edit, or delete via DNSManager.
14
14
  *
15
15
  * See `DnsRecordInfo` for how `content` and structured fields map to upstream record data.
16
- * Delete requires only `id`, `name`, and `type`.
16
+ * Delete requires only `id`, `name`, and `type`. For edit and delete, `id` must be the
17
+ * numeric zone line from get-dns-zone-details (a positive integer string).
17
18
  * @export
18
19
  * @interface DnsRecordMutationRecord
19
20
  */
20
21
  export interface DnsRecordMutationRecord {
21
22
  /**
22
- * Record line/id from get-dns-zone-details; required for edit and delete
23
+ * Record line from get-dns-zone-details (positive integer string); required for edit and delete
23
24
  * @type {string}
24
25
  * @memberof DnsRecordMutationRecord
25
26
  */
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DomainHostingLink } from './DomainHostingLink.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  * A DNS zone owned by the authenticated client
15
16
  * @export
@@ -70,6 +71,12 @@ export interface DnsZoneInfo {
70
71
  * @memberof DnsZoneInfo
71
72
  */
72
73
  hasDnsManagerZone: boolean;
74
+ /**
75
+ *
76
+ * @type {DnsBackend}
77
+ * @memberof DnsZoneInfo
78
+ */
79
+ backend?: DnsBackend;
73
80
  }
74
81
  /**
75
82
  * Check if a given object implements the DnsZoneInfo interface.
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DomainHostingLinkFromJSON, DomainHostingLinkToJSON, } from './DomainHostingLink.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the DnsZoneInfo interface.
17
18
  */
@@ -37,6 +38,7 @@ export function DnsZoneInfoFromJSONTyped(json, ignoreDiscriminator) {
37
38
  'packageName': json['package_name'] == null ? undefined : json['package_name'],
38
39
  'hasHosting': json['has_hosting'] == null ? undefined : DomainHostingLinkFromJSON(json['has_hosting']),
39
40
  'hasDnsManagerZone': json['has_dns_manager_zone'],
41
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
40
42
  };
41
43
  }
42
44
  export function DnsZoneInfoToJSON(json) {
@@ -56,5 +58,6 @@ export function DnsZoneInfoToJSONTyped(value, ignoreDiscriminator = false) {
56
58
  'package_name': value['packageName'],
57
59
  'has_hosting': DomainHostingLinkToJSON(value['hasHosting']),
58
60
  'has_dns_manager_zone': value['hasDnsManagerZone'],
61
+ 'backend': DnsBackendToJSON(value['backend']),
59
62
  };
60
63
  }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface EditDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof EditDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof EditDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof EditDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof EditDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof EditDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the EditDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfEditDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function EditDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminat
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function EditDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminato
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { PasswordEncryptionInfo } from './PasswordEncryptionInfo.js';
13
+ /**
14
+ * Response data for get-encrypted-password
15
+ * @export
16
+ * @interface EncryptedPasswordResponseData
17
+ */
18
+ export interface EncryptedPasswordResponseData {
19
+ /**
20
+ * Username for VPS access (plaintext)
21
+ * @type {string}
22
+ * @memberof EncryptedPasswordResponseData
23
+ */
24
+ username: string;
25
+ /**
26
+ * Base64-encoded ciphertext of the VPS password. Produced with RSA-OAEP (SHA-256) and the request public_key. Decode from base64, then decrypt with the matching private key via openssl pkeyutl -decrypt -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256.
27
+ * @type {string}
28
+ * @memberof EncryptedPasswordResponseData
29
+ */
30
+ password: string;
31
+ /**
32
+ *
33
+ * @type {PasswordEncryptionInfo}
34
+ * @memberof EncryptedPasswordResponseData
35
+ */
36
+ encryption: PasswordEncryptionInfo;
37
+ }
38
+ /**
39
+ * Check if a given object implements the EncryptedPasswordResponseData interface.
40
+ */
41
+ export declare function instanceOfEncryptedPasswordResponseData(value: object): value is EncryptedPasswordResponseData;
42
+ export declare function EncryptedPasswordResponseDataFromJSON(json: any): EncryptedPasswordResponseData;
43
+ export declare function EncryptedPasswordResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): EncryptedPasswordResponseData;
44
+ export declare function EncryptedPasswordResponseDataToJSON(json: any): EncryptedPasswordResponseData;
45
+ export declare function EncryptedPasswordResponseDataToJSONTyped(value?: EncryptedPasswordResponseData | null, ignoreDiscriminator?: boolean): any;