hyperstack 1.25.0a0__py3-none-any.whl → 1.41.0a0__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 (225) hide show
  1. hyperstack/__init__.py +79 -131
  2. hyperstack/api/__init__.py +2 -0
  3. hyperstack/api/alive_api.py +240 -0
  4. hyperstack/api/api_key_api.py +16 -20
  5. hyperstack/api/assigning_member_role_api.py +15 -17
  6. hyperstack/api/auth_api.py +1050 -5
  7. hyperstack/api/beta_access_api.py +856 -0
  8. hyperstack/api/billing_api.py +6461 -673
  9. hyperstack/api/calculate_api.py +8 -9
  10. hyperstack/api/callbacks_api.py +120 -126
  11. hyperstack/api/cluster_events_api.py +1 -2
  12. hyperstack/api/clusters_api.py +2492 -146
  13. hyperstack/api/compliance_api.py +14 -18
  14. hyperstack/api/credit_api.py +17 -15
  15. hyperstack/api/customer_contract_api.py +30 -33
  16. hyperstack/api/dashboard_api.py +4 -5
  17. hyperstack/api/deployment_api.py +4 -8
  18. hyperstack/api/environment_api.py +285 -16
  19. hyperstack/api/firewall_attachment_api.py +11 -9
  20. hyperstack/api/firewalls_api.py +341 -347
  21. hyperstack/api/flavor_api.py +4 -5
  22. hyperstack/api/floating_ip_api.py +50 -49
  23. hyperstack/api/gpu_api.py +1 -2
  24. hyperstack/api/image_api.py +35 -39
  25. hyperstack/api/invite_api.py +288 -18
  26. hyperstack/api/keypair_api.py +22 -26
  27. hyperstack/api/organization_api.py +12 -15
  28. hyperstack/api/partner_config_api.py +564 -0
  29. hyperstack/api/payment_api.py +299 -18
  30. hyperstack/api/permission_api.py +4 -5
  31. hyperstack/api/policy_api.py +4 -5
  32. hyperstack/api/pricebook_api.py +14 -12
  33. hyperstack/api/profile_api.py +13 -17
  34. hyperstack/api/rbac_role_api.py +20 -25
  35. hyperstack/api/region_api.py +7 -8
  36. hyperstack/api/security_rules_api.py +1 -2
  37. hyperstack/api/snapshot_events_api.py +1 -2
  38. hyperstack/api/snapshots_api.py +166 -172
  39. hyperstack/api/stock_api.py +4 -5
  40. hyperstack/api/template_api.py +14 -19
  41. hyperstack/api/user_api.py +55 -49
  42. hyperstack/api/user_detail_choice_api.py +1 -2
  43. hyperstack/api/user_permission_api.py +8 -10
  44. hyperstack/api/virtual_machine_api.py +1529 -929
  45. hyperstack/api/virtual_machine_events_api.py +21 -22
  46. hyperstack/api/vnc_url_api.py +54 -50
  47. hyperstack/api/volume_api.py +340 -40
  48. hyperstack/api/volume_attachment_api.py +342 -42
  49. hyperstack/api_client.py +1 -1
  50. hyperstack/configuration.py +1 -11
  51. hyperstack/models/__init__.py +76 -130
  52. hyperstack/models/{environment_fieldsfor_volume.py → access_token_field.py} +7 -7
  53. hyperstack/models/attach_volume_fields.py +6 -2
  54. hyperstack/models/attach_volumes_payload.py +4 -2
  55. hyperstack/models/{virtual_machine_usage.py → attachments_fields_for_volume.py} +13 -11
  56. hyperstack/models/{flavor_vm_fields.py → attributes.py} +15 -18
  57. hyperstack/models/auth_get_token_response_model.py +4 -6
  58. hyperstack/models/{future_node_model.py → beta_access_request_fields.py} +27 -25
  59. hyperstack/models/{create_gpu.py → beta_access_request_payload.py} +9 -11
  60. hyperstack/models/{create_discount_response.py → beta_access_request_response_model.py} +11 -11
  61. hyperstack/models/{export_billing_data_request.py → beta_access_status_item.py} +20 -23
  62. hyperstack/models/{get_all_discount_for_all_organization_response.py → beta_access_status_response_model.py} +15 -15
  63. hyperstack/models/{exclude_billing_post_response.py → billing_history.py} +13 -11
  64. hyperstack/models/billing_history_data_synthesis_details.py +105 -0
  65. hyperstack/models/{vm_usage_response.py → billing_history_fine_tuning.py} +23 -19
  66. hyperstack/models/billing_history_model_evalutation_details.py +105 -0
  67. hyperstack/models/{get_all_discounts_fields.py → billing_history_serverless_inference.py} +23 -24
  68. hyperstack/models/billing_history_serverless_inference_details.py +105 -0
  69. hyperstack/models/{billingmetricesfields.py → billing_metrices_fields.py} +4 -4
  70. hyperstack/models/{billingmetricesresponse.py → billing_metrices_response.py} +7 -7
  71. hyperstack/models/cluster_fields.py +27 -9
  72. hyperstack/models/{add_update_flavor_organization_payload.py → cluster_flavor_fields.py} +28 -26
  73. hyperstack/models/{historical_instances_fields.py → cluster_node_fields.py} +24 -22
  74. hyperstack/models/{internal_instance_flavor_fields.py → cluster_node_group_fields.py} +17 -17
  75. hyperstack/models/{create_update_policy_response_model.py → cluster_node_groups_create_response.py} +21 -11
  76. hyperstack/models/{create_update_permission_response_model.py → cluster_node_groups_get_response.py} +11 -11
  77. hyperstack/models/{auth_request_login_response_model.py → cluster_node_groups_list_response.py} +15 -11
  78. hyperstack/models/{contract_eligible_instance_fields.py → cluster_node_instance_fields.py} +13 -11
  79. hyperstack/models/{image_logos.py → cluster_nodes_list_response.py} +14 -14
  80. hyperstack/models/{internal_environment_fields.py → cluster_version.py} +13 -9
  81. hyperstack/models/cluster_versions.py +10 -2
  82. hyperstack/models/{future_nodes_stock_model.py → colors.py} +17 -15
  83. hyperstack/models/contract_discount_plan_fields.py +3 -1
  84. hyperstack/models/contract_instance_fields.py +7 -1
  85. hyperstack/models/{future_node_response_model.py → create_cluster_node_fields.py} +23 -18
  86. hyperstack/models/{update_gpu.py → create_cluster_node_group_payload.py} +12 -11
  87. hyperstack/models/create_cluster_payload.py +31 -8
  88. hyperstack/models/create_environment.py +1 -1
  89. hyperstack/models/create_instances_payload.py +7 -7
  90. hyperstack/models/create_profile_payload.py +1 -1
  91. hyperstack/models/create_snapshot_payload.py +2 -4
  92. hyperstack/models/create_volume_payload.py +1 -1
  93. hyperstack/models/data_synthesis_billing_history_details_response_schema.py +95 -0
  94. hyperstack/models/{deployment_fieldsforstartdeployments.py → deployment_fields_for_start_deployments.py} +4 -4
  95. hyperstack/models/{editlabelofanexisting_vm_payload.py → edit_label_of_an_existing_vm_payload.py} +4 -4
  96. hyperstack/models/environment_features.py +14 -2
  97. hyperstack/models/{node_stocks_payload.py → environment_fields_for_volume.py} +10 -12
  98. hyperstack/models/flavor_fields.py +3 -1
  99. hyperstack/models/{customer_fields.py → flavor_label_fields.py} +7 -7
  100. hyperstack/models/{getcreditandthresholdinfo.py → get_credit_and_threshold_info.py} +4 -4
  101. hyperstack/models/{getcreditandthresholdinfoinresponse.py → get_credit_and_threshold_info_in_response.py} +7 -7
  102. hyperstack/models/{region_payload.py → get_instance_logs_response.py} +7 -9
  103. hyperstack/models/instance_fields.py +8 -4
  104. hyperstack/models/instance_flavor_fields.py +13 -1
  105. hyperstack/models/{flavor_response.py → keypair_environment_features.py} +20 -16
  106. hyperstack/models/{internal_instance_keypair_fields.py → keypair_environment_fields.py} +13 -11
  107. hyperstack/models/keypair_fields.py +6 -2
  108. hyperstack/models/{lastdaycostfields.py → last_day_cost_fields.py} +4 -4
  109. hyperstack/models/{lastdaycostresponse.py → last_day_cost_response.py} +7 -7
  110. hyperstack/models/{export_billing_data_response.py → logos.py} +13 -9
  111. hyperstack/models/{creditrequestresponse.py → master_flavors_response.py} +14 -14
  112. hyperstack/models/{customer_payload.py → mfa_status_fields.py} +8 -10
  113. hyperstack/models/{gpu.py → mfa_status_response.py} +11 -11
  114. hyperstack/models/model_evaluation_billing_history_details_response_schema.py +95 -0
  115. hyperstack/models/{organization_thresholdfields.py → organization_threshold_fields.py} +4 -4
  116. hyperstack/models/{organizationthresholdupdateresponse.py → organization_threshold_update_response.py} +7 -7
  117. hyperstack/models/{organizationthresholdsresponse.py → organization_thresholds_response.py} +7 -7
  118. hyperstack/models/{logo_get_response.py → pagination.py} +12 -12
  119. hyperstack/models/{billing_response.py → partner_config.py} +31 -20
  120. hyperstack/models/payment_details_fields.py +5 -1
  121. hyperstack/models/{logout_payload.py → primary_color.py} +10 -8
  122. hyperstack/models/region_fields.py +16 -2
  123. hyperstack/models/{vm_usage_request_payload.py → request_instance_logs_payload.py} +8 -8
  124. hyperstack/models/{stock_visibility_user_payload.py → request_instance_logs_response.py} +8 -8
  125. hyperstack/models/{contract_billing_history.py → resource_level_billing_bucket_details_resources.py} +10 -10
  126. hyperstack/models/{node_response_model.py → resource_level_billing_history_resources_cluster.py} +21 -11
  127. hyperstack/models/resource_level_billing_history_response_attributes.py +3 -1
  128. hyperstack/models/{get_all_contracts_response_model.py → resource_level_bucket_billing_details_response_model.py} +11 -15
  129. hyperstack/models/{contract_billing_history_response_model.py → resource_level_bucket_billing_history_response_model.py} +11 -11
  130. hyperstack/models/resource_level_cluster_billing_details_response_model.py +95 -0
  131. hyperstack/models/resource_level_cluster_billing_history_response_model.py +95 -0
  132. hyperstack/models/{get_discount_detail_response.py → resource_level_cluster_graph_billing_details_response_model.py} +11 -11
  133. hyperstack/models/{organization_object_response.py → resource_level_graph_billing_details_bucket.py} +18 -14
  134. hyperstack/models/{update_discounts_status_payload.py → secondary_color.py} +10 -8
  135. hyperstack/models/{security_rules_fieldsfor_instance.py → security_rules_fields_for_instance.py} +4 -4
  136. hyperstack/models/serverless_inferenced_billing_history_details_response_schema.py +95 -0
  137. hyperstack/models/snapshot_fields.py +6 -1
  138. hyperstack/models/snapshot_retrieve_fields.py +29 -2
  139. hyperstack/models/start_deployment.py +3 -3
  140. hyperstack/models/{subscribeorunsubscribeupdatepayload.py → subscribe_or_unsubscribe_update_payload.py} +4 -4
  141. hyperstack/models/token_based_billing_history_response.py +95 -0
  142. hyperstack/models/{update_keypairnameresponse.py → update_keypair_name_response.py} +4 -4
  143. hyperstack/models/update_volume_attachment_payload.py +87 -0
  144. hyperstack/models/{verify_api_key_payload.py → update_volume_payload.py} +7 -7
  145. hyperstack/models/{stock_visibility_user_list_response.py → update_volume_response.py} +14 -16
  146. hyperstack/models/{auth_request_login_fields.py → uris.py} +19 -9
  147. hyperstack/models/{userinfopostpayload.py → user_info_post_payload.py} +4 -4
  148. hyperstack/models/{node_stock_response_model.py → user_organizations_response.py} +14 -14
  149. hyperstack/models/users_info_fields.py +3 -1
  150. hyperstack/models/volume_attachment_fields.py +9 -5
  151. hyperstack/models/volume_fields.py +14 -4
  152. hyperstack/models/{volume_fieldsfor_instance.py → volume_fields_for_instance.py} +4 -4
  153. hyperstack/models/volumes.py +17 -11
  154. hyperstack/models/{instances_summary_fields.py → volumes_fields.py} +33 -29
  155. hyperstack/models/workload_billing_history_response.py +95 -0
  156. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.0a0.dist-info}/METADATA +2 -2
  157. hyperstack-1.41.0a0.dist-info/RECORD +349 -0
  158. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.0a0.dist-info}/WHEEL +1 -1
  159. hyperstack/models/api_key_verify_fields.py +0 -93
  160. hyperstack/models/billing_immune_resources_response.py +0 -95
  161. hyperstack/models/contract_billing_history_response_attributes.py +0 -99
  162. hyperstack/models/contract_change_payload.py +0 -101
  163. hyperstack/models/contract_eligible_instances_response.py +0 -101
  164. hyperstack/models/contract_event_create_model.py +0 -91
  165. hyperstack/models/contract_resource_payload.py +0 -95
  166. hyperstack/models/contractl_billing_history_response_metrics.py +0 -87
  167. hyperstack/models/create_contract_fields.py +0 -110
  168. hyperstack/models/create_contract_payload.py +0 -106
  169. hyperstack/models/create_discounts_payload.py +0 -112
  170. hyperstack/models/create_update_permission_payload.py +0 -93
  171. hyperstack/models/create_update_policy_payload.py +0 -93
  172. hyperstack/models/creditrechargelimitfield.py +0 -93
  173. hyperstack/models/creditrechargelimitresponse.py +0 -99
  174. hyperstack/models/creditrequests.py +0 -96
  175. hyperstack/models/data.py +0 -91
  176. hyperstack/models/discount_entity_model.py +0 -97
  177. hyperstack/models/discount_fields.py +0 -100
  178. hyperstack/models/discount_plan_fields.py +0 -108
  179. hyperstack/models/discount_resource_fields.py +0 -93
  180. hyperstack/models/discount_resource_payload.py +0 -93
  181. hyperstack/models/exclude_billing_post_payload.py +0 -91
  182. hyperstack/models/field_change.py +0 -91
  183. hyperstack/models/flavor_payload.py +0 -101
  184. hyperstack/models/flavor_vms_response.py +0 -99
  185. hyperstack/models/future_node_stock_model.py +0 -93
  186. hyperstack/models/future_node_update_model.py +0 -98
  187. hyperstack/models/get_all_contract_fields.py +0 -100
  188. hyperstack/models/get_discount_response.py +0 -99
  189. hyperstack/models/get_entity_discount_detail_response.py +0 -108
  190. hyperstack/models/get_token_payload.py +0 -89
  191. hyperstack/models/get_version_response.py +0 -91
  192. hyperstack/models/historical_instance.py +0 -101
  193. hyperstack/models/infrahub_resource_object_response.py +0 -119
  194. hyperstack/models/insert_discount_plan_fields.py +0 -112
  195. hyperstack/models/internal_instance_fields.py +0 -156
  196. hyperstack/models/internal_instance_image_fields.py +0 -95
  197. hyperstack/models/internal_instances_response.py +0 -99
  198. hyperstack/models/internal_security_rules_fields_for_instance.py +0 -104
  199. hyperstack/models/internal_volume_attachment_fields.py +0 -98
  200. hyperstack/models/internal_volume_fields.py +0 -95
  201. hyperstack/models/internal_volumes_response.py +0 -99
  202. hyperstack/models/new_stock_update_response_model.py +0 -89
  203. hyperstack/models/node_model.py +0 -114
  204. hyperstack/models/node_payload_model.py +0 -97
  205. hyperstack/models/node_power_usage_model.py +0 -120
  206. hyperstack/models/node_stock_payload_model.py +0 -95
  207. hyperstack/models/organizationcreditrechargelimitresponse.py +0 -95
  208. hyperstack/models/power_usage_model.py +0 -89
  209. hyperstack/models/pricebook_resource_object_response.py +0 -107
  210. hyperstack/models/refresh_token_payload.py +0 -89
  211. hyperstack/models/region_response.py +0 -95
  212. hyperstack/models/set_defaults_payload.py +0 -89
  213. hyperstack/models/single_visibility_user_response.py +0 -91
  214. hyperstack/models/success_response_model.py +0 -89
  215. hyperstack/models/token_fields.py +0 -91
  216. hyperstack/models/update_contract_payload.py +0 -104
  217. hyperstack/models/update_discounts_payload.py +0 -102
  218. hyperstack/models/user_transfer_payload.py +0 -89
  219. hyperstack/models/verify_api_key_response_model.py +0 -95
  220. hyperstack/models/volume_status_change_fields.py +0 -96
  221. hyperstack/models/volumes_last_status_change_response.py +0 -99
  222. hyperstack/models/warning_mail_log_fields.py +0 -99
  223. hyperstack/models/warning_mail_log_response.py +0 -101
  224. hyperstack-1.25.0a0.dist-info/RECORD +0 -401
  225. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.0a0.dist-info}/top_level.txt +0 -0
@@ -19,18 +19,18 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from ..models.gpu_fields import GPUFields
22
+ from ..models.mfa_status_fields import MFAStatusFields
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class GPU(BaseModel):
26
+ class MFAStatusResponse(BaseModel):
27
27
  """
28
- GPU
28
+ MFAStatusResponse
29
29
  """ # noqa: E501
30
- gpu: Optional[GPUFields] = None
31
30
  message: Optional[StrictStr] = None
31
+ mfa: Optional[MFAStatusFields] = None
32
32
  status: Optional[StrictBool] = None
33
- __properties: ClassVar[List[str]] = ["gpu", "message", "status"]
33
+ __properties: ClassVar[List[str]] = ["message", "mfa", "status"]
34
34
 
35
35
  model_config = ConfigDict(
36
36
  populate_by_name=True,
@@ -50,7 +50,7 @@ class GPU(BaseModel):
50
50
 
51
51
  @classmethod
52
52
  def from_json(cls, json_str: str) -> Optional[Self]:
53
- """Create an instance of GPU from a JSON string"""
53
+ """Create an instance of MFAStatusResponse from a JSON string"""
54
54
  return cls.from_dict(json.loads(json_str))
55
55
 
56
56
  def to_dict(self) -> Dict[str, Any]:
@@ -71,14 +71,14 @@ class GPU(BaseModel):
71
71
  exclude=excluded_fields,
72
72
  exclude_none=True,
73
73
  )
74
- # override the default output from pydantic by calling `to_dict()` of gpu
75
- if self.gpu:
76
- _dict['gpu'] = self.gpu.to_dict()
74
+ # override the default output from pydantic by calling `to_dict()` of mfa
75
+ if self.mfa:
76
+ _dict['mfa'] = self.mfa.to_dict()
77
77
  return _dict
78
78
 
79
79
  @classmethod
80
80
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
- """Create an instance of GPU from a dict"""
81
+ """Create an instance of MFAStatusResponse from a dict"""
82
82
  if obj is None:
83
83
  return None
84
84
 
@@ -86,8 +86,8 @@ class GPU(BaseModel):
86
86
  return cls.model_validate(obj)
87
87
 
88
88
  _obj = cls.model_validate({
89
- "gpu": GPUFields.from_dict(obj["gpu"]) if obj.get("gpu") is not None else None,
90
89
  "message": obj.get("message"),
90
+ "mfa": MFAStatusFields.from_dict(obj["mfa"]) if obj.get("mfa") is not None else None,
91
91
  "status": obj.get("status")
92
92
  })
93
93
  return _obj
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Infrahub-API
5
+
6
+ Leverage the Infrahub API and Hyperstack platform to easily create, manage, and scale powerful GPU virtual machines and their associated resources. Access this SDK to automate the deployment of your workloads and streamline your infrastructure management. To contribute, please raise an issue with a bug report, feature request, feedback, or general inquiry.
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from ..models.billing_history_model_evalutation_details import BillingHistoryModelEvalutationDetails
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ModelEvaluationBillingHistoryDetailsResponseSchema(BaseModel):
27
+ """
28
+ ModelEvaluationBillingHistoryDetailsResponseSchema
29
+ """ # noqa: E501
30
+ billing_history_model_evalutation_details: Optional[BillingHistoryModelEvalutationDetails] = None
31
+ message: Optional[StrictStr] = None
32
+ status: Optional[StrictBool] = None
33
+ __properties: ClassVar[List[str]] = ["billing_history_model_evalutation_details", "message", "status"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ModelEvaluationBillingHistoryDetailsResponseSchema from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of billing_history_model_evalutation_details
75
+ if self.billing_history_model_evalutation_details:
76
+ _dict['billing_history_model_evalutation_details'] = self.billing_history_model_evalutation_details.to_dict()
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of ModelEvaluationBillingHistoryDetailsResponseSchema from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "billing_history_model_evalutation_details": BillingHistoryModelEvalutationDetails.from_dict(obj["billing_history_model_evalutation_details"]) if obj.get("billing_history_model_evalutation_details") is not None else None,
90
+ "message": obj.get("message"),
91
+ "status": obj.get("status")
92
+ })
93
+ return _obj
94
+
95
+
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class OrganizationThresholdfields(BaseModel):
25
+ class OrganizationThresholdFields(BaseModel):
26
26
  """
27
- OrganizationThresholdfields
27
+ OrganizationThresholdFields
28
28
  """ # noqa: E501
29
29
  id: Optional[StrictInt] = None
30
30
  interface_title: Optional[StrictStr] = None
@@ -51,7 +51,7 @@ class OrganizationThresholdfields(BaseModel):
51
51
 
52
52
  @classmethod
53
53
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of OrganizationThresholdfields from a JSON string"""
54
+ """Create an instance of OrganizationThresholdFields from a JSON string"""
55
55
  return cls.from_dict(json.loads(json_str))
56
56
 
57
57
  def to_dict(self) -> Dict[str, Any]:
@@ -76,7 +76,7 @@ class OrganizationThresholdfields(BaseModel):
76
76
 
77
77
  @classmethod
78
78
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
- """Create an instance of OrganizationThresholdfields from a dict"""
79
+ """Create an instance of OrganizationThresholdFields from a dict"""
80
80
  if obj is None:
81
81
  return None
82
82
 
@@ -19,17 +19,17 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from ..models.organization_thresholdfields import OrganizationThresholdfields
22
+ from ..models.organization_threshold_fields import OrganizationThresholdFields
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class Organizationthresholdupdateresponse(BaseModel):
26
+ class OrganizationThresholdUpdateResponse(BaseModel):
27
27
  """
28
- Organizationthresholdupdateresponse
28
+ OrganizationThresholdUpdateResponse
29
29
  """ # noqa: E501
30
30
  message: Optional[StrictStr] = None
31
31
  status: Optional[StrictBool] = None
32
- threshold: Optional[OrganizationThresholdfields] = None
32
+ threshold: Optional[OrganizationThresholdFields] = None
33
33
  __properties: ClassVar[List[str]] = ["message", "status", "threshold"]
34
34
 
35
35
  model_config = ConfigDict(
@@ -50,7 +50,7 @@ class Organizationthresholdupdateresponse(BaseModel):
50
50
 
51
51
  @classmethod
52
52
  def from_json(cls, json_str: str) -> Optional[Self]:
53
- """Create an instance of Organizationthresholdupdateresponse from a JSON string"""
53
+ """Create an instance of OrganizationThresholdUpdateResponse from a JSON string"""
54
54
  return cls.from_dict(json.loads(json_str))
55
55
 
56
56
  def to_dict(self) -> Dict[str, Any]:
@@ -78,7 +78,7 @@ class Organizationthresholdupdateresponse(BaseModel):
78
78
 
79
79
  @classmethod
80
80
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
- """Create an instance of Organizationthresholdupdateresponse from a dict"""
81
+ """Create an instance of OrganizationThresholdUpdateResponse from a dict"""
82
82
  if obj is None:
83
83
  return None
84
84
 
@@ -88,7 +88,7 @@ class Organizationthresholdupdateresponse(BaseModel):
88
88
  _obj = cls.model_validate({
89
89
  "message": obj.get("message"),
90
90
  "status": obj.get("status"),
91
- "threshold": OrganizationThresholdfields.from_dict(obj["threshold"]) if obj.get("threshold") is not None else None
91
+ "threshold": OrganizationThresholdFields.from_dict(obj["threshold"]) if obj.get("threshold") is not None else None
92
92
  })
93
93
  return _obj
94
94
 
@@ -19,17 +19,17 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from ..models.organization_thresholdfields import OrganizationThresholdfields
22
+ from ..models.organization_threshold_fields import OrganizationThresholdFields
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
26
- class Organizationthresholdsresponse(BaseModel):
26
+ class OrganizationThresholdsResponse(BaseModel):
27
27
  """
28
- Organizationthresholdsresponse
28
+ OrganizationThresholdsResponse
29
29
  """ # noqa: E501
30
30
  message: Optional[StrictStr] = None
31
31
  status: Optional[StrictBool] = None
32
- thresholds: Optional[List[OrganizationThresholdfields]] = None
32
+ thresholds: Optional[List[OrganizationThresholdFields]] = None
33
33
  __properties: ClassVar[List[str]] = ["message", "status", "thresholds"]
34
34
 
35
35
  model_config = ConfigDict(
@@ -50,7 +50,7 @@ class Organizationthresholdsresponse(BaseModel):
50
50
 
51
51
  @classmethod
52
52
  def from_json(cls, json_str: str) -> Optional[Self]:
53
- """Create an instance of Organizationthresholdsresponse from a JSON string"""
53
+ """Create an instance of OrganizationThresholdsResponse from a JSON string"""
54
54
  return cls.from_dict(json.loads(json_str))
55
55
 
56
56
  def to_dict(self) -> Dict[str, Any]:
@@ -82,7 +82,7 @@ class Organizationthresholdsresponse(BaseModel):
82
82
 
83
83
  @classmethod
84
84
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
- """Create an instance of Organizationthresholdsresponse from a dict"""
85
+ """Create an instance of OrganizationThresholdsResponse from a dict"""
86
86
  if obj is None:
87
87
  return None
88
88
 
@@ -92,7 +92,7 @@ class Organizationthresholdsresponse(BaseModel):
92
92
  _obj = cls.model_validate({
93
93
  "message": obj.get("message"),
94
94
  "status": obj.get("status"),
95
- "thresholds": [OrganizationThresholdfields.from_dict(_item) for _item in obj["thresholds"]] if obj.get("thresholds") is not None else None
95
+ "thresholds": [OrganizationThresholdFields.from_dict(_item) for _item in obj["thresholds"]] if obj.get("thresholds") is not None else None
96
96
  })
97
97
  return _obj
98
98
 
@@ -17,19 +17,19 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, StrictInt
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class LogoGetResponse(BaseModel):
25
+ class Pagination(BaseModel):
26
26
  """
27
- LogoGetResponse
27
+ Pagination
28
28
  """ # noqa: E501
29
- id: Optional[StrictInt] = None
30
- type: Optional[StrictStr] = None
31
- url: Optional[StrictStr] = None
32
- __properties: ClassVar[List[str]] = ["id", "type", "url"]
29
+ page: Optional[StrictInt] = None
30
+ pages: Optional[StrictInt] = None
31
+ per_page: Optional[StrictInt] = None
32
+ __properties: ClassVar[List[str]] = ["page", "pages", "per_page"]
33
33
 
34
34
  model_config = ConfigDict(
35
35
  populate_by_name=True,
@@ -49,7 +49,7 @@ class LogoGetResponse(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of LogoGetResponse from a JSON string"""
52
+ """Create an instance of Pagination from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +74,7 @@ class LogoGetResponse(BaseModel):
74
74
 
75
75
  @classmethod
76
76
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
- """Create an instance of LogoGetResponse from a dict"""
77
+ """Create an instance of Pagination from a dict"""
78
78
  if obj is None:
79
79
  return None
80
80
 
@@ -82,9 +82,9 @@ class LogoGetResponse(BaseModel):
82
82
  return cls.model_validate(obj)
83
83
 
84
84
  _obj = cls.model_validate({
85
- "id": obj.get("id"),
86
- "type": obj.get("type"),
87
- "url": obj.get("url")
85
+ "page": obj.get("page"),
86
+ "pages": obj.get("pages"),
87
+ "per_page": obj.get("per_page")
88
88
  })
89
89
  return _obj
90
90
 
@@ -17,21 +17,26 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from datetime import datetime
21
20
  from pydantic import BaseModel, ConfigDict, StrictStr
22
21
  from typing import Any, ClassVar, Dict, List, Optional
23
- from ..models.organization_object_response import OrganizationObjectResponse
22
+ from ..models.colors import Colors
23
+ from ..models.logos import Logos
24
+ from ..models.uris import URIs
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
26
27
 
27
- class BillingResponse(BaseModel):
28
+ class PartnerConfig(BaseModel):
28
29
  """
29
- BillingResponse
30
+ PartnerConfig
30
31
  """ # noqa: E501
31
- calculated_bills: Optional[List[OrganizationObjectResponse]] = None
32
- calculation_time: Optional[datetime] = None
33
- type: Optional[StrictStr] = None
34
- __properties: ClassVar[List[str]] = ["calculated_bills", "calculation_time", "type"]
32
+ background_image_url: Optional[StrictStr] = None
33
+ colors: Optional[Colors] = None
34
+ logos: Optional[Logos] = None
35
+ name: StrictStr
36
+ support_email: Optional[StrictStr] = None
37
+ uris: Optional[URIs] = None
38
+ user_type: StrictStr
39
+ __properties: ClassVar[List[str]] = ["background_image_url", "colors", "logos", "name", "support_email", "uris", "user_type"]
35
40
 
36
41
  model_config = ConfigDict(
37
42
  populate_by_name=True,
@@ -51,7 +56,7 @@ class BillingResponse(BaseModel):
51
56
 
52
57
  @classmethod
53
58
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of BillingResponse from a JSON string"""
59
+ """Create an instance of PartnerConfig from a JSON string"""
55
60
  return cls.from_dict(json.loads(json_str))
56
61
 
57
62
  def to_dict(self) -> Dict[str, Any]:
@@ -72,18 +77,20 @@ class BillingResponse(BaseModel):
72
77
  exclude=excluded_fields,
73
78
  exclude_none=True,
74
79
  )
75
- # override the default output from pydantic by calling `to_dict()` of each item in calculated_bills (list)
76
- _items = []
77
- if self.calculated_bills:
78
- for _item_calculated_bills in self.calculated_bills:
79
- if _item_calculated_bills:
80
- _items.append(_item_calculated_bills.to_dict())
81
- _dict['calculated_bills'] = _items
80
+ # override the default output from pydantic by calling `to_dict()` of colors
81
+ if self.colors:
82
+ _dict['colors'] = self.colors.to_dict()
83
+ # override the default output from pydantic by calling `to_dict()` of logos
84
+ if self.logos:
85
+ _dict['logos'] = self.logos.to_dict()
86
+ # override the default output from pydantic by calling `to_dict()` of uris
87
+ if self.uris:
88
+ _dict['uris'] = self.uris.to_dict()
82
89
  return _dict
83
90
 
84
91
  @classmethod
85
92
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
- """Create an instance of BillingResponse from a dict"""
93
+ """Create an instance of PartnerConfig from a dict"""
87
94
  if obj is None:
88
95
  return None
89
96
 
@@ -91,9 +98,13 @@ class BillingResponse(BaseModel):
91
98
  return cls.model_validate(obj)
92
99
 
93
100
  _obj = cls.model_validate({
94
- "calculated_bills": [OrganizationObjectResponse.from_dict(_item) for _item in obj["calculated_bills"]] if obj.get("calculated_bills") is not None else None,
95
- "calculation_time": obj.get("calculation_time"),
96
- "type": obj.get("type")
101
+ "background_image_url": obj.get("background_image_url"),
102
+ "colors": Colors.from_dict(obj["colors"]) if obj.get("colors") is not None else None,
103
+ "logos": Logos.from_dict(obj["logos"]) if obj.get("logos") is not None else None,
104
+ "name": obj.get("name"),
105
+ "support_email": obj.get("support_email"),
106
+ "uris": URIs.from_dict(obj["uris"]) if obj.get("uris") is not None else None,
107
+ "user_type": obj.get("user_type")
97
108
  })
98
109
  return _obj
99
110
 
@@ -32,12 +32,14 @@ class PaymentDetailsFields(BaseModel):
32
32
  currency: Optional[StrictStr] = None
33
33
  description: Optional[StrictStr] = None
34
34
  gateway_response: Optional[StrictStr] = None
35
+ invoice: Optional[StrictStr] = None
35
36
  paid_from: Optional[StrictStr] = None
36
37
  payment_id: Optional[StrictStr] = None
37
38
  status: Optional[StrictStr] = None
39
+ tax_amount: Optional[Union[StrictFloat, StrictInt]] = None
38
40
  transaction_id: Optional[StrictStr] = None
39
41
  updated_at: Optional[datetime] = None
40
- __properties: ClassVar[List[str]] = ["amount", "created_at", "currency", "description", "gateway_response", "paid_from", "payment_id", "status", "transaction_id", "updated_at"]
42
+ __properties: ClassVar[List[str]] = ["amount", "created_at", "currency", "description", "gateway_response", "invoice", "paid_from", "payment_id", "status", "tax_amount", "transaction_id", "updated_at"]
41
43
 
42
44
  model_config = ConfigDict(
43
45
  populate_by_name=True,
@@ -95,9 +97,11 @@ class PaymentDetailsFields(BaseModel):
95
97
  "currency": obj.get("currency"),
96
98
  "description": obj.get("description"),
97
99
  "gateway_response": obj.get("gateway_response"),
100
+ "invoice": obj.get("invoice"),
98
101
  "paid_from": obj.get("paid_from"),
99
102
  "payment_id": obj.get("payment_id"),
100
103
  "status": obj.get("status"),
104
+ "tax_amount": obj.get("tax_amount"),
101
105
  "transaction_id": obj.get("transaction_id"),
102
106
  "updated_at": obj.get("updated_at")
103
107
  })
@@ -18,16 +18,17 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictStr
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class LogoutPayload(BaseModel):
25
+ class PrimaryColor(BaseModel):
26
26
  """
27
- LogoutPayload
27
+ PrimaryColor
28
28
  """ # noqa: E501
29
- refresh_token: StrictStr
30
- __properties: ClassVar[List[str]] = ["refresh_token"]
29
+ dark: Optional[StrictStr] = None
30
+ light: Optional[StrictStr] = None
31
+ __properties: ClassVar[List[str]] = ["dark", "light"]
31
32
 
32
33
  model_config = ConfigDict(
33
34
  populate_by_name=True,
@@ -47,7 +48,7 @@ class LogoutPayload(BaseModel):
47
48
 
48
49
  @classmethod
49
50
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of LogoutPayload from a JSON string"""
51
+ """Create an instance of PrimaryColor from a JSON string"""
51
52
  return cls.from_dict(json.loads(json_str))
52
53
 
53
54
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +73,7 @@ class LogoutPayload(BaseModel):
72
73
 
73
74
  @classmethod
74
75
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of LogoutPayload from a dict"""
76
+ """Create an instance of PrimaryColor from a dict"""
76
77
  if obj is None:
77
78
  return None
78
79
 
@@ -80,7 +81,8 @@ class LogoutPayload(BaseModel):
80
81
  return cls.model_validate(obj)
81
82
 
82
83
  _obj = cls.model_validate({
83
- "refresh_token": obj.get("refresh_token")
84
+ "dark": obj.get("dark"),
85
+ "light": obj.get("light")
84
86
  })
85
87
  return _obj
86
88
 
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
@@ -26,10 +26,22 @@ class RegionFields(BaseModel):
26
26
  """
27
27
  RegionFields
28
28
  """ # noqa: E501
29
+ country: Optional[StrictStr] = None
29
30
  description: Optional[StrictStr] = None
31
+ green_status: Optional[StrictStr] = Field(default=None, description="Green status")
30
32
  id: Optional[StrictInt] = None
31
33
  name: Optional[StrictStr] = None
32
- __properties: ClassVar[List[str]] = ["description", "id", "name"]
34
+ __properties: ClassVar[List[str]] = ["country", "description", "green_status", "id", "name"]
35
+
36
+ @field_validator('green_status')
37
+ def green_status_validate_enum(cls, value):
38
+ """Validates the enum"""
39
+ if value is None:
40
+ return value
41
+
42
+ if value not in set(['GREEN', 'PARTIALLY_GREEN', 'NOT_GREEN']):
43
+ raise ValueError("must be one of enum values ('GREEN', 'PARTIALLY_GREEN', 'NOT_GREEN')")
44
+ return value
33
45
 
34
46
  model_config = ConfigDict(
35
47
  populate_by_name=True,
@@ -82,7 +94,9 @@ class RegionFields(BaseModel):
82
94
  return cls.model_validate(obj)
83
95
 
84
96
  _obj = cls.model_validate({
97
+ "country": obj.get("country"),
85
98
  "description": obj.get("description"),
99
+ "green_status": obj.get("green_status"),
86
100
  "id": obj.get("id"),
87
101
  "name": obj.get("name")
88
102
  })
@@ -18,16 +18,16 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class VMUsageRequestPayload(BaseModel):
25
+ class RequestInstanceLogsPayload(BaseModel):
26
26
  """
27
- VMUsageRequestPayload
27
+ RequestInstanceLogsPayload
28
28
  """ # noqa: E501
29
- vm_ids: List[StrictInt] = Field(description="List of virtual machine IDs")
30
- __properties: ClassVar[List[str]] = ["vm_ids"]
29
+ length: Optional[StrictInt] = Field(default=None, description="The amount of lines to fetch")
30
+ __properties: ClassVar[List[str]] = ["length"]
31
31
 
32
32
  model_config = ConfigDict(
33
33
  populate_by_name=True,
@@ -47,7 +47,7 @@ class VMUsageRequestPayload(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of VMUsageRequestPayload from a JSON string"""
50
+ """Create an instance of RequestInstanceLogsPayload from a JSON string"""
51
51
  return cls.from_dict(json.loads(json_str))
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +72,7 @@ class VMUsageRequestPayload(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of VMUsageRequestPayload from a dict"""
75
+ """Create an instance of RequestInstanceLogsPayload from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -80,7 +80,7 @@ class VMUsageRequestPayload(BaseModel):
80
80
  return cls.model_validate(obj)
81
81
 
82
82
  _obj = cls.model_validate({
83
- "vm_ids": obj.get("vm_ids")
83
+ "length": obj.get("length")
84
84
  })
85
85
  return _obj
86
86
 
@@ -18,16 +18,16 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, StrictInt
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class StockVisibilityUserPayload(BaseModel):
25
+ class RequestInstanceLogsResponse(BaseModel):
26
26
  """
27
- StockVisibilityUserPayload
27
+ RequestInstanceLogsResponse
28
28
  """ # noqa: E501
29
- user_ids: List[StrictInt]
30
- __properties: ClassVar[List[str]] = ["user_ids"]
29
+ request_id: Optional[StrictInt] = None
30
+ __properties: ClassVar[List[str]] = ["request_id"]
31
31
 
32
32
  model_config = ConfigDict(
33
33
  populate_by_name=True,
@@ -47,7 +47,7 @@ class StockVisibilityUserPayload(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of StockVisibilityUserPayload from a JSON string"""
50
+ """Create an instance of RequestInstanceLogsResponse from a JSON string"""
51
51
  return cls.from_dict(json.loads(json_str))
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +72,7 @@ class StockVisibilityUserPayload(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of StockVisibilityUserPayload from a dict"""
75
+ """Create an instance of RequestInstanceLogsResponse from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -80,7 +80,7 @@ class StockVisibilityUserPayload(BaseModel):
80
80
  return cls.model_validate(obj)
81
81
 
82
82
  _obj = cls.model_validate({
83
- "user_ids": obj.get("user_ids")
83
+ "request_id": obj.get("request_id")
84
84
  })
85
85
  return _obj
86
86