hostinger-api 1.0.0__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 (88) hide show
  1. hostinger_api/__init__.py +105 -0
  2. hostinger_api/api/__init__.py +21 -0
  3. hostinger_api/api/billing_catalog_api.py +282 -0
  4. hostinger_api/api/billing_orders_api.py +313 -0
  5. hostinger_api/api/billing_payment_methods_api.py +819 -0
  6. hostinger_api/api/billing_subscriptions_api.py +584 -0
  7. hostinger_api/api/domains_portfolio_api.py +282 -0
  8. hostinger_api/api/vps_actions_api.py +599 -0
  9. hostinger_api/api/vps_backups_api.py +882 -0
  10. hostinger_api/api/vps_data_centers_api.py +282 -0
  11. hostinger_api/api/vps_firewall_api.py +2872 -0
  12. hostinger_api/api/vps_malware_scanner_api.py +842 -0
  13. hostinger_api/api/vps_post_install_scripts_api.py +1419 -0
  14. hostinger_api/api/vps_public_keys_api.py +1154 -0
  15. hostinger_api/api/vps_recovery_api.py +597 -0
  16. hostinger_api/api/vps_snapshots_api.py +1100 -0
  17. hostinger_api/api/vps_virtual_machine_api.py +3714 -0
  18. hostinger_api/api/vpsos_templates_api.py +551 -0
  19. hostinger_api/api/vpsptr_records_api.py +565 -0
  20. hostinger_api/api_client.py +795 -0
  21. hostinger_api/api_response.py +21 -0
  22. hostinger_api/configuration.py +579 -0
  23. hostinger_api/exceptions.py +214 -0
  24. hostinger_api/models/__init__.py +72 -0
  25. hostinger_api/models/billing_v1_catalog_catalog_item_price_resource.py +107 -0
  26. hostinger_api/models/billing_v1_catalog_catalog_item_resource.py +99 -0
  27. hostinger_api/models/billing_v1_order_order_billing_address_resource.py +145 -0
  28. hostinger_api/models/billing_v1_order_order_resource.py +116 -0
  29. hostinger_api/models/billing_v1_order_store_request.py +97 -0
  30. hostinger_api/models/billing_v1_order_store_request_items_inner.py +87 -0
  31. hostinger_api/models/billing_v1_payment_method_payment_method_resource.py +102 -0
  32. hostinger_api/models/billing_v1_subscription_cancel_request.py +117 -0
  33. hostinger_api/models/billing_v1_subscription_subscription_resource.py +130 -0
  34. hostinger_api/models/common_schema_error_response_schema.py +87 -0
  35. hostinger_api/models/common_schema_pagination_meta_schema.py +89 -0
  36. hostinger_api/models/common_schema_unauthorized_response_schema.py +87 -0
  37. hostinger_api/models/common_schema_unprocessable_content_response_schema.py +93 -0
  38. hostinger_api/models/common_schema_unprocessable_content_response_schema_errors.py +87 -0
  39. hostinger_api/models/common_success_empty_resource.py +85 -0
  40. hostinger_api/models/domains_v1_domain_domain_resource.py +126 -0
  41. hostinger_api/models/vps_get_action_list_v1200_response.py +99 -0
  42. hostinger_api/models/vps_get_backup_list_v1200_response.py +99 -0
  43. hostinger_api/models/vps_get_firewall_list_v1200_response.py +99 -0
  44. hostinger_api/models/vps_get_post_install_script_list_v1200_response.py +99 -0
  45. hostinger_api/models/vps_get_public_key_list_v1200_response.py +99 -0
  46. hostinger_api/models/vpsv1_action_action_resource.py +104 -0
  47. hostinger_api/models/vpsv1_backup_backup_resource.py +90 -0
  48. hostinger_api/models/vpsv1_data_center_data_center_resource.py +113 -0
  49. hostinger_api/models/vpsv1_firewall_firewall_resource.py +104 -0
  50. hostinger_api/models/vpsv1_firewall_firewall_rule_resource.py +115 -0
  51. hostinger_api/models/vpsv1_firewall_rules_store_request.py +105 -0
  52. hostinger_api/models/vpsv1_firewall_store_request.py +85 -0
  53. hostinger_api/models/vpsv1_ip_address_ip_address_resource.py +94 -0
  54. hostinger_api/models/vpsv1_malware_metrics_resource.py +101 -0
  55. hostinger_api/models/vpsv1_metrics_metrics_collection.py +149 -0
  56. hostinger_api/models/vpsv1_metrics_metrics_collection_cpu_usage.py +127 -0
  57. hostinger_api/models/vpsv1_metrics_metrics_collection_disk_space.py +127 -0
  58. hostinger_api/models/vpsv1_metrics_metrics_collection_incoming_traffic.py +127 -0
  59. hostinger_api/models/vpsv1_metrics_metrics_collection_outgoing_traffic.py +127 -0
  60. hostinger_api/models/vpsv1_metrics_metrics_collection_ram_usage.py +127 -0
  61. hostinger_api/models/vpsv1_metrics_metrics_collection_uptime.py +127 -0
  62. hostinger_api/models/vpsv1_metrics_metrics_resource.py +87 -0
  63. hostinger_api/models/vpsv1_post_install_script_post_install_script_resource.py +94 -0
  64. hostinger_api/models/vpsv1_post_install_script_store_request.py +87 -0
  65. hostinger_api/models/vpsv1_public_key_attach_request.py +85 -0
  66. hostinger_api/models/vpsv1_public_key_public_key_resource.py +89 -0
  67. hostinger_api/models/vpsv1_public_key_store_request.py +87 -0
  68. hostinger_api/models/vpsv1_snapshot_snapshot_resource.py +90 -0
  69. hostinger_api/models/vpsv1_template_template_resource.py +96 -0
  70. hostinger_api/models/vpsv1_virtual_machine_hostname_update_request.py +85 -0
  71. hostinger_api/models/vpsv1_virtual_machine_metric_get_request.py +88 -0
  72. hostinger_api/models/vpsv1_virtual_machine_nameservers_update_request.py +87 -0
  73. hostinger_api/models/vpsv1_virtual_machine_panel_password_update_request.py +86 -0
  74. hostinger_api/models/vpsv1_virtual_machine_recovery_start_request.py +85 -0
  75. hostinger_api/models/vpsv1_virtual_machine_recreate_request.py +90 -0
  76. hostinger_api/models/vpsv1_virtual_machine_root_password_update_request.py +86 -0
  77. hostinger_api/models/vpsv1_virtual_machine_setup_request.py +108 -0
  78. hostinger_api/models/vpsv1_virtual_machine_setup_request_public_key.py +87 -0
  79. hostinger_api/models/vpsv1_virtual_machine_virtual_machine_resource.py +190 -0
  80. hostinger_api/models/vpsv1_virtual_machine_virtual_machine_resource_ipv4.py +131 -0
  81. hostinger_api/models/vpsv1_virtual_machine_virtual_machine_resource_ipv6.py +131 -0
  82. hostinger_api/models/vpsv1_virtual_machine_virtual_machine_resource_template.py +127 -0
  83. hostinger_api/py.typed +0 -0
  84. hostinger_api/rest.py +256 -0
  85. hostinger_api-1.0.0.dist-info/METADATA +26 -0
  86. hostinger_api-1.0.0.dist-info/RECORD +88 -0
  87. hostinger_api-1.0.0.dist-info/WHEEL +5 -0
  88. hostinger_api-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,313 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Hostinger API Python SDK
5
+
6
+ API Version: 0.0.1-beta
7
+
8
+ NOTE: This file is auto-generated, DO NOT EDIT THIS FILE MANUALLY!
9
+ If you want to contribute or request a new feature, please create an issue or pull request on https://github.com/hostinger/api
10
+ """ # noqa: E501
11
+
12
+ import warnings
13
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
14
+ from typing import Any, Dict, List, Optional, Tuple, Union
15
+ from typing_extensions import Annotated
16
+
17
+ from hostinger_api.models.billing_v1_order_order_resource import BillingV1OrderOrderResource
18
+ from hostinger_api.models.billing_v1_order_store_request import BillingV1OrderStoreRequest
19
+
20
+ from hostinger_api.api_client import ApiClient, RequestSerialized
21
+ from hostinger_api.api_response import ApiResponse
22
+ from hostinger_api.rest import RESTResponseType
23
+
24
+
25
+ class BillingOrdersApi:
26
+
27
+ def __init__(self, api_client=None) -> None:
28
+ if api_client is None:
29
+ api_client = ApiClient.get_default()
30
+ self.api_client = api_client
31
+
32
+
33
+ @validate_call
34
+ def create_new_service_order_v1(
35
+ self,
36
+ billing_v1_order_store_request: BillingV1OrderStoreRequest,
37
+ _request_timeout: Union[
38
+ None,
39
+ Annotated[StrictFloat, Field(gt=0)],
40
+ Tuple[
41
+ Annotated[StrictFloat, Field(gt=0)],
42
+ Annotated[StrictFloat, Field(gt=0)]
43
+ ]
44
+ ] = None,
45
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
46
+ _content_type: Optional[StrictStr] = None,
47
+ _headers: Optional[Dict[StrictStr, Any]] = None,
48
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
49
+ ) -> BillingV1OrderOrderResource:
50
+ """Create new service order
51
+
52
+ This endpoint creates a new service order. To place order, you need to provide payment method ID and list of price items from the catalog endpoint together with quantity. Coupons also can be provided during order creation. Orders created using this endpoint will be set for automatically renewal.
53
+
54
+ :param billing_v1_order_store_request: (required)
55
+ :type billing_v1_order_store_request: BillingV1OrderStoreRequest
56
+ :param _request_timeout: timeout setting for this request. If one
57
+ number provided, it will be total request
58
+ timeout. It can also be a pair (tuple) of
59
+ (connection, read) timeouts.
60
+ :type _request_timeout: int, tuple(int, int), optional
61
+ :param _request_auth: set to override the auth_settings for an a single
62
+ request; this effectively ignores the
63
+ authentication in the spec for a single request.
64
+ :type _request_auth: dict, optional
65
+ :param _content_type: force content-type for the request.
66
+ :type _content_type: str, Optional
67
+ :param _headers: set to override the headers for a single
68
+ request; this effectively ignores the headers
69
+ in the spec for a single request.
70
+ :type _headers: dict, optional
71
+ :param _host_index: set to override the host_index for a single
72
+ request; this effectively ignores the host_index
73
+ in the spec for a single request.
74
+ :type _host_index: int, optional
75
+ :return: Returns the result object.
76
+ """ # noqa: E501
77
+
78
+ _param = self._create_new_service_order_v1_serialize(
79
+ billing_v1_order_store_request=billing_v1_order_store_request,
80
+ _request_auth=_request_auth,
81
+ _content_type=_content_type,
82
+ _headers=_headers,
83
+ _host_index=_host_index
84
+ )
85
+
86
+ _response_types_map: Dict[str, Optional[str]] = {
87
+ '200': "BillingV1OrderOrderResource",
88
+ '422': "CommonSchemaUnprocessableContentResponseSchema",
89
+ '401': "CommonSchemaUnauthorizedResponseSchema",
90
+ '500': "CommonSchemaErrorResponseSchema",
91
+ }
92
+ response_data = self.api_client.call_api(
93
+ *_param,
94
+ _request_timeout=_request_timeout
95
+ )
96
+ response_data.read()
97
+ return self.api_client.response_deserialize(
98
+ response_data=response_data,
99
+ response_types_map=_response_types_map,
100
+ ).data
101
+
102
+
103
+ @validate_call
104
+ def create_new_service_order_v1_with_http_info(
105
+ self,
106
+ billing_v1_order_store_request: BillingV1OrderStoreRequest,
107
+ _request_timeout: Union[
108
+ None,
109
+ Annotated[StrictFloat, Field(gt=0)],
110
+ Tuple[
111
+ Annotated[StrictFloat, Field(gt=0)],
112
+ Annotated[StrictFloat, Field(gt=0)]
113
+ ]
114
+ ] = None,
115
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
116
+ _content_type: Optional[StrictStr] = None,
117
+ _headers: Optional[Dict[StrictStr, Any]] = None,
118
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
119
+ ) -> ApiResponse[BillingV1OrderOrderResource]:
120
+ """Create new service order
121
+
122
+ This endpoint creates a new service order. To place order, you need to provide payment method ID and list of price items from the catalog endpoint together with quantity. Coupons also can be provided during order creation. Orders created using this endpoint will be set for automatically renewal.
123
+
124
+ :param billing_v1_order_store_request: (required)
125
+ :type billing_v1_order_store_request: BillingV1OrderStoreRequest
126
+ :param _request_timeout: timeout setting for this request. If one
127
+ number provided, it will be total request
128
+ timeout. It can also be a pair (tuple) of
129
+ (connection, read) timeouts.
130
+ :type _request_timeout: int, tuple(int, int), optional
131
+ :param _request_auth: set to override the auth_settings for an a single
132
+ request; this effectively ignores the
133
+ authentication in the spec for a single request.
134
+ :type _request_auth: dict, optional
135
+ :param _content_type: force content-type for the request.
136
+ :type _content_type: str, Optional
137
+ :param _headers: set to override the headers for a single
138
+ request; this effectively ignores the headers
139
+ in the spec for a single request.
140
+ :type _headers: dict, optional
141
+ :param _host_index: set to override the host_index for a single
142
+ request; this effectively ignores the host_index
143
+ in the spec for a single request.
144
+ :type _host_index: int, optional
145
+ :return: Returns the result object.
146
+ """ # noqa: E501
147
+
148
+ _param = self._create_new_service_order_v1_serialize(
149
+ billing_v1_order_store_request=billing_v1_order_store_request,
150
+ _request_auth=_request_auth,
151
+ _content_type=_content_type,
152
+ _headers=_headers,
153
+ _host_index=_host_index
154
+ )
155
+
156
+ _response_types_map: Dict[str, Optional[str]] = {
157
+ '200': "BillingV1OrderOrderResource",
158
+ '422': "CommonSchemaUnprocessableContentResponseSchema",
159
+ '401': "CommonSchemaUnauthorizedResponseSchema",
160
+ '500': "CommonSchemaErrorResponseSchema",
161
+ }
162
+ response_data = self.api_client.call_api(
163
+ *_param,
164
+ _request_timeout=_request_timeout
165
+ )
166
+ response_data.read()
167
+ return self.api_client.response_deserialize(
168
+ response_data=response_data,
169
+ response_types_map=_response_types_map,
170
+ )
171
+
172
+
173
+ @validate_call
174
+ def create_new_service_order_v1_without_preload_content(
175
+ self,
176
+ billing_v1_order_store_request: BillingV1OrderStoreRequest,
177
+ _request_timeout: Union[
178
+ None,
179
+ Annotated[StrictFloat, Field(gt=0)],
180
+ Tuple[
181
+ Annotated[StrictFloat, Field(gt=0)],
182
+ Annotated[StrictFloat, Field(gt=0)]
183
+ ]
184
+ ] = None,
185
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
186
+ _content_type: Optional[StrictStr] = None,
187
+ _headers: Optional[Dict[StrictStr, Any]] = None,
188
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
189
+ ) -> RESTResponseType:
190
+ """Create new service order
191
+
192
+ This endpoint creates a new service order. To place order, you need to provide payment method ID and list of price items from the catalog endpoint together with quantity. Coupons also can be provided during order creation. Orders created using this endpoint will be set for automatically renewal.
193
+
194
+ :param billing_v1_order_store_request: (required)
195
+ :type billing_v1_order_store_request: BillingV1OrderStoreRequest
196
+ :param _request_timeout: timeout setting for this request. If one
197
+ number provided, it will be total request
198
+ timeout. It can also be a pair (tuple) of
199
+ (connection, read) timeouts.
200
+ :type _request_timeout: int, tuple(int, int), optional
201
+ :param _request_auth: set to override the auth_settings for an a single
202
+ request; this effectively ignores the
203
+ authentication in the spec for a single request.
204
+ :type _request_auth: dict, optional
205
+ :param _content_type: force content-type for the request.
206
+ :type _content_type: str, Optional
207
+ :param _headers: set to override the headers for a single
208
+ request; this effectively ignores the headers
209
+ in the spec for a single request.
210
+ :type _headers: dict, optional
211
+ :param _host_index: set to override the host_index for a single
212
+ request; this effectively ignores the host_index
213
+ in the spec for a single request.
214
+ :type _host_index: int, optional
215
+ :return: Returns the result object.
216
+ """ # noqa: E501
217
+
218
+ _param = self._create_new_service_order_v1_serialize(
219
+ billing_v1_order_store_request=billing_v1_order_store_request,
220
+ _request_auth=_request_auth,
221
+ _content_type=_content_type,
222
+ _headers=_headers,
223
+ _host_index=_host_index
224
+ )
225
+
226
+ _response_types_map: Dict[str, Optional[str]] = {
227
+ '200': "BillingV1OrderOrderResource",
228
+ '422': "CommonSchemaUnprocessableContentResponseSchema",
229
+ '401': "CommonSchemaUnauthorizedResponseSchema",
230
+ '500': "CommonSchemaErrorResponseSchema",
231
+ }
232
+ response_data = self.api_client.call_api(
233
+ *_param,
234
+ _request_timeout=_request_timeout
235
+ )
236
+ return response_data.response
237
+
238
+
239
+ def _create_new_service_order_v1_serialize(
240
+ self,
241
+ billing_v1_order_store_request,
242
+ _request_auth,
243
+ _content_type,
244
+ _headers,
245
+ _host_index,
246
+ ) -> RequestSerialized:
247
+
248
+ _host = None
249
+
250
+ _collection_formats: Dict[str, str] = {
251
+ }
252
+
253
+ _path_params: Dict[str, str] = {}
254
+ _query_params: List[Tuple[str, str]] = []
255
+ _header_params: Dict[str, Optional[str]] = _headers or {}
256
+ _form_params: List[Tuple[str, str]] = []
257
+ _files: Dict[
258
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
259
+ ] = {}
260
+ _body_params: Optional[bytes] = None
261
+
262
+ # process the path parameters
263
+ # process the query parameters
264
+ # process the header parameters
265
+ # process the form parameters
266
+ # process the body parameter
267
+ if billing_v1_order_store_request is not None:
268
+ _body_params = billing_v1_order_store_request
269
+
270
+
271
+ # set the HTTP header `Accept`
272
+ if 'Accept' not in _header_params:
273
+ _header_params['Accept'] = self.api_client.select_header_accept(
274
+ [
275
+ 'application/json'
276
+ ]
277
+ )
278
+
279
+ # set the HTTP header `Content-Type`
280
+ if _content_type:
281
+ _header_params['Content-Type'] = _content_type
282
+ else:
283
+ _default_content_type = (
284
+ self.api_client.select_header_content_type(
285
+ [
286
+ 'application/json'
287
+ ]
288
+ )
289
+ )
290
+ if _default_content_type is not None:
291
+ _header_params['Content-Type'] = _default_content_type
292
+
293
+ # authentication setting
294
+ _auth_settings: List[str] = [
295
+ 'apiToken'
296
+ ]
297
+
298
+ return self.api_client.param_serialize(
299
+ method='POST',
300
+ resource_path='/api/billing/v1/orders',
301
+ path_params=_path_params,
302
+ query_params=_query_params,
303
+ header_params=_header_params,
304
+ body=_body_params,
305
+ post_params=_form_params,
306
+ files=_files,
307
+ auth_settings=_auth_settings,
308
+ collection_formats=_collection_formats,
309
+ _host=_host,
310
+ _request_auth=_request_auth
311
+ )
312
+
313
+