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,896 @@
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
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from ha_sdk_python.models.create_rdns_record_request_content import CreateRdnsRecordRequestContent
19
+ from ha_sdk_python.models.create_rdns_record_response_content import CreateRdnsRecordResponseContent
20
+ from ha_sdk_python.models.delete_rdns_record_request_content import DeleteRdnsRecordRequestContent
21
+ from ha_sdk_python.models.delete_rdns_record_response_content import DeleteRdnsRecordResponseContent
22
+ from ha_sdk_python.models.list_rdns_records_response_content import ListRdnsRecordsResponseContent
23
+
24
+ from ha_sdk_python.api_client import ApiClient, RequestSerialized
25
+ from ha_sdk_python.api_response import ApiResponse
26
+ from ha_sdk_python.rest import RESTResponseType
27
+
28
+
29
+ class DNSApi:
30
+ """NOTE: This class is auto generated by OpenAPI Generator
31
+ Ref: https://openapi-generator.tech
32
+
33
+ Do not edit the class manually.
34
+ """
35
+
36
+ def __init__(self, api_client=None) -> None:
37
+ if api_client is None:
38
+ api_client = ApiClient.get_default()
39
+ self.api_client = api_client
40
+
41
+
42
+ @validate_call
43
+ def create_rdns_record(
44
+ self,
45
+ create_rdns_record_request_content: CreateRdnsRecordRequestContent,
46
+ _request_timeout: Union[
47
+ None,
48
+ Annotated[StrictFloat, Field(gt=0)],
49
+ Tuple[
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Annotated[StrictFloat, Field(gt=0)]
52
+ ]
53
+ ] = None,
54
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
55
+ _content_type: Optional[StrictStr] = None,
56
+ _headers: Optional[Dict[StrictStr, Any]] = None,
57
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
58
+ ) -> CreateRdnsRecordResponseContent:
59
+ """create_rdns_record
60
+
61
+ Creates (or upserts) a PTR record for the authenticated client. If the client already owns a PTR for the same (serverid, ip) it is updated in place; if another client owns it a 409 is returned.
62
+
63
+ :param create_rdns_record_request_content: (required)
64
+ :type create_rdns_record_request_content: CreateRdnsRecordRequestContent
65
+ :param _request_timeout: timeout setting for this request. If one
66
+ number provided, it will be total request
67
+ timeout. It can also be a pair (tuple) of
68
+ (connection, read) timeouts.
69
+ :type _request_timeout: int, tuple(int, int), optional
70
+ :param _request_auth: set to override the auth_settings for an a single
71
+ request; this effectively ignores the
72
+ authentication in the spec for a single request.
73
+ :type _request_auth: dict, optional
74
+ :param _content_type: force content-type for the request.
75
+ :type _content_type: str, Optional
76
+ :param _headers: set to override the headers for a single
77
+ request; this effectively ignores the headers
78
+ in the spec for a single request.
79
+ :type _headers: dict, optional
80
+ :param _host_index: set to override the host_index for a single
81
+ request; this effectively ignores the host_index
82
+ in the spec for a single request.
83
+ :type _host_index: int, optional
84
+ :return: Returns the result object.
85
+ """ # noqa: E501
86
+
87
+ _param = self._create_rdns_record_serialize(
88
+ create_rdns_record_request_content=create_rdns_record_request_content,
89
+ _request_auth=_request_auth,
90
+ _content_type=_content_type,
91
+ _headers=_headers,
92
+ _host_index=_host_index
93
+ )
94
+
95
+ _response_types_map: Dict[str, Optional[str]] = {
96
+ '200': "CreateRdnsRecordResponseContent",
97
+ '400': "BadRequestErrorResponseContent",
98
+ '401': "UnauthorizedErrorResponseContent",
99
+ '403': "ForbiddenErrorResponseContent",
100
+ '409': "InvalidStateErrorResponseContent",
101
+ '429': "TooManyRequestsErrorResponseContent",
102
+ '500': "InternalServiceErrorResponseContent",
103
+ '503': "ServiceUnavailableErrorResponseContent",
104
+ }
105
+ response_data = self.api_client.call_api(
106
+ *_param,
107
+ _request_timeout=_request_timeout
108
+ )
109
+ response_data.read()
110
+ return self.api_client.response_deserialize(
111
+ response_data=response_data,
112
+ response_types_map=_response_types_map,
113
+ ).data
114
+
115
+
116
+ @validate_call
117
+ def create_rdns_record_with_http_info(
118
+ self,
119
+ create_rdns_record_request_content: CreateRdnsRecordRequestContent,
120
+ _request_timeout: Union[
121
+ None,
122
+ Annotated[StrictFloat, Field(gt=0)],
123
+ Tuple[
124
+ Annotated[StrictFloat, Field(gt=0)],
125
+ Annotated[StrictFloat, Field(gt=0)]
126
+ ]
127
+ ] = None,
128
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
129
+ _content_type: Optional[StrictStr] = None,
130
+ _headers: Optional[Dict[StrictStr, Any]] = None,
131
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
132
+ ) -> ApiResponse[CreateRdnsRecordResponseContent]:
133
+ """create_rdns_record
134
+
135
+ Creates (or upserts) a PTR record for the authenticated client. If the client already owns a PTR for the same (serverid, ip) it is updated in place; if another client owns it a 409 is returned.
136
+
137
+ :param create_rdns_record_request_content: (required)
138
+ :type create_rdns_record_request_content: CreateRdnsRecordRequestContent
139
+ :param _request_timeout: timeout setting for this request. If one
140
+ number provided, it will be total request
141
+ timeout. It can also be a pair (tuple) of
142
+ (connection, read) timeouts.
143
+ :type _request_timeout: int, tuple(int, int), optional
144
+ :param _request_auth: set to override the auth_settings for an a single
145
+ request; this effectively ignores the
146
+ authentication in the spec for a single request.
147
+ :type _request_auth: dict, optional
148
+ :param _content_type: force content-type for the request.
149
+ :type _content_type: str, Optional
150
+ :param _headers: set to override the headers for a single
151
+ request; this effectively ignores the headers
152
+ in the spec for a single request.
153
+ :type _headers: dict, optional
154
+ :param _host_index: set to override the host_index for a single
155
+ request; this effectively ignores the host_index
156
+ in the spec for a single request.
157
+ :type _host_index: int, optional
158
+ :return: Returns the result object.
159
+ """ # noqa: E501
160
+
161
+ _param = self._create_rdns_record_serialize(
162
+ create_rdns_record_request_content=create_rdns_record_request_content,
163
+ _request_auth=_request_auth,
164
+ _content_type=_content_type,
165
+ _headers=_headers,
166
+ _host_index=_host_index
167
+ )
168
+
169
+ _response_types_map: Dict[str, Optional[str]] = {
170
+ '200': "CreateRdnsRecordResponseContent",
171
+ '400': "BadRequestErrorResponseContent",
172
+ '401': "UnauthorizedErrorResponseContent",
173
+ '403': "ForbiddenErrorResponseContent",
174
+ '409': "InvalidStateErrorResponseContent",
175
+ '429': "TooManyRequestsErrorResponseContent",
176
+ '500': "InternalServiceErrorResponseContent",
177
+ '503': "ServiceUnavailableErrorResponseContent",
178
+ }
179
+ response_data = self.api_client.call_api(
180
+ *_param,
181
+ _request_timeout=_request_timeout
182
+ )
183
+ response_data.read()
184
+ return self.api_client.response_deserialize(
185
+ response_data=response_data,
186
+ response_types_map=_response_types_map,
187
+ )
188
+
189
+
190
+ @validate_call
191
+ def create_rdns_record_without_preload_content(
192
+ self,
193
+ create_rdns_record_request_content: CreateRdnsRecordRequestContent,
194
+ _request_timeout: Union[
195
+ None,
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Tuple[
198
+ Annotated[StrictFloat, Field(gt=0)],
199
+ Annotated[StrictFloat, Field(gt=0)]
200
+ ]
201
+ ] = None,
202
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
203
+ _content_type: Optional[StrictStr] = None,
204
+ _headers: Optional[Dict[StrictStr, Any]] = None,
205
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
206
+ ) -> RESTResponseType:
207
+ """create_rdns_record
208
+
209
+ Creates (or upserts) a PTR record for the authenticated client. If the client already owns a PTR for the same (serverid, ip) it is updated in place; if another client owns it a 409 is returned.
210
+
211
+ :param create_rdns_record_request_content: (required)
212
+ :type create_rdns_record_request_content: CreateRdnsRecordRequestContent
213
+ :param _request_timeout: timeout setting for this request. If one
214
+ number provided, it will be total request
215
+ timeout. It can also be a pair (tuple) of
216
+ (connection, read) timeouts.
217
+ :type _request_timeout: int, tuple(int, int), optional
218
+ :param _request_auth: set to override the auth_settings for an a single
219
+ request; this effectively ignores the
220
+ authentication in the spec for a single request.
221
+ :type _request_auth: dict, optional
222
+ :param _content_type: force content-type for the request.
223
+ :type _content_type: str, Optional
224
+ :param _headers: set to override the headers for a single
225
+ request; this effectively ignores the headers
226
+ in the spec for a single request.
227
+ :type _headers: dict, optional
228
+ :param _host_index: set to override the host_index for a single
229
+ request; this effectively ignores the host_index
230
+ in the spec for a single request.
231
+ :type _host_index: int, optional
232
+ :return: Returns the result object.
233
+ """ # noqa: E501
234
+
235
+ _param = self._create_rdns_record_serialize(
236
+ create_rdns_record_request_content=create_rdns_record_request_content,
237
+ _request_auth=_request_auth,
238
+ _content_type=_content_type,
239
+ _headers=_headers,
240
+ _host_index=_host_index
241
+ )
242
+
243
+ _response_types_map: Dict[str, Optional[str]] = {
244
+ '200': "CreateRdnsRecordResponseContent",
245
+ '400': "BadRequestErrorResponseContent",
246
+ '401': "UnauthorizedErrorResponseContent",
247
+ '403': "ForbiddenErrorResponseContent",
248
+ '409': "InvalidStateErrorResponseContent",
249
+ '429': "TooManyRequestsErrorResponseContent",
250
+ '500': "InternalServiceErrorResponseContent",
251
+ '503': "ServiceUnavailableErrorResponseContent",
252
+ }
253
+ response_data = self.api_client.call_api(
254
+ *_param,
255
+ _request_timeout=_request_timeout
256
+ )
257
+ return response_data.response
258
+
259
+
260
+ def _create_rdns_record_serialize(
261
+ self,
262
+ create_rdns_record_request_content,
263
+ _request_auth,
264
+ _content_type,
265
+ _headers,
266
+ _host_index,
267
+ ) -> RequestSerialized:
268
+
269
+ _host = None
270
+
271
+ _collection_formats: Dict[str, str] = {
272
+ }
273
+
274
+ _path_params: Dict[str, str] = {}
275
+ _query_params: List[Tuple[str, str]] = []
276
+ _header_params: Dict[str, Optional[str]] = _headers or {}
277
+ _form_params: List[Tuple[str, str]] = []
278
+ _files: Dict[
279
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
280
+ ] = {}
281
+ _body_params: Optional[bytes] = None
282
+
283
+ # process the path parameters
284
+ # process the query parameters
285
+ # process the header parameters
286
+ # process the form parameters
287
+ # process the body parameter
288
+ if create_rdns_record_request_content is not None:
289
+ _body_params = create_rdns_record_request_content
290
+
291
+
292
+ # set the HTTP header `Accept`
293
+ if 'Accept' not in _header_params:
294
+ _header_params['Accept'] = self.api_client.select_header_accept(
295
+ [
296
+ 'application/json'
297
+ ]
298
+ )
299
+
300
+ # set the HTTP header `Content-Type`
301
+ if _content_type:
302
+ _header_params['Content-Type'] = _content_type
303
+ else:
304
+ _default_content_type = (
305
+ self.api_client.select_header_content_type(
306
+ [
307
+ 'application/json'
308
+ ]
309
+ )
310
+ )
311
+ if _default_content_type is not None:
312
+ _header_params['Content-Type'] = _default_content_type
313
+
314
+ # authentication setting
315
+ _auth_settings: List[str] = [
316
+ 'BearerAuth'
317
+ ]
318
+
319
+ return self.api_client.param_serialize(
320
+ method='POST',
321
+ resource_path='/dns/create-rdns-record',
322
+ path_params=_path_params,
323
+ query_params=_query_params,
324
+ header_params=_header_params,
325
+ body=_body_params,
326
+ post_params=_form_params,
327
+ files=_files,
328
+ auth_settings=_auth_settings,
329
+ collection_formats=_collection_formats,
330
+ _host=_host,
331
+ _request_auth=_request_auth
332
+ )
333
+
334
+
335
+
336
+
337
+ @validate_call
338
+ def delete_rdns_record(
339
+ self,
340
+ delete_rdns_record_request_content: DeleteRdnsRecordRequestContent,
341
+ _request_timeout: Union[
342
+ None,
343
+ Annotated[StrictFloat, Field(gt=0)],
344
+ Tuple[
345
+ Annotated[StrictFloat, Field(gt=0)],
346
+ Annotated[StrictFloat, Field(gt=0)]
347
+ ]
348
+ ] = None,
349
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
350
+ _content_type: Optional[StrictStr] = None,
351
+ _headers: Optional[Dict[StrictStr, Any]] = None,
352
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
353
+ ) -> DeleteRdnsRecordResponseContent:
354
+ """delete_rdns_record
355
+
356
+ Deletes a PTR (rDNS) record owned by the authenticated client
357
+
358
+ :param delete_rdns_record_request_content: (required)
359
+ :type delete_rdns_record_request_content: DeleteRdnsRecordRequestContent
360
+ :param _request_timeout: timeout setting for this request. If one
361
+ number provided, it will be total request
362
+ timeout. It can also be a pair (tuple) of
363
+ (connection, read) timeouts.
364
+ :type _request_timeout: int, tuple(int, int), optional
365
+ :param _request_auth: set to override the auth_settings for an a single
366
+ request; this effectively ignores the
367
+ authentication in the spec for a single request.
368
+ :type _request_auth: dict, optional
369
+ :param _content_type: force content-type for the request.
370
+ :type _content_type: str, Optional
371
+ :param _headers: set to override the headers for a single
372
+ request; this effectively ignores the headers
373
+ in the spec for a single request.
374
+ :type _headers: dict, optional
375
+ :param _host_index: set to override the host_index for a single
376
+ request; this effectively ignores the host_index
377
+ in the spec for a single request.
378
+ :type _host_index: int, optional
379
+ :return: Returns the result object.
380
+ """ # noqa: E501
381
+
382
+ _param = self._delete_rdns_record_serialize(
383
+ delete_rdns_record_request_content=delete_rdns_record_request_content,
384
+ _request_auth=_request_auth,
385
+ _content_type=_content_type,
386
+ _headers=_headers,
387
+ _host_index=_host_index
388
+ )
389
+
390
+ _response_types_map: Dict[str, Optional[str]] = {
391
+ '200': "DeleteRdnsRecordResponseContent",
392
+ '400': "BadRequestErrorResponseContent",
393
+ '401': "UnauthorizedErrorResponseContent",
394
+ '403': "ForbiddenErrorResponseContent",
395
+ '404': "ResourceNotFoundErrorResponseContent",
396
+ '422': "ValidationErrorResponseContent",
397
+ '429': "TooManyRequestsErrorResponseContent",
398
+ '500': "InternalServiceErrorResponseContent",
399
+ '503': "ServiceUnavailableErrorResponseContent",
400
+ }
401
+ response_data = self.api_client.call_api(
402
+ *_param,
403
+ _request_timeout=_request_timeout
404
+ )
405
+ response_data.read()
406
+ return self.api_client.response_deserialize(
407
+ response_data=response_data,
408
+ response_types_map=_response_types_map,
409
+ ).data
410
+
411
+
412
+ @validate_call
413
+ def delete_rdns_record_with_http_info(
414
+ self,
415
+ delete_rdns_record_request_content: DeleteRdnsRecordRequestContent,
416
+ _request_timeout: Union[
417
+ None,
418
+ Annotated[StrictFloat, Field(gt=0)],
419
+ Tuple[
420
+ Annotated[StrictFloat, Field(gt=0)],
421
+ Annotated[StrictFloat, Field(gt=0)]
422
+ ]
423
+ ] = None,
424
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
425
+ _content_type: Optional[StrictStr] = None,
426
+ _headers: Optional[Dict[StrictStr, Any]] = None,
427
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
428
+ ) -> ApiResponse[DeleteRdnsRecordResponseContent]:
429
+ """delete_rdns_record
430
+
431
+ Deletes a PTR (rDNS) record owned by the authenticated client
432
+
433
+ :param delete_rdns_record_request_content: (required)
434
+ :type delete_rdns_record_request_content: DeleteRdnsRecordRequestContent
435
+ :param _request_timeout: timeout setting for this request. If one
436
+ number provided, it will be total request
437
+ timeout. It can also be a pair (tuple) of
438
+ (connection, read) timeouts.
439
+ :type _request_timeout: int, tuple(int, int), optional
440
+ :param _request_auth: set to override the auth_settings for an a single
441
+ request; this effectively ignores the
442
+ authentication in the spec for a single request.
443
+ :type _request_auth: dict, optional
444
+ :param _content_type: force content-type for the request.
445
+ :type _content_type: str, Optional
446
+ :param _headers: set to override the headers for a single
447
+ request; this effectively ignores the headers
448
+ in the spec for a single request.
449
+ :type _headers: dict, optional
450
+ :param _host_index: set to override the host_index for a single
451
+ request; this effectively ignores the host_index
452
+ in the spec for a single request.
453
+ :type _host_index: int, optional
454
+ :return: Returns the result object.
455
+ """ # noqa: E501
456
+
457
+ _param = self._delete_rdns_record_serialize(
458
+ delete_rdns_record_request_content=delete_rdns_record_request_content,
459
+ _request_auth=_request_auth,
460
+ _content_type=_content_type,
461
+ _headers=_headers,
462
+ _host_index=_host_index
463
+ )
464
+
465
+ _response_types_map: Dict[str, Optional[str]] = {
466
+ '200': "DeleteRdnsRecordResponseContent",
467
+ '400': "BadRequestErrorResponseContent",
468
+ '401': "UnauthorizedErrorResponseContent",
469
+ '403': "ForbiddenErrorResponseContent",
470
+ '404': "ResourceNotFoundErrorResponseContent",
471
+ '422': "ValidationErrorResponseContent",
472
+ '429': "TooManyRequestsErrorResponseContent",
473
+ '500': "InternalServiceErrorResponseContent",
474
+ '503': "ServiceUnavailableErrorResponseContent",
475
+ }
476
+ response_data = self.api_client.call_api(
477
+ *_param,
478
+ _request_timeout=_request_timeout
479
+ )
480
+ response_data.read()
481
+ return self.api_client.response_deserialize(
482
+ response_data=response_data,
483
+ response_types_map=_response_types_map,
484
+ )
485
+
486
+
487
+ @validate_call
488
+ def delete_rdns_record_without_preload_content(
489
+ self,
490
+ delete_rdns_record_request_content: DeleteRdnsRecordRequestContent,
491
+ _request_timeout: Union[
492
+ None,
493
+ Annotated[StrictFloat, Field(gt=0)],
494
+ Tuple[
495
+ Annotated[StrictFloat, Field(gt=0)],
496
+ Annotated[StrictFloat, Field(gt=0)]
497
+ ]
498
+ ] = None,
499
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
500
+ _content_type: Optional[StrictStr] = None,
501
+ _headers: Optional[Dict[StrictStr, Any]] = None,
502
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
503
+ ) -> RESTResponseType:
504
+ """delete_rdns_record
505
+
506
+ Deletes a PTR (rDNS) record owned by the authenticated client
507
+
508
+ :param delete_rdns_record_request_content: (required)
509
+ :type delete_rdns_record_request_content: DeleteRdnsRecordRequestContent
510
+ :param _request_timeout: timeout setting for this request. If one
511
+ number provided, it will be total request
512
+ timeout. It can also be a pair (tuple) of
513
+ (connection, read) timeouts.
514
+ :type _request_timeout: int, tuple(int, int), optional
515
+ :param _request_auth: set to override the auth_settings for an a single
516
+ request; this effectively ignores the
517
+ authentication in the spec for a single request.
518
+ :type _request_auth: dict, optional
519
+ :param _content_type: force content-type for the request.
520
+ :type _content_type: str, Optional
521
+ :param _headers: set to override the headers for a single
522
+ request; this effectively ignores the headers
523
+ in the spec for a single request.
524
+ :type _headers: dict, optional
525
+ :param _host_index: set to override the host_index for a single
526
+ request; this effectively ignores the host_index
527
+ in the spec for a single request.
528
+ :type _host_index: int, optional
529
+ :return: Returns the result object.
530
+ """ # noqa: E501
531
+
532
+ _param = self._delete_rdns_record_serialize(
533
+ delete_rdns_record_request_content=delete_rdns_record_request_content,
534
+ _request_auth=_request_auth,
535
+ _content_type=_content_type,
536
+ _headers=_headers,
537
+ _host_index=_host_index
538
+ )
539
+
540
+ _response_types_map: Dict[str, Optional[str]] = {
541
+ '200': "DeleteRdnsRecordResponseContent",
542
+ '400': "BadRequestErrorResponseContent",
543
+ '401': "UnauthorizedErrorResponseContent",
544
+ '403': "ForbiddenErrorResponseContent",
545
+ '404': "ResourceNotFoundErrorResponseContent",
546
+ '422': "ValidationErrorResponseContent",
547
+ '429': "TooManyRequestsErrorResponseContent",
548
+ '500': "InternalServiceErrorResponseContent",
549
+ '503': "ServiceUnavailableErrorResponseContent",
550
+ }
551
+ response_data = self.api_client.call_api(
552
+ *_param,
553
+ _request_timeout=_request_timeout
554
+ )
555
+ return response_data.response
556
+
557
+
558
+ def _delete_rdns_record_serialize(
559
+ self,
560
+ delete_rdns_record_request_content,
561
+ _request_auth,
562
+ _content_type,
563
+ _headers,
564
+ _host_index,
565
+ ) -> RequestSerialized:
566
+
567
+ _host = None
568
+
569
+ _collection_formats: Dict[str, str] = {
570
+ }
571
+
572
+ _path_params: Dict[str, str] = {}
573
+ _query_params: List[Tuple[str, str]] = []
574
+ _header_params: Dict[str, Optional[str]] = _headers or {}
575
+ _form_params: List[Tuple[str, str]] = []
576
+ _files: Dict[
577
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
578
+ ] = {}
579
+ _body_params: Optional[bytes] = None
580
+
581
+ # process the path parameters
582
+ # process the query parameters
583
+ # process the header parameters
584
+ # process the form parameters
585
+ # process the body parameter
586
+ if delete_rdns_record_request_content is not None:
587
+ _body_params = delete_rdns_record_request_content
588
+
589
+
590
+ # set the HTTP header `Accept`
591
+ if 'Accept' not in _header_params:
592
+ _header_params['Accept'] = self.api_client.select_header_accept(
593
+ [
594
+ 'application/json'
595
+ ]
596
+ )
597
+
598
+ # set the HTTP header `Content-Type`
599
+ if _content_type:
600
+ _header_params['Content-Type'] = _content_type
601
+ else:
602
+ _default_content_type = (
603
+ self.api_client.select_header_content_type(
604
+ [
605
+ 'application/json'
606
+ ]
607
+ )
608
+ )
609
+ if _default_content_type is not None:
610
+ _header_params['Content-Type'] = _default_content_type
611
+
612
+ # authentication setting
613
+ _auth_settings: List[str] = [
614
+ 'BearerAuth'
615
+ ]
616
+
617
+ return self.api_client.param_serialize(
618
+ method='POST',
619
+ resource_path='/dns/delete-rdns-record',
620
+ path_params=_path_params,
621
+ query_params=_query_params,
622
+ header_params=_header_params,
623
+ body=_body_params,
624
+ post_params=_form_params,
625
+ files=_files,
626
+ auth_settings=_auth_settings,
627
+ collection_formats=_collection_formats,
628
+ _host=_host,
629
+ _request_auth=_request_auth
630
+ )
631
+
632
+
633
+
634
+
635
+ @validate_call
636
+ def list_rdns_records(
637
+ self,
638
+ _request_timeout: Union[
639
+ None,
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Tuple[
642
+ Annotated[StrictFloat, Field(gt=0)],
643
+ Annotated[StrictFloat, Field(gt=0)]
644
+ ]
645
+ ] = None,
646
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
647
+ _content_type: Optional[StrictStr] = None,
648
+ _headers: Optional[Dict[StrictStr, Any]] = None,
649
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
650
+ ) -> ListRdnsRecordsResponseContent:
651
+ """list_rdns_records
652
+
653
+ Lists all rDNS (PTR) records and available services for the authenticated client
654
+
655
+ :param _request_timeout: timeout setting for this request. If one
656
+ number provided, it will be total request
657
+ timeout. It can also be a pair (tuple) of
658
+ (connection, read) timeouts.
659
+ :type _request_timeout: int, tuple(int, int), optional
660
+ :param _request_auth: set to override the auth_settings for an a single
661
+ request; this effectively ignores the
662
+ authentication in the spec for a single request.
663
+ :type _request_auth: dict, optional
664
+ :param _content_type: force content-type for the request.
665
+ :type _content_type: str, Optional
666
+ :param _headers: set to override the headers for a single
667
+ request; this effectively ignores the headers
668
+ in the spec for a single request.
669
+ :type _headers: dict, optional
670
+ :param _host_index: set to override the host_index for a single
671
+ request; this effectively ignores the host_index
672
+ in the spec for a single request.
673
+ :type _host_index: int, optional
674
+ :return: Returns the result object.
675
+ """ # noqa: E501
676
+
677
+ _param = self._list_rdns_records_serialize(
678
+ _request_auth=_request_auth,
679
+ _content_type=_content_type,
680
+ _headers=_headers,
681
+ _host_index=_host_index
682
+ )
683
+
684
+ _response_types_map: Dict[str, Optional[str]] = {
685
+ '200': "ListRdnsRecordsResponseContent",
686
+ '400': "BadRequestErrorResponseContent",
687
+ '401': "UnauthorizedErrorResponseContent",
688
+ '403': "ForbiddenErrorResponseContent",
689
+ '429': "TooManyRequestsErrorResponseContent",
690
+ '500': "InternalServiceErrorResponseContent",
691
+ '503': "ServiceUnavailableErrorResponseContent",
692
+ }
693
+ response_data = self.api_client.call_api(
694
+ *_param,
695
+ _request_timeout=_request_timeout
696
+ )
697
+ response_data.read()
698
+ return self.api_client.response_deserialize(
699
+ response_data=response_data,
700
+ response_types_map=_response_types_map,
701
+ ).data
702
+
703
+
704
+ @validate_call
705
+ def list_rdns_records_with_http_info(
706
+ self,
707
+ _request_timeout: Union[
708
+ None,
709
+ Annotated[StrictFloat, Field(gt=0)],
710
+ Tuple[
711
+ Annotated[StrictFloat, Field(gt=0)],
712
+ Annotated[StrictFloat, Field(gt=0)]
713
+ ]
714
+ ] = None,
715
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
716
+ _content_type: Optional[StrictStr] = None,
717
+ _headers: Optional[Dict[StrictStr, Any]] = None,
718
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
719
+ ) -> ApiResponse[ListRdnsRecordsResponseContent]:
720
+ """list_rdns_records
721
+
722
+ Lists all rDNS (PTR) records and available services for the authenticated client
723
+
724
+ :param _request_timeout: timeout setting for this request. If one
725
+ number provided, it will be total request
726
+ timeout. It can also be a pair (tuple) of
727
+ (connection, read) timeouts.
728
+ :type _request_timeout: int, tuple(int, int), optional
729
+ :param _request_auth: set to override the auth_settings for an a single
730
+ request; this effectively ignores the
731
+ authentication in the spec for a single request.
732
+ :type _request_auth: dict, optional
733
+ :param _content_type: force content-type for the request.
734
+ :type _content_type: str, Optional
735
+ :param _headers: set to override the headers for a single
736
+ request; this effectively ignores the headers
737
+ in the spec for a single request.
738
+ :type _headers: dict, optional
739
+ :param _host_index: set to override the host_index for a single
740
+ request; this effectively ignores the host_index
741
+ in the spec for a single request.
742
+ :type _host_index: int, optional
743
+ :return: Returns the result object.
744
+ """ # noqa: E501
745
+
746
+ _param = self._list_rdns_records_serialize(
747
+ _request_auth=_request_auth,
748
+ _content_type=_content_type,
749
+ _headers=_headers,
750
+ _host_index=_host_index
751
+ )
752
+
753
+ _response_types_map: Dict[str, Optional[str]] = {
754
+ '200': "ListRdnsRecordsResponseContent",
755
+ '400': "BadRequestErrorResponseContent",
756
+ '401': "UnauthorizedErrorResponseContent",
757
+ '403': "ForbiddenErrorResponseContent",
758
+ '429': "TooManyRequestsErrorResponseContent",
759
+ '500': "InternalServiceErrorResponseContent",
760
+ '503': "ServiceUnavailableErrorResponseContent",
761
+ }
762
+ response_data = self.api_client.call_api(
763
+ *_param,
764
+ _request_timeout=_request_timeout
765
+ )
766
+ response_data.read()
767
+ return self.api_client.response_deserialize(
768
+ response_data=response_data,
769
+ response_types_map=_response_types_map,
770
+ )
771
+
772
+
773
+ @validate_call
774
+ def list_rdns_records_without_preload_content(
775
+ self,
776
+ _request_timeout: Union[
777
+ None,
778
+ Annotated[StrictFloat, Field(gt=0)],
779
+ Tuple[
780
+ Annotated[StrictFloat, Field(gt=0)],
781
+ Annotated[StrictFloat, Field(gt=0)]
782
+ ]
783
+ ] = None,
784
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
785
+ _content_type: Optional[StrictStr] = None,
786
+ _headers: Optional[Dict[StrictStr, Any]] = None,
787
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
788
+ ) -> RESTResponseType:
789
+ """list_rdns_records
790
+
791
+ Lists all rDNS (PTR) records and available services for the authenticated client
792
+
793
+ :param _request_timeout: timeout setting for this request. If one
794
+ number provided, it will be total request
795
+ timeout. It can also be a pair (tuple) of
796
+ (connection, read) timeouts.
797
+ :type _request_timeout: int, tuple(int, int), optional
798
+ :param _request_auth: set to override the auth_settings for an a single
799
+ request; this effectively ignores the
800
+ authentication in the spec for a single request.
801
+ :type _request_auth: dict, optional
802
+ :param _content_type: force content-type for the request.
803
+ :type _content_type: str, Optional
804
+ :param _headers: set to override the headers for a single
805
+ request; this effectively ignores the headers
806
+ in the spec for a single request.
807
+ :type _headers: dict, optional
808
+ :param _host_index: set to override the host_index for a single
809
+ request; this effectively ignores the host_index
810
+ in the spec for a single request.
811
+ :type _host_index: int, optional
812
+ :return: Returns the result object.
813
+ """ # noqa: E501
814
+
815
+ _param = self._list_rdns_records_serialize(
816
+ _request_auth=_request_auth,
817
+ _content_type=_content_type,
818
+ _headers=_headers,
819
+ _host_index=_host_index
820
+ )
821
+
822
+ _response_types_map: Dict[str, Optional[str]] = {
823
+ '200': "ListRdnsRecordsResponseContent",
824
+ '400': "BadRequestErrorResponseContent",
825
+ '401': "UnauthorizedErrorResponseContent",
826
+ '403': "ForbiddenErrorResponseContent",
827
+ '429': "TooManyRequestsErrorResponseContent",
828
+ '500': "InternalServiceErrorResponseContent",
829
+ '503': "ServiceUnavailableErrorResponseContent",
830
+ }
831
+ response_data = self.api_client.call_api(
832
+ *_param,
833
+ _request_timeout=_request_timeout
834
+ )
835
+ return response_data.response
836
+
837
+
838
+ def _list_rdns_records_serialize(
839
+ self,
840
+ _request_auth,
841
+ _content_type,
842
+ _headers,
843
+ _host_index,
844
+ ) -> RequestSerialized:
845
+
846
+ _host = None
847
+
848
+ _collection_formats: Dict[str, str] = {
849
+ }
850
+
851
+ _path_params: Dict[str, str] = {}
852
+ _query_params: List[Tuple[str, str]] = []
853
+ _header_params: Dict[str, Optional[str]] = _headers or {}
854
+ _form_params: List[Tuple[str, str]] = []
855
+ _files: Dict[
856
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
857
+ ] = {}
858
+ _body_params: Optional[bytes] = None
859
+
860
+ # process the path parameters
861
+ # process the query parameters
862
+ # process the header parameters
863
+ # process the form parameters
864
+ # process the body parameter
865
+
866
+
867
+ # set the HTTP header `Accept`
868
+ if 'Accept' not in _header_params:
869
+ _header_params['Accept'] = self.api_client.select_header_accept(
870
+ [
871
+ 'application/json'
872
+ ]
873
+ )
874
+
875
+
876
+ # authentication setting
877
+ _auth_settings: List[str] = [
878
+ 'BearerAuth'
879
+ ]
880
+
881
+ return self.api_client.param_serialize(
882
+ method='POST',
883
+ resource_path='/dns/list-rdns-records',
884
+ path_params=_path_params,
885
+ query_params=_query_params,
886
+ header_params=_header_params,
887
+ body=_body_params,
888
+ post_params=_form_params,
889
+ files=_files,
890
+ auth_settings=_auth_settings,
891
+ collection_formats=_collection_formats,
892
+ _host=_host,
893
+ _request_auth=_request_auth
894
+ )
895
+
896
+