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,599 @@
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 pydantic import Field, StrictInt
18
+ from typing import Optional
19
+ from typing_extensions import Annotated
20
+ from hostinger_api.models.vps_get_action_list_v1200_response import VPSGetActionListV1200Response
21
+ from hostinger_api.models.vpsv1_action_action_resource import VPSV1ActionActionResource
22
+
23
+ from hostinger_api.api_client import ApiClient, RequestSerialized
24
+ from hostinger_api.api_response import ApiResponse
25
+ from hostinger_api.rest import RESTResponseType
26
+
27
+
28
+ class VPSActionsApi:
29
+
30
+ def __init__(self, api_client=None) -> None:
31
+ if api_client is None:
32
+ api_client = ApiClient.get_default()
33
+ self.api_client = api_client
34
+
35
+
36
+ @validate_call
37
+ def get_action_list_v1(
38
+ self,
39
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
40
+ page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
41
+ _request_timeout: Union[
42
+ None,
43
+ Annotated[StrictFloat, Field(gt=0)],
44
+ Tuple[
45
+ Annotated[StrictFloat, Field(gt=0)],
46
+ Annotated[StrictFloat, Field(gt=0)]
47
+ ]
48
+ ] = None,
49
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
50
+ _content_type: Optional[StrictStr] = None,
51
+ _headers: Optional[Dict[StrictStr, Any]] = None,
52
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
53
+ ) -> VPSGetActionListV1200Response:
54
+ """Get action list
55
+
56
+ This endpoint retrieves a list of actions performed on a specified virtual machine. Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying the machine. This endpoint allows you to view the history of these actions, providing details about each action, such as the action name, timestamp, and status.
57
+
58
+ :param virtual_machine_id: Virtual Machine ID (required)
59
+ :type virtual_machine_id: int
60
+ :param page: Page number
61
+ :type page: int
62
+ :param _request_timeout: timeout setting for this request. If one
63
+ number provided, it will be total request
64
+ timeout. It can also be a pair (tuple) of
65
+ (connection, read) timeouts.
66
+ :type _request_timeout: int, tuple(int, int), optional
67
+ :param _request_auth: set to override the auth_settings for an a single
68
+ request; this effectively ignores the
69
+ authentication in the spec for a single request.
70
+ :type _request_auth: dict, optional
71
+ :param _content_type: force content-type for the request.
72
+ :type _content_type: str, Optional
73
+ :param _headers: set to override the headers for a single
74
+ request; this effectively ignores the headers
75
+ in the spec for a single request.
76
+ :type _headers: dict, optional
77
+ :param _host_index: set to override the host_index for a single
78
+ request; this effectively ignores the host_index
79
+ in the spec for a single request.
80
+ :type _host_index: int, optional
81
+ :return: Returns the result object.
82
+ """ # noqa: E501
83
+
84
+ _param = self._get_action_list_v1_serialize(
85
+ virtual_machine_id=virtual_machine_id,
86
+ page=page,
87
+ _request_auth=_request_auth,
88
+ _content_type=_content_type,
89
+ _headers=_headers,
90
+ _host_index=_host_index
91
+ )
92
+
93
+ _response_types_map: Dict[str, Optional[str]] = {
94
+ '200': "VPSGetActionListV1200Response",
95
+ '401': "CommonSchemaUnauthorizedResponseSchema",
96
+ '500': "CommonSchemaErrorResponseSchema",
97
+ }
98
+ response_data = self.api_client.call_api(
99
+ *_param,
100
+ _request_timeout=_request_timeout
101
+ )
102
+ response_data.read()
103
+ return self.api_client.response_deserialize(
104
+ response_data=response_data,
105
+ response_types_map=_response_types_map,
106
+ ).data
107
+
108
+
109
+ @validate_call
110
+ def get_action_list_v1_with_http_info(
111
+ self,
112
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
113
+ page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
114
+ _request_timeout: Union[
115
+ None,
116
+ Annotated[StrictFloat, Field(gt=0)],
117
+ Tuple[
118
+ Annotated[StrictFloat, Field(gt=0)],
119
+ Annotated[StrictFloat, Field(gt=0)]
120
+ ]
121
+ ] = None,
122
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
123
+ _content_type: Optional[StrictStr] = None,
124
+ _headers: Optional[Dict[StrictStr, Any]] = None,
125
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
126
+ ) -> ApiResponse[VPSGetActionListV1200Response]:
127
+ """Get action list
128
+
129
+ This endpoint retrieves a list of actions performed on a specified virtual machine. Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying the machine. This endpoint allows you to view the history of these actions, providing details about each action, such as the action name, timestamp, and status.
130
+
131
+ :param virtual_machine_id: Virtual Machine ID (required)
132
+ :type virtual_machine_id: int
133
+ :param page: Page number
134
+ :type page: int
135
+ :param _request_timeout: timeout setting for this request. If one
136
+ number provided, it will be total request
137
+ timeout. It can also be a pair (tuple) of
138
+ (connection, read) timeouts.
139
+ :type _request_timeout: int, tuple(int, int), optional
140
+ :param _request_auth: set to override the auth_settings for an a single
141
+ request; this effectively ignores the
142
+ authentication in the spec for a single request.
143
+ :type _request_auth: dict, optional
144
+ :param _content_type: force content-type for the request.
145
+ :type _content_type: str, Optional
146
+ :param _headers: set to override the headers for a single
147
+ request; this effectively ignores the headers
148
+ in the spec for a single request.
149
+ :type _headers: dict, optional
150
+ :param _host_index: set to override the host_index for a single
151
+ request; this effectively ignores the host_index
152
+ in the spec for a single request.
153
+ :type _host_index: int, optional
154
+ :return: Returns the result object.
155
+ """ # noqa: E501
156
+
157
+ _param = self._get_action_list_v1_serialize(
158
+ virtual_machine_id=virtual_machine_id,
159
+ page=page,
160
+ _request_auth=_request_auth,
161
+ _content_type=_content_type,
162
+ _headers=_headers,
163
+ _host_index=_host_index
164
+ )
165
+
166
+ _response_types_map: Dict[str, Optional[str]] = {
167
+ '200': "VPSGetActionListV1200Response",
168
+ '401': "CommonSchemaUnauthorizedResponseSchema",
169
+ '500': "CommonSchemaErrorResponseSchema",
170
+ }
171
+ response_data = self.api_client.call_api(
172
+ *_param,
173
+ _request_timeout=_request_timeout
174
+ )
175
+ response_data.read()
176
+ return self.api_client.response_deserialize(
177
+ response_data=response_data,
178
+ response_types_map=_response_types_map,
179
+ )
180
+
181
+
182
+ @validate_call
183
+ def get_action_list_v1_without_preload_content(
184
+ self,
185
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
186
+ page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
187
+ _request_timeout: Union[
188
+ None,
189
+ Annotated[StrictFloat, Field(gt=0)],
190
+ Tuple[
191
+ Annotated[StrictFloat, Field(gt=0)],
192
+ Annotated[StrictFloat, Field(gt=0)]
193
+ ]
194
+ ] = None,
195
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
196
+ _content_type: Optional[StrictStr] = None,
197
+ _headers: Optional[Dict[StrictStr, Any]] = None,
198
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
199
+ ) -> RESTResponseType:
200
+ """Get action list
201
+
202
+ This endpoint retrieves a list of actions performed on a specified virtual machine. Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying the machine. This endpoint allows you to view the history of these actions, providing details about each action, such as the action name, timestamp, and status.
203
+
204
+ :param virtual_machine_id: Virtual Machine ID (required)
205
+ :type virtual_machine_id: int
206
+ :param page: Page number
207
+ :type page: int
208
+ :param _request_timeout: timeout setting for this request. If one
209
+ number provided, it will be total request
210
+ timeout. It can also be a pair (tuple) of
211
+ (connection, read) timeouts.
212
+ :type _request_timeout: int, tuple(int, int), optional
213
+ :param _request_auth: set to override the auth_settings for an a single
214
+ request; this effectively ignores the
215
+ authentication in the spec for a single request.
216
+ :type _request_auth: dict, optional
217
+ :param _content_type: force content-type for the request.
218
+ :type _content_type: str, Optional
219
+ :param _headers: set to override the headers for a single
220
+ request; this effectively ignores the headers
221
+ in the spec for a single request.
222
+ :type _headers: dict, optional
223
+ :param _host_index: set to override the host_index for a single
224
+ request; this effectively ignores the host_index
225
+ in the spec for a single request.
226
+ :type _host_index: int, optional
227
+ :return: Returns the result object.
228
+ """ # noqa: E501
229
+
230
+ _param = self._get_action_list_v1_serialize(
231
+ virtual_machine_id=virtual_machine_id,
232
+ page=page,
233
+ _request_auth=_request_auth,
234
+ _content_type=_content_type,
235
+ _headers=_headers,
236
+ _host_index=_host_index
237
+ )
238
+
239
+ _response_types_map: Dict[str, Optional[str]] = {
240
+ '200': "VPSGetActionListV1200Response",
241
+ '401': "CommonSchemaUnauthorizedResponseSchema",
242
+ '500': "CommonSchemaErrorResponseSchema",
243
+ }
244
+ response_data = self.api_client.call_api(
245
+ *_param,
246
+ _request_timeout=_request_timeout
247
+ )
248
+ return response_data.response
249
+
250
+
251
+ def _get_action_list_v1_serialize(
252
+ self,
253
+ virtual_machine_id,
254
+ page,
255
+ _request_auth,
256
+ _content_type,
257
+ _headers,
258
+ _host_index,
259
+ ) -> RequestSerialized:
260
+
261
+ _host = None
262
+
263
+ _collection_formats: Dict[str, str] = {
264
+ }
265
+
266
+ _path_params: Dict[str, str] = {}
267
+ _query_params: List[Tuple[str, str]] = []
268
+ _header_params: Dict[str, Optional[str]] = _headers or {}
269
+ _form_params: List[Tuple[str, str]] = []
270
+ _files: Dict[
271
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
272
+ ] = {}
273
+ _body_params: Optional[bytes] = None
274
+
275
+ # process the path parameters
276
+ if virtual_machine_id is not None:
277
+ _path_params['virtualMachineId'] = virtual_machine_id
278
+ # process the query parameters
279
+ if page is not None:
280
+
281
+ _query_params.append(('page', page))
282
+
283
+ # process the header parameters
284
+ # process the form parameters
285
+ # process the body parameter
286
+
287
+
288
+ # set the HTTP header `Accept`
289
+ if 'Accept' not in _header_params:
290
+ _header_params['Accept'] = self.api_client.select_header_accept(
291
+ [
292
+ 'application/json'
293
+ ]
294
+ )
295
+
296
+
297
+ # authentication setting
298
+ _auth_settings: List[str] = [
299
+ 'apiToken'
300
+ ]
301
+
302
+ return self.api_client.param_serialize(
303
+ method='GET',
304
+ resource_path='/api/vps/v1/virtual-machines/{virtualMachineId}/actions',
305
+ path_params=_path_params,
306
+ query_params=_query_params,
307
+ header_params=_header_params,
308
+ body=_body_params,
309
+ post_params=_form_params,
310
+ files=_files,
311
+ auth_settings=_auth_settings,
312
+ collection_formats=_collection_formats,
313
+ _host=_host,
314
+ _request_auth=_request_auth
315
+ )
316
+
317
+
318
+
319
+
320
+ @validate_call
321
+ def get_action_v1(
322
+ self,
323
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
324
+ action_id: Annotated[StrictInt, Field(description="Action ID")],
325
+ _request_timeout: Union[
326
+ None,
327
+ Annotated[StrictFloat, Field(gt=0)],
328
+ Tuple[
329
+ Annotated[StrictFloat, Field(gt=0)],
330
+ Annotated[StrictFloat, Field(gt=0)]
331
+ ]
332
+ ] = None,
333
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
334
+ _content_type: Optional[StrictStr] = None,
335
+ _headers: Optional[Dict[StrictStr, Any]] = None,
336
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
337
+ ) -> VPSV1ActionActionResource:
338
+ """Get action
339
+
340
+ This endpoint retrieves details of a specific action performed on a specified virtual machine. This endpoint allows you to view detailed information about a particular action, including the action name, timestamp, and status.
341
+
342
+ :param virtual_machine_id: Virtual Machine ID (required)
343
+ :type virtual_machine_id: int
344
+ :param action_id: Action ID (required)
345
+ :type action_id: int
346
+ :param _request_timeout: timeout setting for this request. If one
347
+ number provided, it will be total request
348
+ timeout. It can also be a pair (tuple) of
349
+ (connection, read) timeouts.
350
+ :type _request_timeout: int, tuple(int, int), optional
351
+ :param _request_auth: set to override the auth_settings for an a single
352
+ request; this effectively ignores the
353
+ authentication in the spec for a single request.
354
+ :type _request_auth: dict, optional
355
+ :param _content_type: force content-type for the request.
356
+ :type _content_type: str, Optional
357
+ :param _headers: set to override the headers for a single
358
+ request; this effectively ignores the headers
359
+ in the spec for a single request.
360
+ :type _headers: dict, optional
361
+ :param _host_index: set to override the host_index for a single
362
+ request; this effectively ignores the host_index
363
+ in the spec for a single request.
364
+ :type _host_index: int, optional
365
+ :return: Returns the result object.
366
+ """ # noqa: E501
367
+
368
+ _param = self._get_action_v1_serialize(
369
+ virtual_machine_id=virtual_machine_id,
370
+ action_id=action_id,
371
+ _request_auth=_request_auth,
372
+ _content_type=_content_type,
373
+ _headers=_headers,
374
+ _host_index=_host_index
375
+ )
376
+
377
+ _response_types_map: Dict[str, Optional[str]] = {
378
+ '200': "VPSV1ActionActionResource",
379
+ '401': "CommonSchemaUnauthorizedResponseSchema",
380
+ '500': "CommonSchemaErrorResponseSchema",
381
+ }
382
+ response_data = self.api_client.call_api(
383
+ *_param,
384
+ _request_timeout=_request_timeout
385
+ )
386
+ response_data.read()
387
+ return self.api_client.response_deserialize(
388
+ response_data=response_data,
389
+ response_types_map=_response_types_map,
390
+ ).data
391
+
392
+
393
+ @validate_call
394
+ def get_action_v1_with_http_info(
395
+ self,
396
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
397
+ action_id: Annotated[StrictInt, Field(description="Action ID")],
398
+ _request_timeout: Union[
399
+ None,
400
+ Annotated[StrictFloat, Field(gt=0)],
401
+ Tuple[
402
+ Annotated[StrictFloat, Field(gt=0)],
403
+ Annotated[StrictFloat, Field(gt=0)]
404
+ ]
405
+ ] = None,
406
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
407
+ _content_type: Optional[StrictStr] = None,
408
+ _headers: Optional[Dict[StrictStr, Any]] = None,
409
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
410
+ ) -> ApiResponse[VPSV1ActionActionResource]:
411
+ """Get action
412
+
413
+ This endpoint retrieves details of a specific action performed on a specified virtual machine. This endpoint allows you to view detailed information about a particular action, including the action name, timestamp, and status.
414
+
415
+ :param virtual_machine_id: Virtual Machine ID (required)
416
+ :type virtual_machine_id: int
417
+ :param action_id: Action ID (required)
418
+ :type action_id: int
419
+ :param _request_timeout: timeout setting for this request. If one
420
+ number provided, it will be total request
421
+ timeout. It can also be a pair (tuple) of
422
+ (connection, read) timeouts.
423
+ :type _request_timeout: int, tuple(int, int), optional
424
+ :param _request_auth: set to override the auth_settings for an a single
425
+ request; this effectively ignores the
426
+ authentication in the spec for a single request.
427
+ :type _request_auth: dict, optional
428
+ :param _content_type: force content-type for the request.
429
+ :type _content_type: str, Optional
430
+ :param _headers: set to override the headers for a single
431
+ request; this effectively ignores the headers
432
+ in the spec for a single request.
433
+ :type _headers: dict, optional
434
+ :param _host_index: set to override the host_index for a single
435
+ request; this effectively ignores the host_index
436
+ in the spec for a single request.
437
+ :type _host_index: int, optional
438
+ :return: Returns the result object.
439
+ """ # noqa: E501
440
+
441
+ _param = self._get_action_v1_serialize(
442
+ virtual_machine_id=virtual_machine_id,
443
+ action_id=action_id,
444
+ _request_auth=_request_auth,
445
+ _content_type=_content_type,
446
+ _headers=_headers,
447
+ _host_index=_host_index
448
+ )
449
+
450
+ _response_types_map: Dict[str, Optional[str]] = {
451
+ '200': "VPSV1ActionActionResource",
452
+ '401': "CommonSchemaUnauthorizedResponseSchema",
453
+ '500': "CommonSchemaErrorResponseSchema",
454
+ }
455
+ response_data = self.api_client.call_api(
456
+ *_param,
457
+ _request_timeout=_request_timeout
458
+ )
459
+ response_data.read()
460
+ return self.api_client.response_deserialize(
461
+ response_data=response_data,
462
+ response_types_map=_response_types_map,
463
+ )
464
+
465
+
466
+ @validate_call
467
+ def get_action_v1_without_preload_content(
468
+ self,
469
+ virtual_machine_id: Annotated[StrictInt, Field(description="Virtual Machine ID")],
470
+ action_id: Annotated[StrictInt, Field(description="Action ID")],
471
+ _request_timeout: Union[
472
+ None,
473
+ Annotated[StrictFloat, Field(gt=0)],
474
+ Tuple[
475
+ Annotated[StrictFloat, Field(gt=0)],
476
+ Annotated[StrictFloat, Field(gt=0)]
477
+ ]
478
+ ] = None,
479
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
480
+ _content_type: Optional[StrictStr] = None,
481
+ _headers: Optional[Dict[StrictStr, Any]] = None,
482
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
483
+ ) -> RESTResponseType:
484
+ """Get action
485
+
486
+ This endpoint retrieves details of a specific action performed on a specified virtual machine. This endpoint allows you to view detailed information about a particular action, including the action name, timestamp, and status.
487
+
488
+ :param virtual_machine_id: Virtual Machine ID (required)
489
+ :type virtual_machine_id: int
490
+ :param action_id: Action ID (required)
491
+ :type action_id: int
492
+ :param _request_timeout: timeout setting for this request. If one
493
+ number provided, it will be total request
494
+ timeout. It can also be a pair (tuple) of
495
+ (connection, read) timeouts.
496
+ :type _request_timeout: int, tuple(int, int), optional
497
+ :param _request_auth: set to override the auth_settings for an a single
498
+ request; this effectively ignores the
499
+ authentication in the spec for a single request.
500
+ :type _request_auth: dict, optional
501
+ :param _content_type: force content-type for the request.
502
+ :type _content_type: str, Optional
503
+ :param _headers: set to override the headers for a single
504
+ request; this effectively ignores the headers
505
+ in the spec for a single request.
506
+ :type _headers: dict, optional
507
+ :param _host_index: set to override the host_index for a single
508
+ request; this effectively ignores the host_index
509
+ in the spec for a single request.
510
+ :type _host_index: int, optional
511
+ :return: Returns the result object.
512
+ """ # noqa: E501
513
+
514
+ _param = self._get_action_v1_serialize(
515
+ virtual_machine_id=virtual_machine_id,
516
+ action_id=action_id,
517
+ _request_auth=_request_auth,
518
+ _content_type=_content_type,
519
+ _headers=_headers,
520
+ _host_index=_host_index
521
+ )
522
+
523
+ _response_types_map: Dict[str, Optional[str]] = {
524
+ '200': "VPSV1ActionActionResource",
525
+ '401': "CommonSchemaUnauthorizedResponseSchema",
526
+ '500': "CommonSchemaErrorResponseSchema",
527
+ }
528
+ response_data = self.api_client.call_api(
529
+ *_param,
530
+ _request_timeout=_request_timeout
531
+ )
532
+ return response_data.response
533
+
534
+
535
+ def _get_action_v1_serialize(
536
+ self,
537
+ virtual_machine_id,
538
+ action_id,
539
+ _request_auth,
540
+ _content_type,
541
+ _headers,
542
+ _host_index,
543
+ ) -> RequestSerialized:
544
+
545
+ _host = None
546
+
547
+ _collection_formats: Dict[str, str] = {
548
+ }
549
+
550
+ _path_params: Dict[str, str] = {}
551
+ _query_params: List[Tuple[str, str]] = []
552
+ _header_params: Dict[str, Optional[str]] = _headers or {}
553
+ _form_params: List[Tuple[str, str]] = []
554
+ _files: Dict[
555
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
556
+ ] = {}
557
+ _body_params: Optional[bytes] = None
558
+
559
+ # process the path parameters
560
+ if virtual_machine_id is not None:
561
+ _path_params['virtualMachineId'] = virtual_machine_id
562
+ if action_id is not None:
563
+ _path_params['actionId'] = action_id
564
+ # process the query parameters
565
+ # process the header parameters
566
+ # process the form parameters
567
+ # process the body parameter
568
+
569
+
570
+ # set the HTTP header `Accept`
571
+ if 'Accept' not in _header_params:
572
+ _header_params['Accept'] = self.api_client.select_header_accept(
573
+ [
574
+ 'application/json'
575
+ ]
576
+ )
577
+
578
+
579
+ # authentication setting
580
+ _auth_settings: List[str] = [
581
+ 'apiToken'
582
+ ]
583
+
584
+ return self.api_client.param_serialize(
585
+ method='GET',
586
+ resource_path='/api/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}',
587
+ path_params=_path_params,
588
+ query_params=_query_params,
589
+ header_params=_header_params,
590
+ body=_body_params,
591
+ post_params=_form_params,
592
+ files=_files,
593
+ auth_settings=_auth_settings,
594
+ collection_formats=_collection_formats,
595
+ _host=_host,
596
+ _request_auth=_request_auth
597
+ )
598
+
599
+