ha-sdk-python 1.0.10__py3-none-any.whl

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 (237) hide show
  1. ha_sdk_python/__init__.py +490 -0
  2. ha_sdk_python/api/__init__.py +15 -0
  3. ha_sdk_python/api/backups_api.py +2434 -0
  4. ha_sdk_python/api/console_access_api.py +334 -0
  5. ha_sdk_python/api/dns_api.py +896 -0
  6. ha_sdk_python/api/firewall_api.py +1534 -0
  7. ha_sdk_python/api/monitoring_api.py +1234 -0
  8. ha_sdk_python/api/power_management_api.py +2434 -0
  9. ha_sdk_python/api/security_api.py +1243 -0
  10. ha_sdk_python/api/service_management_api.py +1797 -0
  11. ha_sdk_python/api/snapshots_api.py +1534 -0
  12. ha_sdk_python/api/user_management_api.py +331 -0
  13. ha_sdk_python/api/vps_management_api.py +2399 -0
  14. ha_sdk_python/api_client.py +805 -0
  15. ha_sdk_python/api_response.py +21 -0
  16. ha_sdk_python/configuration.py +593 -0
  17. ha_sdk_python/exceptions.py +218 -0
  18. ha_sdk_python/models/__init__.py +227 -0
  19. ha_sdk_python/models/backup_create_response_data.py +97 -0
  20. ha_sdk_python/models/backup_creation_info.py +95 -0
  21. ha_sdk_python/models/backup_item.py +95 -0
  22. ha_sdk_python/models/backup_mode.py +89 -0
  23. ha_sdk_python/models/backup_mode_type.py +38 -0
  24. ha_sdk_python/models/backup_schedule.py +98 -0
  25. ha_sdk_python/models/backup_schedule_list_response_data.py +97 -0
  26. ha_sdk_python/models/bad_request_error_response_content.py +89 -0
  27. ha_sdk_python/models/billing_cycle.py +37 -0
  28. ha_sdk_python/models/cancel_vps_request_content.py +90 -0
  29. ha_sdk_python/models/cancel_vps_response_content.py +94 -0
  30. ha_sdk_python/models/catalogue_config_option.py +105 -0
  31. ha_sdk_python/models/catalogue_config_suboption.py +96 -0
  32. ha_sdk_python/models/catalogue_currency.py +91 -0
  33. ha_sdk_python/models/catalogue_data.py +107 -0
  34. ha_sdk_python/models/catalogue_group.py +99 -0
  35. ha_sdk_python/models/catalogue_plan.py +108 -0
  36. ha_sdk_python/models/catalogue_product.py +131 -0
  37. ha_sdk_python/models/change_password_request_content.py +90 -0
  38. ha_sdk_python/models/change_password_response_content.py +94 -0
  39. ha_sdk_python/models/compression_method.py +89 -0
  40. ha_sdk_python/models/compression_type.py +39 -0
  41. ha_sdk_python/models/create_backup_request_content.py +93 -0
  42. ha_sdk_python/models/create_backup_response_content.py +94 -0
  43. ha_sdk_python/models/create_backup_schedule_request_content.py +108 -0
  44. ha_sdk_python/models/create_backup_schedule_response_content.py +94 -0
  45. ha_sdk_python/models/create_firewall_rule_request_content.py +115 -0
  46. ha_sdk_python/models/create_firewall_rule_response_content.py +94 -0
  47. ha_sdk_python/models/create_notification_request_content.py +111 -0
  48. ha_sdk_python/models/create_notification_response_content.py +94 -0
  49. ha_sdk_python/models/create_order_domain_item.py +101 -0
  50. ha_sdk_python/models/create_order_items.py +105 -0
  51. ha_sdk_python/models/create_order_product.py +108 -0
  52. ha_sdk_python/models/create_order_product_item.py +101 -0
  53. ha_sdk_python/models/create_order_request_content.py +97 -0
  54. ha_sdk_python/models/create_order_response_content.py +94 -0
  55. ha_sdk_python/models/create_order_response_data.py +126 -0
  56. ha_sdk_python/models/create_order_total.py +91 -0
  57. ha_sdk_python/models/create_power_task_request_content.py +160 -0
  58. ha_sdk_python/models/create_power_task_response_content.py +94 -0
  59. ha_sdk_python/models/create_rdns_record_request_content.py +96 -0
  60. ha_sdk_python/models/create_rdns_record_response_content.py +94 -0
  61. ha_sdk_python/models/create_rdns_record_response_data.py +91 -0
  62. ha_sdk_python/models/create_snapshot_request_content.py +91 -0
  63. ha_sdk_python/models/create_snapshot_response_content.py +94 -0
  64. ha_sdk_python/models/day_of_week.py +42 -0
  65. ha_sdk_python/models/delete_backup_request_content.py +89 -0
  66. ha_sdk_python/models/delete_backup_response_content.py +94 -0
  67. ha_sdk_python/models/delete_backup_schedule_request_content.py +89 -0
  68. ha_sdk_python/models/delete_backup_schedule_response_content.py +94 -0
  69. ha_sdk_python/models/delete_firewall_rule_request_content.py +89 -0
  70. ha_sdk_python/models/delete_firewall_rule_response_content.py +94 -0
  71. ha_sdk_python/models/delete_notification_request_content.py +89 -0
  72. ha_sdk_python/models/delete_notification_response_content.py +94 -0
  73. ha_sdk_python/models/delete_power_task_request_content.py +89 -0
  74. ha_sdk_python/models/delete_power_task_response_content.py +94 -0
  75. ha_sdk_python/models/delete_rdns_record_request_content.py +88 -0
  76. ha_sdk_python/models/delete_rdns_record_response_content.py +94 -0
  77. ha_sdk_python/models/delete_snapshot_request_content.py +89 -0
  78. ha_sdk_python/models/delete_snapshot_response_content.py +94 -0
  79. ha_sdk_python/models/edit_backup_schedule_request_content.py +110 -0
  80. ha_sdk_python/models/edit_backup_schedule_response_content.py +94 -0
  81. ha_sdk_python/models/firewall_list_response_data.py +125 -0
  82. ha_sdk_python/models/firewall_move_direction.py +39 -0
  83. ha_sdk_python/models/firewall_move_response_data.py +91 -0
  84. ha_sdk_python/models/firewall_option.py +89 -0
  85. ha_sdk_python/models/firewall_rule.py +113 -0
  86. ha_sdk_python/models/firewall_rule_action.py +38 -0
  87. ha_sdk_python/models/firewall_rule_type.py +38 -0
  88. ha_sdk_python/models/forbidden_error_response_content.py +89 -0
  89. ha_sdk_python/models/get_catalogue_request_content.py +89 -0
  90. ha_sdk_python/models/get_catalogue_response_content.py +94 -0
  91. ha_sdk_python/models/get_no_vnc_console_request_content.py +87 -0
  92. ha_sdk_python/models/get_no_vnc_console_response_content.py +94 -0
  93. ha_sdk_python/models/get_private_ssh_key_request_content.py +87 -0
  94. ha_sdk_python/models/get_private_ssh_key_response_content.py +94 -0
  95. ha_sdk_python/models/get_public_ssh_key_request_content.py +87 -0
  96. ha_sdk_python/models/get_public_ssh_key_response_content.py +94 -0
  97. ha_sdk_python/models/get_vps_config_request_content.py +87 -0
  98. ha_sdk_python/models/get_vps_config_response_content.py +94 -0
  99. ha_sdk_python/models/get_vps_details_request_content.py +87 -0
  100. ha_sdk_python/models/get_vps_details_response_content.py +94 -0
  101. ha_sdk_python/models/internal_service_error_response_content.py +89 -0
  102. ha_sdk_python/models/invalid_state_error_response_content.py +89 -0
  103. ha_sdk_python/models/list_backup_schedules_request_content.py +87 -0
  104. ha_sdk_python/models/list_backup_schedules_response_content.py +94 -0
  105. ha_sdk_python/models/list_backups_request_content.py +87 -0
  106. ha_sdk_python/models/list_backups_response_content.py +94 -0
  107. ha_sdk_python/models/list_firewall_rules_request_content.py +87 -0
  108. ha_sdk_python/models/list_firewall_rules_response_content.py +94 -0
  109. ha_sdk_python/models/list_isos_request_content.py +87 -0
  110. ha_sdk_python/models/list_isos_response_content.py +94 -0
  111. ha_sdk_python/models/list_isos_response_data.py +89 -0
  112. ha_sdk_python/models/list_notifications_request_content.py +87 -0
  113. ha_sdk_python/models/list_notifications_response_content.py +94 -0
  114. ha_sdk_python/models/list_orders_response_content.py +94 -0
  115. ha_sdk_python/models/list_orders_response_data.py +95 -0
  116. ha_sdk_python/models/list_power_tasks_request_content.py +87 -0
  117. ha_sdk_python/models/list_power_tasks_response_content.py +94 -0
  118. ha_sdk_python/models/list_rdns_records_response_content.py +94 -0
  119. ha_sdk_python/models/list_rdns_response_data.py +115 -0
  120. ha_sdk_python/models/list_reinstall_os_request_content.py +87 -0
  121. ha_sdk_python/models/list_reinstall_os_response_content.py +94 -0
  122. ha_sdk_python/models/list_reinstall_os_response_data.py +89 -0
  123. ha_sdk_python/models/list_snapshots_request_content.py +87 -0
  124. ha_sdk_python/models/list_snapshots_response_content.py +94 -0
  125. ha_sdk_python/models/list_vps_services_data.py +95 -0
  126. ha_sdk_python/models/list_vps_services_response_content.py +94 -0
  127. ha_sdk_python/models/mount_iso_request_content.py +91 -0
  128. ha_sdk_python/models/mount_iso_response_content.py +94 -0
  129. ha_sdk_python/models/move_firewall_rule_request_content.py +94 -0
  130. ha_sdk_python/models/move_firewall_rule_response_content.py +94 -0
  131. ha_sdk_python/models/no_vnc_console_details.py +95 -0
  132. ha_sdk_python/models/no_vnc_console_response_data.py +93 -0
  133. ha_sdk_python/models/notification.py +105 -0
  134. ha_sdk_python/models/notification_create_response_data.py +93 -0
  135. ha_sdk_python/models/notification_dialog_rules.py +95 -0
  136. ha_sdk_python/models/notification_list_response_data.py +103 -0
  137. ha_sdk_python/models/notification_status.py +43 -0
  138. ha_sdk_python/models/operation_status.py +37 -0
  139. ha_sdk_python/models/order.py +109 -0
  140. ha_sdk_python/models/order_last_attempt.py +93 -0
  141. ha_sdk_python/models/order_warning.py +89 -0
  142. ha_sdk_python/models/payment_error.py +89 -0
  143. ha_sdk_python/models/payment_status.py +38 -0
  144. ha_sdk_python/models/power_task.py +105 -0
  145. ha_sdk_python/models/power_task_action.py +38 -0
  146. ha_sdk_python/models/power_task_create_response_data.py +93 -0
  147. ha_sdk_python/models/power_task_dialog_rules.py +95 -0
  148. ha_sdk_python/models/power_task_job_type.py +38 -0
  149. ha_sdk_python/models/power_task_list_response_data.py +107 -0
  150. ha_sdk_python/models/public_ssh_key_response_data.py +93 -0
  151. ha_sdk_python/models/rdns_available_item.py +111 -0
  152. ha_sdk_python/models/rdns_pool.py +89 -0
  153. ha_sdk_python/models/rdns_record.py +109 -0
  154. ha_sdk_python/models/reboot_vps_request_content.py +87 -0
  155. ha_sdk_python/models/reboot_vps_response_content.py +94 -0
  156. ha_sdk_python/models/resource_not_found_error_response_content.py +89 -0
  157. ha_sdk_python/models/restore_backup_request_content.py +89 -0
  158. ha_sdk_python/models/restore_backup_response_content.py +94 -0
  159. ha_sdk_python/models/retry_payment_request_content.py +89 -0
  160. ha_sdk_python/models/retry_payment_response_content.py +94 -0
  161. ha_sdk_python/models/retry_payment_response_data.py +98 -0
  162. ha_sdk_python/models/retry_payment_total.py +91 -0
  163. ha_sdk_python/models/rollback_snapshot_request_content.py +89 -0
  164. ha_sdk_python/models/rollback_snapshot_response_content.py +94 -0
  165. ha_sdk_python/models/service_backups_response_data.py +131 -0
  166. ha_sdk_python/models/service_snapshots_response_data.py +101 -0
  167. ha_sdk_python/models/service_unavailable_error_response_content.py +89 -0
  168. ha_sdk_python/models/shutdown_vps_request_content.py +87 -0
  169. ha_sdk_python/models/shutdown_vps_response_content.py +94 -0
  170. ha_sdk_python/models/snapshot_create_response_data.py +89 -0
  171. ha_sdk_python/models/snapshot_item.py +95 -0
  172. ha_sdk_python/models/ssh_key_details.py +89 -0
  173. ha_sdk_python/models/start_vps_request_content.py +87 -0
  174. ha_sdk_python/models/start_vps_response_content.py +94 -0
  175. ha_sdk_python/models/stop_vps_request_content.py +87 -0
  176. ha_sdk_python/models/stop_vps_response_content.py +94 -0
  177. ha_sdk_python/models/too_many_requests_error_response_content.py +89 -0
  178. ha_sdk_python/models/trigger_reinstall_request_content.py +89 -0
  179. ha_sdk_python/models/trigger_reinstall_response_content.py +94 -0
  180. ha_sdk_python/models/trigger_reinstall_response_data.py +89 -0
  181. ha_sdk_python/models/unauthorized_error_response_content.py +89 -0
  182. ha_sdk_python/models/update_firewall_rule_request_content.py +94 -0
  183. ha_sdk_python/models/update_firewall_rule_response_content.py +94 -0
  184. ha_sdk_python/models/update_notification_request_content.py +113 -0
  185. ha_sdk_python/models/update_notification_response_content.py +94 -0
  186. ha_sdk_python/models/update_power_task_request_content.py +164 -0
  187. ha_sdk_python/models/update_power_task_response_content.py +94 -0
  188. ha_sdk_python/models/update_snapshot_request_content.py +91 -0
  189. ha_sdk_python/models/update_snapshot_response_content.py +94 -0
  190. ha_sdk_python/models/update_ssh_keys_request_content.py +97 -0
  191. ha_sdk_python/models/update_ssh_keys_response_content.py +94 -0
  192. ha_sdk_python/models/update_vps_config_request_content.py +99 -0
  193. ha_sdk_python/models/update_vps_config_response_content.py +94 -0
  194. ha_sdk_python/models/user_change_password_details.py +91 -0
  195. ha_sdk_python/models/user_change_password_request_content.py +92 -0
  196. ha_sdk_python/models/user_change_password_response_content.py +94 -0
  197. ha_sdk_python/models/user_change_password_response_data.py +95 -0
  198. ha_sdk_python/models/validate_pricing_base.py +89 -0
  199. ha_sdk_python/models/validate_pricing_breakdown.py +103 -0
  200. ha_sdk_python/models/validate_pricing_config_item.py +116 -0
  201. ha_sdk_python/models/validate_pricing_currency.py +93 -0
  202. ha_sdk_python/models/validate_pricing_discount.py +97 -0
  203. ha_sdk_python/models/validate_pricing_plan_config.py +97 -0
  204. ha_sdk_python/models/validate_pricing_plan_pricing.py +89 -0
  205. ha_sdk_python/models/validate_pricing_price_range.py +91 -0
  206. ha_sdk_python/models/validate_pricing_product.py +101 -0
  207. ha_sdk_python/models/validate_pricing_product_result.py +121 -0
  208. ha_sdk_python/models/validate_pricing_prorata.py +95 -0
  209. ha_sdk_python/models/validate_pricing_request_content.py +97 -0
  210. ha_sdk_python/models/validate_pricing_response_content.py +94 -0
  211. ha_sdk_python/models/validate_pricing_response_data.py +109 -0
  212. ha_sdk_python/models/validate_pricing_summary.py +101 -0
  213. ha_sdk_python/models/validate_pricing_summary_recurring.py +91 -0
  214. ha_sdk_python/models/validation_error_response_content.py +89 -0
  215. ha_sdk_python/models/vps_available_features.py +115 -0
  216. ha_sdk_python/models/vps_bandwidth_info.py +94 -0
  217. ha_sdk_python/models/vps_cancel_response_data.py +93 -0
  218. ha_sdk_python/models/vps_cancel_type.py +37 -0
  219. ha_sdk_python/models/vps_config_response_data.py +108 -0
  220. ha_sdk_python/models/vps_cpu_info.py +92 -0
  221. ha_sdk_python/models/vps_credentials.py +89 -0
  222. ha_sdk_python/models/vps_details_response.py +143 -0
  223. ha_sdk_python/models/vps_disk_info.py +96 -0
  224. ha_sdk_python/models/vps_memory_info.py +96 -0
  225. ha_sdk_python/models/vps_network_rate.py +92 -0
  226. ha_sdk_python/models/vps_os_info.py +89 -0
  227. ha_sdk_python/models/vps_service_info.py +97 -0
  228. ha_sdk_python/models/vps_simple_action_response_data.py +87 -0
  229. ha_sdk_python/models/vps_vm_info.py +102 -0
  230. ha_sdk_python/py.typed +0 -0
  231. ha_sdk_python/rest.py +263 -0
  232. ha_sdk_python/retryable_paths.py +26 -0
  233. ha_sdk_python-1.0.10.dist-info/METADATA +131 -0
  234. ha_sdk_python-1.0.10.dist-info/RECORD +237 -0
  235. ha_sdk_python-1.0.10.dist-info/WHEEL +5 -0
  236. ha_sdk_python-1.0.10.dist-info/licenses/LICENSE +21 -0
  237. ha_sdk_python-1.0.10.dist-info/top_level.txt +1 -0
@@ -0,0 +1,218 @@
1
+ """
2
+ HostAfricaApi
3
+
4
+ HostAfrica API
5
+
6
+ The version of the OpenAPI document: 2026-01-01
7
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+
9
+ Do not edit the class manually.
10
+ """ # noqa: E501
11
+
12
+
13
+ from typing import Any, Optional
14
+ from typing_extensions import Self
15
+
16
+ class OpenApiException(Exception):
17
+ """The base exception class for all OpenAPIExceptions"""
18
+
19
+
20
+ class ApiTypeError(OpenApiException, TypeError):
21
+ def __init__(self, msg, path_to_item=None, valid_classes=None,
22
+ key_type=None) -> None:
23
+ """ Raises an exception for TypeErrors
24
+
25
+ Args:
26
+ msg (str): the exception message
27
+
28
+ Keyword Args:
29
+ path_to_item (list): a list of keys an indices to get to the
30
+ current_item
31
+ None if unset
32
+ valid_classes (tuple): the primitive classes that current item
33
+ should be an instance of
34
+ None if unset
35
+ key_type (bool): False if our value is a value in a dict
36
+ True if it is a key in a dict
37
+ False if our item is an item in a list
38
+ None if unset
39
+ """
40
+ self.path_to_item = path_to_item
41
+ self.valid_classes = valid_classes
42
+ self.key_type = key_type
43
+ full_msg = msg
44
+ if path_to_item:
45
+ full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
46
+ super(ApiTypeError, self).__init__(full_msg)
47
+
48
+
49
+ class ApiValueError(OpenApiException, ValueError):
50
+ def __init__(self, msg, path_to_item=None) -> None:
51
+ """
52
+ Args:
53
+ msg (str): the exception message
54
+
55
+ Keyword Args:
56
+ path_to_item (list) the path to the exception in the
57
+ received_data dict. None if unset
58
+ """
59
+
60
+ self.path_to_item = path_to_item
61
+ full_msg = msg
62
+ if path_to_item:
63
+ full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
64
+ super(ApiValueError, self).__init__(full_msg)
65
+
66
+
67
+ class ApiAttributeError(OpenApiException, AttributeError):
68
+ def __init__(self, msg, path_to_item=None) -> None:
69
+ """
70
+ Raised when an attribute reference or assignment fails.
71
+
72
+ Args:
73
+ msg (str): the exception message
74
+
75
+ Keyword Args:
76
+ path_to_item (None/list) the path to the exception in the
77
+ received_data dict
78
+ """
79
+ self.path_to_item = path_to_item
80
+ full_msg = msg
81
+ if path_to_item:
82
+ full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
83
+ super(ApiAttributeError, self).__init__(full_msg)
84
+
85
+
86
+ class ApiKeyError(OpenApiException, KeyError):
87
+ def __init__(self, msg, path_to_item=None) -> None:
88
+ """
89
+ Args:
90
+ msg (str): the exception message
91
+
92
+ Keyword Args:
93
+ path_to_item (None/list) the path to the exception in the
94
+ received_data dict
95
+ """
96
+ self.path_to_item = path_to_item
97
+ full_msg = msg
98
+ if path_to_item:
99
+ full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
100
+ super(ApiKeyError, self).__init__(full_msg)
101
+
102
+
103
+ class ApiException(OpenApiException):
104
+
105
+ def __init__(
106
+ self,
107
+ status=None,
108
+ reason=None,
109
+ http_resp=None,
110
+ *,
111
+ body: Optional[str] = None,
112
+ data: Optional[Any] = None,
113
+ ) -> None:
114
+ self.status = status
115
+ self.reason = reason
116
+ self.body = body
117
+ self.data = data
118
+ self.headers = None
119
+
120
+ if http_resp:
121
+ if self.status is None:
122
+ self.status = http_resp.status
123
+ if self.reason is None:
124
+ self.reason = http_resp.reason
125
+ if self.body is None:
126
+ try:
127
+ self.body = http_resp.data.decode('utf-8')
128
+ except Exception:
129
+ pass
130
+ self.headers = http_resp.headers
131
+
132
+ @classmethod
133
+ def from_response(
134
+ cls,
135
+ *,
136
+ http_resp,
137
+ body: Optional[str],
138
+ data: Optional[Any],
139
+ ) -> Self:
140
+ if http_resp.status == 400:
141
+ raise BadRequestException(http_resp=http_resp, body=body, data=data)
142
+
143
+ if http_resp.status == 401:
144
+ raise UnauthorizedException(http_resp=http_resp, body=body, data=data)
145
+
146
+ if http_resp.status == 403:
147
+ raise ForbiddenException(http_resp=http_resp, body=body, data=data)
148
+
149
+ if http_resp.status == 404:
150
+ raise NotFoundException(http_resp=http_resp, body=body, data=data)
151
+
152
+ # Added new conditions for 409 and 422
153
+ if http_resp.status == 409:
154
+ raise ConflictException(http_resp=http_resp, body=body, data=data)
155
+
156
+ if http_resp.status == 422:
157
+ raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data)
158
+
159
+ if 500 <= http_resp.status <= 599:
160
+ raise ServiceException(http_resp=http_resp, body=body, data=data)
161
+ raise ApiException(http_resp=http_resp, body=body, data=data)
162
+
163
+ def __str__(self):
164
+ """Custom error messages for exception"""
165
+ error_message = "({0})\n"\
166
+ "Reason: {1}\n".format(self.status, self.reason)
167
+ if self.headers:
168
+ error_message += "HTTP response headers: {0}\n".format(
169
+ self.headers)
170
+
171
+ if self.body:
172
+ error_message += "HTTP response body: {0}\n".format(self.body)
173
+
174
+ if self.data:
175
+ error_message += "HTTP response data: {0}\n".format(self.data)
176
+
177
+ return error_message
178
+
179
+
180
+ class BadRequestException(ApiException):
181
+ pass
182
+
183
+
184
+ class NotFoundException(ApiException):
185
+ pass
186
+
187
+
188
+ class UnauthorizedException(ApiException):
189
+ pass
190
+
191
+
192
+ class ForbiddenException(ApiException):
193
+ pass
194
+
195
+
196
+ class ServiceException(ApiException):
197
+ pass
198
+
199
+
200
+ class ConflictException(ApiException):
201
+ """Exception for HTTP 409 Conflict."""
202
+ pass
203
+
204
+
205
+ class UnprocessableEntityException(ApiException):
206
+ """Exception for HTTP 422 Unprocessable Entity."""
207
+ pass
208
+
209
+
210
+ def render_path(path_to_item):
211
+ """Returns a string representation of a path"""
212
+ result = ""
213
+ for pth in path_to_item:
214
+ if isinstance(pth, int):
215
+ result += "[{0}]".format(pth)
216
+ else:
217
+ result += "['{0}']".format(pth)
218
+ return result
@@ -0,0 +1,227 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+ """
5
+ HostAfricaApi
6
+
7
+ HostAfrica API
8
+
9
+ The version of the OpenAPI document: 2026-01-01
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+ # import models into model package
16
+ from ha_sdk_python.models.backup_create_response_data import BackupCreateResponseData
17
+ from ha_sdk_python.models.backup_creation_info import BackupCreationInfo
18
+ from ha_sdk_python.models.backup_item import BackupItem
19
+ from ha_sdk_python.models.backup_mode import BackupMode
20
+ from ha_sdk_python.models.backup_mode_type import BackupModeType
21
+ from ha_sdk_python.models.backup_schedule import BackupSchedule
22
+ from ha_sdk_python.models.backup_schedule_list_response_data import BackupScheduleListResponseData
23
+ from ha_sdk_python.models.bad_request_error_response_content import BadRequestErrorResponseContent
24
+ from ha_sdk_python.models.billing_cycle import BillingCycle
25
+ from ha_sdk_python.models.cancel_vps_request_content import CancelVpsRequestContent
26
+ from ha_sdk_python.models.cancel_vps_response_content import CancelVpsResponseContent
27
+ from ha_sdk_python.models.catalogue_config_option import CatalogueConfigOption
28
+ from ha_sdk_python.models.catalogue_config_suboption import CatalogueConfigSuboption
29
+ from ha_sdk_python.models.catalogue_currency import CatalogueCurrency
30
+ from ha_sdk_python.models.catalogue_data import CatalogueData
31
+ from ha_sdk_python.models.catalogue_group import CatalogueGroup
32
+ from ha_sdk_python.models.catalogue_plan import CataloguePlan
33
+ from ha_sdk_python.models.catalogue_product import CatalogueProduct
34
+ from ha_sdk_python.models.change_password_request_content import ChangePasswordRequestContent
35
+ from ha_sdk_python.models.change_password_response_content import ChangePasswordResponseContent
36
+ from ha_sdk_python.models.compression_method import CompressionMethod
37
+ from ha_sdk_python.models.compression_type import CompressionType
38
+ from ha_sdk_python.models.create_backup_request_content import CreateBackupRequestContent
39
+ from ha_sdk_python.models.create_backup_response_content import CreateBackupResponseContent
40
+ from ha_sdk_python.models.create_backup_schedule_request_content import CreateBackupScheduleRequestContent
41
+ from ha_sdk_python.models.create_backup_schedule_response_content import CreateBackupScheduleResponseContent
42
+ from ha_sdk_python.models.create_firewall_rule_request_content import CreateFirewallRuleRequestContent
43
+ from ha_sdk_python.models.create_firewall_rule_response_content import CreateFirewallRuleResponseContent
44
+ from ha_sdk_python.models.create_notification_request_content import CreateNotificationRequestContent
45
+ from ha_sdk_python.models.create_notification_response_content import CreateNotificationResponseContent
46
+ from ha_sdk_python.models.create_order_domain_item import CreateOrderDomainItem
47
+ from ha_sdk_python.models.create_order_items import CreateOrderItems
48
+ from ha_sdk_python.models.create_order_product import CreateOrderProduct
49
+ from ha_sdk_python.models.create_order_product_item import CreateOrderProductItem
50
+ from ha_sdk_python.models.create_order_request_content import CreateOrderRequestContent
51
+ from ha_sdk_python.models.create_order_response_content import CreateOrderResponseContent
52
+ from ha_sdk_python.models.create_order_response_data import CreateOrderResponseData
53
+ from ha_sdk_python.models.create_order_total import CreateOrderTotal
54
+ from ha_sdk_python.models.create_power_task_request_content import CreatePowerTaskRequestContent
55
+ from ha_sdk_python.models.create_power_task_response_content import CreatePowerTaskResponseContent
56
+ from ha_sdk_python.models.create_rdns_record_request_content import CreateRdnsRecordRequestContent
57
+ from ha_sdk_python.models.create_rdns_record_response_content import CreateRdnsRecordResponseContent
58
+ from ha_sdk_python.models.create_rdns_record_response_data import CreateRdnsRecordResponseData
59
+ from ha_sdk_python.models.create_snapshot_request_content import CreateSnapshotRequestContent
60
+ from ha_sdk_python.models.create_snapshot_response_content import CreateSnapshotResponseContent
61
+ from ha_sdk_python.models.day_of_week import DayOfWeek
62
+ from ha_sdk_python.models.delete_backup_request_content import DeleteBackupRequestContent
63
+ from ha_sdk_python.models.delete_backup_response_content import DeleteBackupResponseContent
64
+ from ha_sdk_python.models.delete_backup_schedule_request_content import DeleteBackupScheduleRequestContent
65
+ from ha_sdk_python.models.delete_backup_schedule_response_content import DeleteBackupScheduleResponseContent
66
+ from ha_sdk_python.models.delete_firewall_rule_request_content import DeleteFirewallRuleRequestContent
67
+ from ha_sdk_python.models.delete_firewall_rule_response_content import DeleteFirewallRuleResponseContent
68
+ from ha_sdk_python.models.delete_notification_request_content import DeleteNotificationRequestContent
69
+ from ha_sdk_python.models.delete_notification_response_content import DeleteNotificationResponseContent
70
+ from ha_sdk_python.models.delete_power_task_request_content import DeletePowerTaskRequestContent
71
+ from ha_sdk_python.models.delete_power_task_response_content import DeletePowerTaskResponseContent
72
+ from ha_sdk_python.models.delete_rdns_record_request_content import DeleteRdnsRecordRequestContent
73
+ from ha_sdk_python.models.delete_rdns_record_response_content import DeleteRdnsRecordResponseContent
74
+ from ha_sdk_python.models.delete_snapshot_request_content import DeleteSnapshotRequestContent
75
+ from ha_sdk_python.models.delete_snapshot_response_content import DeleteSnapshotResponseContent
76
+ from ha_sdk_python.models.edit_backup_schedule_request_content import EditBackupScheduleRequestContent
77
+ from ha_sdk_python.models.edit_backup_schedule_response_content import EditBackupScheduleResponseContent
78
+ from ha_sdk_python.models.firewall_list_response_data import FirewallListResponseData
79
+ from ha_sdk_python.models.firewall_move_direction import FirewallMoveDirection
80
+ from ha_sdk_python.models.firewall_move_response_data import FirewallMoveResponseData
81
+ from ha_sdk_python.models.firewall_option import FirewallOption
82
+ from ha_sdk_python.models.firewall_rule import FirewallRule
83
+ from ha_sdk_python.models.firewall_rule_action import FirewallRuleAction
84
+ from ha_sdk_python.models.firewall_rule_type import FirewallRuleType
85
+ from ha_sdk_python.models.forbidden_error_response_content import ForbiddenErrorResponseContent
86
+ from ha_sdk_python.models.get_catalogue_request_content import GetCatalogueRequestContent
87
+ from ha_sdk_python.models.get_catalogue_response_content import GetCatalogueResponseContent
88
+ from ha_sdk_python.models.get_no_vnc_console_request_content import GetNoVncConsoleRequestContent
89
+ from ha_sdk_python.models.get_no_vnc_console_response_content import GetNoVncConsoleResponseContent
90
+ from ha_sdk_python.models.get_private_ssh_key_request_content import GetPrivateSshKeyRequestContent
91
+ from ha_sdk_python.models.get_private_ssh_key_response_content import GetPrivateSshKeyResponseContent
92
+ from ha_sdk_python.models.get_public_ssh_key_request_content import GetPublicSshKeyRequestContent
93
+ from ha_sdk_python.models.get_public_ssh_key_response_content import GetPublicSshKeyResponseContent
94
+ from ha_sdk_python.models.get_vps_config_request_content import GetVpsConfigRequestContent
95
+ from ha_sdk_python.models.get_vps_config_response_content import GetVpsConfigResponseContent
96
+ from ha_sdk_python.models.get_vps_details_request_content import GetVpsDetailsRequestContent
97
+ from ha_sdk_python.models.get_vps_details_response_content import GetVpsDetailsResponseContent
98
+ from ha_sdk_python.models.internal_service_error_response_content import InternalServiceErrorResponseContent
99
+ from ha_sdk_python.models.invalid_state_error_response_content import InvalidStateErrorResponseContent
100
+ from ha_sdk_python.models.list_backup_schedules_request_content import ListBackupSchedulesRequestContent
101
+ from ha_sdk_python.models.list_backup_schedules_response_content import ListBackupSchedulesResponseContent
102
+ from ha_sdk_python.models.list_backups_request_content import ListBackupsRequestContent
103
+ from ha_sdk_python.models.list_backups_response_content import ListBackupsResponseContent
104
+ from ha_sdk_python.models.list_firewall_rules_request_content import ListFirewallRulesRequestContent
105
+ from ha_sdk_python.models.list_firewall_rules_response_content import ListFirewallRulesResponseContent
106
+ from ha_sdk_python.models.list_isos_request_content import ListIsosRequestContent
107
+ from ha_sdk_python.models.list_isos_response_content import ListIsosResponseContent
108
+ from ha_sdk_python.models.list_isos_response_data import ListIsosResponseData
109
+ from ha_sdk_python.models.list_notifications_request_content import ListNotificationsRequestContent
110
+ from ha_sdk_python.models.list_notifications_response_content import ListNotificationsResponseContent
111
+ from ha_sdk_python.models.list_orders_response_content import ListOrdersResponseContent
112
+ from ha_sdk_python.models.list_orders_response_data import ListOrdersResponseData
113
+ from ha_sdk_python.models.list_power_tasks_request_content import ListPowerTasksRequestContent
114
+ from ha_sdk_python.models.list_power_tasks_response_content import ListPowerTasksResponseContent
115
+ from ha_sdk_python.models.list_rdns_records_response_content import ListRdnsRecordsResponseContent
116
+ from ha_sdk_python.models.list_rdns_response_data import ListRdnsResponseData
117
+ from ha_sdk_python.models.list_reinstall_os_request_content import ListReinstallOsRequestContent
118
+ from ha_sdk_python.models.list_reinstall_os_response_content import ListReinstallOsResponseContent
119
+ from ha_sdk_python.models.list_reinstall_os_response_data import ListReinstallOsResponseData
120
+ from ha_sdk_python.models.list_snapshots_request_content import ListSnapshotsRequestContent
121
+ from ha_sdk_python.models.list_snapshots_response_content import ListSnapshotsResponseContent
122
+ from ha_sdk_python.models.list_vps_services_data import ListVpsServicesData
123
+ from ha_sdk_python.models.list_vps_services_response_content import ListVpsServicesResponseContent
124
+ from ha_sdk_python.models.mount_iso_request_content import MountIsoRequestContent
125
+ from ha_sdk_python.models.mount_iso_response_content import MountIsoResponseContent
126
+ from ha_sdk_python.models.move_firewall_rule_request_content import MoveFirewallRuleRequestContent
127
+ from ha_sdk_python.models.move_firewall_rule_response_content import MoveFirewallRuleResponseContent
128
+ from ha_sdk_python.models.no_vnc_console_details import NoVncConsoleDetails
129
+ from ha_sdk_python.models.no_vnc_console_response_data import NoVncConsoleResponseData
130
+ from ha_sdk_python.models.notification import Notification
131
+ from ha_sdk_python.models.notification_create_response_data import NotificationCreateResponseData
132
+ from ha_sdk_python.models.notification_dialog_rules import NotificationDialogRules
133
+ from ha_sdk_python.models.notification_list_response_data import NotificationListResponseData
134
+ from ha_sdk_python.models.notification_status import NotificationStatus
135
+ from ha_sdk_python.models.operation_status import OperationStatus
136
+ from ha_sdk_python.models.order import Order
137
+ from ha_sdk_python.models.order_last_attempt import OrderLastAttempt
138
+ from ha_sdk_python.models.order_warning import OrderWarning
139
+ from ha_sdk_python.models.payment_error import PaymentError
140
+ from ha_sdk_python.models.payment_status import PaymentStatus
141
+ from ha_sdk_python.models.power_task import PowerTask
142
+ from ha_sdk_python.models.power_task_action import PowerTaskAction
143
+ from ha_sdk_python.models.power_task_create_response_data import PowerTaskCreateResponseData
144
+ from ha_sdk_python.models.power_task_dialog_rules import PowerTaskDialogRules
145
+ from ha_sdk_python.models.power_task_job_type import PowerTaskJobType
146
+ from ha_sdk_python.models.power_task_list_response_data import PowerTaskListResponseData
147
+ from ha_sdk_python.models.public_ssh_key_response_data import PublicSshKeyResponseData
148
+ from ha_sdk_python.models.rdns_available_item import RdnsAvailableItem
149
+ from ha_sdk_python.models.rdns_pool import RdnsPool
150
+ from ha_sdk_python.models.rdns_record import RdnsRecord
151
+ from ha_sdk_python.models.reboot_vps_request_content import RebootVpsRequestContent
152
+ from ha_sdk_python.models.reboot_vps_response_content import RebootVpsResponseContent
153
+ from ha_sdk_python.models.resource_not_found_error_response_content import ResourceNotFoundErrorResponseContent
154
+ from ha_sdk_python.models.restore_backup_request_content import RestoreBackupRequestContent
155
+ from ha_sdk_python.models.restore_backup_response_content import RestoreBackupResponseContent
156
+ from ha_sdk_python.models.retry_payment_request_content import RetryPaymentRequestContent
157
+ from ha_sdk_python.models.retry_payment_response_content import RetryPaymentResponseContent
158
+ from ha_sdk_python.models.retry_payment_response_data import RetryPaymentResponseData
159
+ from ha_sdk_python.models.retry_payment_total import RetryPaymentTotal
160
+ from ha_sdk_python.models.rollback_snapshot_request_content import RollbackSnapshotRequestContent
161
+ from ha_sdk_python.models.rollback_snapshot_response_content import RollbackSnapshotResponseContent
162
+ from ha_sdk_python.models.service_backups_response_data import ServiceBackupsResponseData
163
+ from ha_sdk_python.models.service_snapshots_response_data import ServiceSnapshotsResponseData
164
+ from ha_sdk_python.models.service_unavailable_error_response_content import ServiceUnavailableErrorResponseContent
165
+ from ha_sdk_python.models.shutdown_vps_request_content import ShutdownVpsRequestContent
166
+ from ha_sdk_python.models.shutdown_vps_response_content import ShutdownVpsResponseContent
167
+ from ha_sdk_python.models.snapshot_create_response_data import SnapshotCreateResponseData
168
+ from ha_sdk_python.models.snapshot_item import SnapshotItem
169
+ from ha_sdk_python.models.ssh_key_details import SshKeyDetails
170
+ from ha_sdk_python.models.start_vps_request_content import StartVpsRequestContent
171
+ from ha_sdk_python.models.start_vps_response_content import StartVpsResponseContent
172
+ from ha_sdk_python.models.stop_vps_request_content import StopVpsRequestContent
173
+ from ha_sdk_python.models.stop_vps_response_content import StopVpsResponseContent
174
+ from ha_sdk_python.models.too_many_requests_error_response_content import TooManyRequestsErrorResponseContent
175
+ from ha_sdk_python.models.trigger_reinstall_request_content import TriggerReinstallRequestContent
176
+ from ha_sdk_python.models.trigger_reinstall_response_content import TriggerReinstallResponseContent
177
+ from ha_sdk_python.models.trigger_reinstall_response_data import TriggerReinstallResponseData
178
+ from ha_sdk_python.models.unauthorized_error_response_content import UnauthorizedErrorResponseContent
179
+ from ha_sdk_python.models.update_firewall_rule_request_content import UpdateFirewallRuleRequestContent
180
+ from ha_sdk_python.models.update_firewall_rule_response_content import UpdateFirewallRuleResponseContent
181
+ from ha_sdk_python.models.update_notification_request_content import UpdateNotificationRequestContent
182
+ from ha_sdk_python.models.update_notification_response_content import UpdateNotificationResponseContent
183
+ from ha_sdk_python.models.update_power_task_request_content import UpdatePowerTaskRequestContent
184
+ from ha_sdk_python.models.update_power_task_response_content import UpdatePowerTaskResponseContent
185
+ from ha_sdk_python.models.update_snapshot_request_content import UpdateSnapshotRequestContent
186
+ from ha_sdk_python.models.update_snapshot_response_content import UpdateSnapshotResponseContent
187
+ from ha_sdk_python.models.update_ssh_keys_request_content import UpdateSshKeysRequestContent
188
+ from ha_sdk_python.models.update_ssh_keys_response_content import UpdateSshKeysResponseContent
189
+ from ha_sdk_python.models.update_vps_config_request_content import UpdateVpsConfigRequestContent
190
+ from ha_sdk_python.models.update_vps_config_response_content import UpdateVpsConfigResponseContent
191
+ from ha_sdk_python.models.user_change_password_details import UserChangePasswordDetails
192
+ from ha_sdk_python.models.user_change_password_request_content import UserChangePasswordRequestContent
193
+ from ha_sdk_python.models.user_change_password_response_content import UserChangePasswordResponseContent
194
+ from ha_sdk_python.models.user_change_password_response_data import UserChangePasswordResponseData
195
+ from ha_sdk_python.models.validate_pricing_base import ValidatePricingBase
196
+ from ha_sdk_python.models.validate_pricing_breakdown import ValidatePricingBreakdown
197
+ from ha_sdk_python.models.validate_pricing_config_item import ValidatePricingConfigItem
198
+ from ha_sdk_python.models.validate_pricing_currency import ValidatePricingCurrency
199
+ from ha_sdk_python.models.validate_pricing_discount import ValidatePricingDiscount
200
+ from ha_sdk_python.models.validate_pricing_plan_config import ValidatePricingPlanConfig
201
+ from ha_sdk_python.models.validate_pricing_plan_pricing import ValidatePricingPlanPricing
202
+ from ha_sdk_python.models.validate_pricing_price_range import ValidatePricingPriceRange
203
+ from ha_sdk_python.models.validate_pricing_product import ValidatePricingProduct
204
+ from ha_sdk_python.models.validate_pricing_product_result import ValidatePricingProductResult
205
+ from ha_sdk_python.models.validate_pricing_prorata import ValidatePricingProrata
206
+ from ha_sdk_python.models.validate_pricing_request_content import ValidatePricingRequestContent
207
+ from ha_sdk_python.models.validate_pricing_response_content import ValidatePricingResponseContent
208
+ from ha_sdk_python.models.validate_pricing_response_data import ValidatePricingResponseData
209
+ from ha_sdk_python.models.validate_pricing_summary import ValidatePricingSummary
210
+ from ha_sdk_python.models.validate_pricing_summary_recurring import ValidatePricingSummaryRecurring
211
+ from ha_sdk_python.models.validation_error_response_content import ValidationErrorResponseContent
212
+ from ha_sdk_python.models.vps_available_features import VpsAvailableFeatures
213
+ from ha_sdk_python.models.vps_bandwidth_info import VpsBandwidthInfo
214
+ from ha_sdk_python.models.vps_cancel_response_data import VpsCancelResponseData
215
+ from ha_sdk_python.models.vps_cancel_type import VpsCancelType
216
+ from ha_sdk_python.models.vps_config_response_data import VpsConfigResponseData
217
+ from ha_sdk_python.models.vps_cpu_info import VpsCpuInfo
218
+ from ha_sdk_python.models.vps_credentials import VpsCredentials
219
+ from ha_sdk_python.models.vps_details_response import VpsDetailsResponse
220
+ from ha_sdk_python.models.vps_disk_info import VpsDiskInfo
221
+ from ha_sdk_python.models.vps_memory_info import VpsMemoryInfo
222
+ from ha_sdk_python.models.vps_network_rate import VpsNetworkRate
223
+ from ha_sdk_python.models.vps_os_info import VpsOsInfo
224
+ from ha_sdk_python.models.vps_service_info import VpsServiceInfo
225
+ from ha_sdk_python.models.vps_simple_action_response_data import VpsSimpleActionResponseData
226
+ from ha_sdk_python.models.vps_vm_info import VpsVmInfo
227
+
@@ -0,0 +1,97 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HostAfricaApi
5
+
6
+ HostAfrica API
7
+
8
+ The version of the OpenAPI document: 2026-01-01
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from ha_sdk_python.models.backup_creation_info import BackupCreationInfo
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class BackupCreateResponseData(BaseModel):
27
+ """
28
+ Response data for backup creation operation
29
+ """ # noqa: E501
30
+ message: StrictStr = Field(description="Status message indicating the result")
31
+ task_id: StrictInt = Field(description="Task ID for the backup creation process")
32
+ backup_is_creating: StrictBool = Field(description="Whether a backup is currently being created")
33
+ backup_creation: BackupCreationInfo
34
+ __properties: ClassVar[List[str]] = ["message", "task_id", "backup_is_creating", "backup_creation"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of BackupCreateResponseData from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of backup_creation
76
+ if self.backup_creation:
77
+ _dict['backup_creation'] = self.backup_creation.to_dict()
78
+ return _dict
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
82
+ """Create an instance of BackupCreateResponseData from a dict"""
83
+ if obj is None:
84
+ return None
85
+
86
+ if not isinstance(obj, dict):
87
+ return cls.model_validate(obj)
88
+
89
+ _obj = cls.model_validate({
90
+ "message": obj.get("message"),
91
+ "task_id": obj.get("task_id"),
92
+ "backup_is_creating": obj.get("backup_is_creating"),
93
+ "backup_creation": BackupCreationInfo.from_dict(obj["backup_creation"]) if obj.get("backup_creation") is not None else None
94
+ })
95
+ return _obj
96
+
97
+
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HostAfricaApi
5
+
6
+ HostAfrica API
7
+
8
+ The version of the OpenAPI document: 2026-01-01
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class BackupCreationInfo(BaseModel):
26
+ """
27
+ Information about an ongoing backup creation process
28
+ """ # noqa: E501
29
+ id: StrictInt = Field(description="Backup creation task ID")
30
+ status: StrictStr = Field(description="Status of the backup creation")
31
+ message: StrictStr = Field(description="Status message")
32
+ created_at: StrictStr = Field(description="Timestamp when backup creation started")
33
+ updated_at: StrictStr = Field(description="Timestamp when backup creation was last updated")
34
+ __properties: ClassVar[List[str]] = ["id", "status", "message", "created_at", "updated_at"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of BackupCreationInfo from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of BackupCreationInfo from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "id": obj.get("id"),
88
+ "status": obj.get("status"),
89
+ "message": obj.get("message"),
90
+ "created_at": obj.get("created_at"),
91
+ "updated_at": obj.get("updated_at")
92
+ })
93
+ return _obj
94
+
95
+