hyperstack 0.1.23__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.
- hyperstack/__init__.py +79 -131
- hyperstack/api/__init__.py +2 -0
- hyperstack/api/alive_api.py +240 -0
- hyperstack/api/api_key_api.py +16 -20
- hyperstack/api/assigning_member_role_api.py +15 -17
- hyperstack/api/auth_api.py +1050 -5
- hyperstack/api/beta_access_api.py +856 -0
- hyperstack/api/billing_api.py +6461 -673
- hyperstack/api/calculate_api.py +8 -9
- hyperstack/api/callbacks_api.py +120 -126
- hyperstack/api/cluster_events_api.py +1 -2
- hyperstack/api/clusters_api.py +2492 -146
- hyperstack/api/compliance_api.py +14 -18
- hyperstack/api/credit_api.py +17 -15
- hyperstack/api/customer_contract_api.py +30 -33
- hyperstack/api/dashboard_api.py +4 -5
- hyperstack/api/deployment_api.py +4 -8
- hyperstack/api/environment_api.py +285 -16
- hyperstack/api/firewall_attachment_api.py +11 -9
- hyperstack/api/firewalls_api.py +341 -347
- hyperstack/api/flavor_api.py +4 -5
- hyperstack/api/floating_ip_api.py +50 -49
- hyperstack/api/gpu_api.py +1 -2
- hyperstack/api/image_api.py +35 -39
- hyperstack/api/invite_api.py +288 -18
- hyperstack/api/keypair_api.py +22 -26
- hyperstack/api/organization_api.py +12 -15
- hyperstack/api/partner_config_api.py +564 -0
- hyperstack/api/payment_api.py +299 -18
- hyperstack/api/permission_api.py +4 -5
- hyperstack/api/policy_api.py +4 -5
- hyperstack/api/pricebook_api.py +14 -12
- hyperstack/api/profile_api.py +13 -17
- hyperstack/api/rbac_role_api.py +20 -25
- hyperstack/api/region_api.py +7 -8
- hyperstack/api/security_rules_api.py +1 -2
- hyperstack/api/snapshot_events_api.py +1 -2
- hyperstack/api/snapshots_api.py +166 -172
- hyperstack/api/stock_api.py +4 -5
- hyperstack/api/template_api.py +14 -19
- hyperstack/api/user_api.py +55 -49
- hyperstack/api/user_detail_choice_api.py +1 -2
- hyperstack/api/user_permission_api.py +8 -10
- hyperstack/api/virtual_machine_api.py +1529 -929
- hyperstack/api/virtual_machine_events_api.py +21 -22
- hyperstack/api/vnc_url_api.py +54 -50
- hyperstack/api/volume_api.py +340 -40
- hyperstack/api/volume_attachment_api.py +342 -42
- hyperstack/api_client.py +1 -1
- hyperstack/configuration.py +154 -47
- hyperstack/models/__init__.py +76 -130
- hyperstack/models/{environment_fieldsfor_volume.py → access_token_field.py} +7 -7
- hyperstack/models/attach_volume_fields.py +6 -2
- hyperstack/models/attach_volumes_payload.py +4 -2
- hyperstack/models/{virtual_machine_usage.py → attachments_fields_for_volume.py} +13 -11
- hyperstack/models/{flavor_vm_fields.py → attributes.py} +15 -18
- hyperstack/models/auth_get_token_response_model.py +4 -6
- hyperstack/models/{future_node_model.py → beta_access_request_fields.py} +27 -25
- hyperstack/models/{create_gpu.py → beta_access_request_payload.py} +9 -11
- hyperstack/models/{create_discount_response.py → beta_access_request_response_model.py} +11 -11
- hyperstack/models/{export_billing_data_request.py → beta_access_status_item.py} +20 -23
- hyperstack/models/{get_all_discount_for_all_organization_response.py → beta_access_status_response_model.py} +15 -15
- hyperstack/models/{exclude_billing_post_response.py → billing_history.py} +13 -11
- hyperstack/models/billing_history_data_synthesis_details.py +105 -0
- hyperstack/models/{vm_usage_response.py → billing_history_fine_tuning.py} +23 -19
- hyperstack/models/billing_history_model_evalutation_details.py +105 -0
- hyperstack/models/{get_all_discounts_fields.py → billing_history_serverless_inference.py} +23 -24
- hyperstack/models/billing_history_serverless_inference_details.py +105 -0
- hyperstack/models/{billingmetricesfields.py → billing_metrices_fields.py} +4 -4
- hyperstack/models/{billingmetricesresponse.py → billing_metrices_response.py} +7 -7
- hyperstack/models/cluster_fields.py +27 -9
- hyperstack/models/{add_update_flavor_organization_payload.py → cluster_flavor_fields.py} +28 -26
- hyperstack/models/{historical_instances_fields.py → cluster_node_fields.py} +24 -22
- hyperstack/models/{internal_instance_flavor_fields.py → cluster_node_group_fields.py} +17 -17
- hyperstack/models/{create_update_policy_response_model.py → cluster_node_groups_create_response.py} +21 -11
- hyperstack/models/{create_update_permission_response_model.py → cluster_node_groups_get_response.py} +11 -11
- hyperstack/models/{auth_request_login_response_model.py → cluster_node_groups_list_response.py} +15 -11
- hyperstack/models/{contract_eligible_instance_fields.py → cluster_node_instance_fields.py} +13 -11
- hyperstack/models/{image_logos.py → cluster_nodes_list_response.py} +14 -14
- hyperstack/models/{internal_environment_fields.py → cluster_version.py} +13 -9
- hyperstack/models/cluster_versions.py +10 -2
- hyperstack/models/{future_nodes_stock_model.py → colors.py} +17 -15
- hyperstack/models/contract_discount_plan_fields.py +3 -1
- hyperstack/models/contract_instance_fields.py +7 -1
- hyperstack/models/{future_node_response_model.py → create_cluster_node_fields.py} +23 -18
- hyperstack/models/{update_gpu.py → create_cluster_node_group_payload.py} +12 -11
- hyperstack/models/create_cluster_payload.py +31 -8
- hyperstack/models/create_environment.py +1 -1
- hyperstack/models/create_instances_payload.py +10 -8
- hyperstack/models/create_profile_payload.py +1 -1
- hyperstack/models/create_snapshot_payload.py +2 -4
- hyperstack/models/create_volume_payload.py +1 -1
- hyperstack/models/data_synthesis_billing_history_details_response_schema.py +95 -0
- hyperstack/models/{deployment_fieldsforstartdeployments.py → deployment_fields_for_start_deployments.py} +4 -4
- hyperstack/models/{editlabelofanexisting_vm_payload.py → edit_label_of_an_existing_vm_payload.py} +4 -4
- hyperstack/models/environment_features.py +14 -2
- hyperstack/models/{node_stocks_payload.py → environment_fields_for_volume.py} +10 -12
- hyperstack/models/flavor_fields.py +3 -1
- hyperstack/models/{customer_fields.py → flavor_label_fields.py} +7 -7
- hyperstack/models/{getcreditandthresholdinfo.py → get_credit_and_threshold_info.py} +4 -4
- hyperstack/models/{getcreditandthresholdinfoinresponse.py → get_credit_and_threshold_info_in_response.py} +7 -7
- hyperstack/models/{region_payload.py → get_instance_logs_response.py} +7 -9
- hyperstack/models/instance_fields.py +14 -4
- hyperstack/models/instance_flavor_fields.py +13 -1
- hyperstack/models/{flavor_response.py → keypair_environment_features.py} +20 -16
- hyperstack/models/{internal_instance_keypair_fields.py → keypair_environment_fields.py} +13 -11
- hyperstack/models/keypair_fields.py +6 -2
- hyperstack/models/{lastdaycostfields.py → last_day_cost_fields.py} +4 -4
- hyperstack/models/{lastdaycostresponse.py → last_day_cost_response.py} +7 -7
- hyperstack/models/{export_billing_data_response.py → logos.py} +13 -9
- hyperstack/models/{creditrequestresponse.py → master_flavors_response.py} +14 -14
- hyperstack/models/{customer_payload.py → mfa_status_fields.py} +8 -10
- hyperstack/models/{gpu.py → mfa_status_response.py} +11 -11
- hyperstack/models/model_evaluation_billing_history_details_response_schema.py +95 -0
- hyperstack/models/{organization_thresholdfields.py → organization_threshold_fields.py} +4 -4
- hyperstack/models/{organizationthresholdupdateresponse.py → organization_threshold_update_response.py} +7 -7
- hyperstack/models/{organizationthresholdsresponse.py → organization_thresholds_response.py} +7 -7
- hyperstack/models/{logo_get_response.py → pagination.py} +12 -12
- hyperstack/models/{billing_response.py → partner_config.py} +31 -20
- hyperstack/models/payment_details_fields.py +5 -1
- hyperstack/models/{logout_payload.py → primary_color.py} +10 -8
- hyperstack/models/region_fields.py +16 -2
- hyperstack/models/{vm_usage_request_payload.py → request_instance_logs_payload.py} +8 -8
- hyperstack/models/{stock_visibility_user_payload.py → request_instance_logs_response.py} +8 -8
- hyperstack/models/{contract_billing_history.py → resource_level_billing_bucket_details_resources.py} +10 -10
- hyperstack/models/{node_response_model.py → resource_level_billing_history_resources_cluster.py} +21 -11
- hyperstack/models/resource_level_billing_history_response_attributes.py +3 -1
- hyperstack/models/{get_all_contracts_response_model.py → resource_level_bucket_billing_details_response_model.py} +11 -15
- hyperstack/models/{contract_billing_history_response_model.py → resource_level_bucket_billing_history_response_model.py} +11 -11
- hyperstack/models/resource_level_cluster_billing_details_response_model.py +95 -0
- hyperstack/models/resource_level_cluster_billing_history_response_model.py +95 -0
- hyperstack/models/{get_discount_detail_response.py → resource_level_cluster_graph_billing_details_response_model.py} +11 -11
- hyperstack/models/{organization_object_response.py → resource_level_graph_billing_details_bucket.py} +18 -14
- hyperstack/models/{update_discounts_status_payload.py → secondary_color.py} +10 -8
- hyperstack/models/{security_rules_fieldsfor_instance.py → security_rules_fields_for_instance.py} +4 -4
- hyperstack/models/serverless_inferenced_billing_history_details_response_schema.py +95 -0
- hyperstack/models/snapshot_fields.py +6 -1
- hyperstack/models/snapshot_retrieve_fields.py +29 -2
- hyperstack/models/start_deployment.py +3 -3
- hyperstack/models/{subscribeorunsubscribeupdatepayload.py → subscribe_or_unsubscribe_update_payload.py} +4 -4
- hyperstack/models/token_based_billing_history_response.py +95 -0
- hyperstack/models/{update_keypairnameresponse.py → update_keypair_name_response.py} +4 -4
- hyperstack/models/update_volume_attachment_payload.py +87 -0
- hyperstack/models/{verify_api_key_payload.py → update_volume_payload.py} +7 -7
- hyperstack/models/{stock_visibility_user_list_response.py → update_volume_response.py} +14 -16
- hyperstack/models/{auth_request_login_fields.py → uris.py} +19 -9
- hyperstack/models/{userinfopostpayload.py → user_info_post_payload.py} +4 -4
- hyperstack/models/{node_stock_response_model.py → user_organizations_response.py} +14 -14
- hyperstack/models/users_info_fields.py +3 -1
- hyperstack/models/volume_attachment_fields.py +9 -5
- hyperstack/models/volume_fields.py +14 -4
- hyperstack/models/{volume_fieldsfor_instance.py → volume_fields_for_instance.py} +4 -4
- hyperstack/models/volumes.py +17 -11
- hyperstack/models/{instances_summary_fields.py → volumes_fields.py} +33 -29
- hyperstack/models/workload_billing_history_response.py +95 -0
- {hyperstack-0.1.23.dist-info → hyperstack-1.41.0a0.dist-info}/METADATA +9 -2
- hyperstack-1.41.0a0.dist-info/RECORD +349 -0
- {hyperstack-0.1.23.dist-info → hyperstack-1.41.0a0.dist-info}/WHEEL +1 -1
- hyperstack/models/api_key_verify_fields.py +0 -93
- hyperstack/models/billing_immune_resources_response.py +0 -95
- hyperstack/models/contract_billing_history_response_attributes.py +0 -99
- hyperstack/models/contract_change_payload.py +0 -101
- hyperstack/models/contract_eligible_instances_response.py +0 -101
- hyperstack/models/contract_event_create_model.py +0 -91
- hyperstack/models/contract_resource_payload.py +0 -95
- hyperstack/models/contractl_billing_history_response_metrics.py +0 -87
- hyperstack/models/create_contract_fields.py +0 -110
- hyperstack/models/create_contract_payload.py +0 -106
- hyperstack/models/create_discounts_payload.py +0 -112
- hyperstack/models/create_update_permission_payload.py +0 -93
- hyperstack/models/create_update_policy_payload.py +0 -93
- hyperstack/models/creditrechargelimitfield.py +0 -93
- hyperstack/models/creditrechargelimitresponse.py +0 -99
- hyperstack/models/creditrequests.py +0 -96
- hyperstack/models/data.py +0 -91
- hyperstack/models/discount_entity_model.py +0 -97
- hyperstack/models/discount_fields.py +0 -100
- hyperstack/models/discount_plan_fields.py +0 -108
- hyperstack/models/discount_resource_fields.py +0 -93
- hyperstack/models/discount_resource_payload.py +0 -93
- hyperstack/models/exclude_billing_post_payload.py +0 -91
- hyperstack/models/field_change.py +0 -91
- hyperstack/models/flavor_payload.py +0 -101
- hyperstack/models/flavor_vms_response.py +0 -99
- hyperstack/models/future_node_stock_model.py +0 -93
- hyperstack/models/future_node_update_model.py +0 -98
- hyperstack/models/get_all_contract_fields.py +0 -100
- hyperstack/models/get_discount_response.py +0 -99
- hyperstack/models/get_entity_discount_detail_response.py +0 -108
- hyperstack/models/get_token_payload.py +0 -89
- hyperstack/models/get_version_response.py +0 -91
- hyperstack/models/historical_instance.py +0 -101
- hyperstack/models/infrahub_resource_object_response.py +0 -119
- hyperstack/models/insert_discount_plan_fields.py +0 -112
- hyperstack/models/internal_instance_fields.py +0 -156
- hyperstack/models/internal_instance_image_fields.py +0 -95
- hyperstack/models/internal_instances_response.py +0 -99
- hyperstack/models/internal_security_rules_fields_for_instance.py +0 -104
- hyperstack/models/internal_volume_attachment_fields.py +0 -98
- hyperstack/models/internal_volume_fields.py +0 -95
- hyperstack/models/internal_volumes_response.py +0 -99
- hyperstack/models/new_stock_update_response_model.py +0 -89
- hyperstack/models/node_model.py +0 -114
- hyperstack/models/node_payload_model.py +0 -97
- hyperstack/models/node_power_usage_model.py +0 -120
- hyperstack/models/node_stock_payload_model.py +0 -95
- hyperstack/models/organizationcreditrechargelimitresponse.py +0 -95
- hyperstack/models/power_usage_model.py +0 -89
- hyperstack/models/pricebook_resource_object_response.py +0 -107
- hyperstack/models/refresh_token_payload.py +0 -89
- hyperstack/models/region_response.py +0 -95
- hyperstack/models/set_defaults_payload.py +0 -89
- hyperstack/models/single_visibility_user_response.py +0 -91
- hyperstack/models/success_response_model.py +0 -89
- hyperstack/models/token_fields.py +0 -91
- hyperstack/models/update_contract_payload.py +0 -104
- hyperstack/models/update_discounts_payload.py +0 -102
- hyperstack/models/user_transfer_payload.py +0 -89
- hyperstack/models/verify_api_key_response_model.py +0 -95
- hyperstack/models/volume_status_change_fields.py +0 -96
- hyperstack/models/volumes_last_status_change_response.py +0 -99
- hyperstack/models/warning_mail_log_fields.py +0 -99
- hyperstack/models/warning_mail_log_response.py +0 -101
- hyperstack-0.1.23.dist-info/RECORD +0 -401
- {hyperstack-0.1.23.dist-info → hyperstack-1.41.0a0.dist-info}/top_level.txt +0 -0
hyperstack/models/{security_rules_fieldsfor_instance.py → security_rules_fields_for_instance.py}
RENAMED
|
@@ -23,9 +23,9 @@ from typing import Any, ClassVar, Dict, List, Optional
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class SecurityRulesFieldsForInstance(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
SecurityRulesFieldsForInstance
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
created_at: Optional[datetime] = None
|
|
31
31
|
direction: Optional[StrictStr] = None
|
|
@@ -56,7 +56,7 @@ class SecurityRulesFieldsforInstance(BaseModel):
|
|
|
56
56
|
|
|
57
57
|
@classmethod
|
|
58
58
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
59
|
-
"""Create an instance of
|
|
59
|
+
"""Create an instance of SecurityRulesFieldsForInstance from a JSON string"""
|
|
60
60
|
return cls.from_dict(json.loads(json_str))
|
|
61
61
|
|
|
62
62
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -81,7 +81,7 @@ class SecurityRulesFieldsforInstance(BaseModel):
|
|
|
81
81
|
|
|
82
82
|
@classmethod
|
|
83
83
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
84
|
-
"""Create an instance of
|
|
84
|
+
"""Create an instance of SecurityRulesFieldsForInstance from a dict"""
|
|
85
85
|
if obj is None:
|
|
86
86
|
return None
|
|
87
87
|
|
|
@@ -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_serverless_inference_details import BillingHistoryServerlessInferenceDetails
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ServerlessInferencedBillingHistoryDetailsResponseSchema(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ServerlessInferencedBillingHistoryDetailsResponseSchema
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
billing_history_serverless_inference_details: Optional[BillingHistoryServerlessInferenceDetails] = None
|
|
31
|
+
message: Optional[StrictStr] = None
|
|
32
|
+
status: Optional[StrictBool] = None
|
|
33
|
+
__properties: ClassVar[List[str]] = ["billing_history_serverless_inference_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 ServerlessInferencedBillingHistoryDetailsResponseSchema 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_serverless_inference_details
|
|
75
|
+
if self.billing_history_serverless_inference_details:
|
|
76
|
+
_dict['billing_history_serverless_inference_details'] = self.billing_history_serverless_inference_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 ServerlessInferencedBillingHistoryDetailsResponseSchema 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_serverless_inference_details": BillingHistoryServerlessInferenceDetails.from_dict(obj["billing_history_serverless_inference_details"]) if obj.get("billing_history_serverless_inference_details") is not None else None,
|
|
90
|
+
"message": obj.get("message"),
|
|
91
|
+
"status": obj.get("status")
|
|
92
|
+
})
|
|
93
|
+
return _obj
|
|
94
|
+
|
|
95
|
+
|
|
@@ -17,6 +17,7 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
+
from datetime import datetime
|
|
20
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
21
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
23
|
from typing import Optional, Set
|
|
@@ -26,6 +27,7 @@ class SnapshotFields(BaseModel):
|
|
|
26
27
|
"""
|
|
27
28
|
SnapshotFields
|
|
28
29
|
""" # noqa: E501
|
|
30
|
+
created_at: datetime = Field(description="Creation timestamp")
|
|
29
31
|
description: StrictStr = Field(description="Description of the snapshot")
|
|
30
32
|
has_floating_ip: Optional[StrictBool] = Field(default=None, description="Indicates if the VM had a floating IP assigned")
|
|
31
33
|
id: StrictInt = Field(description="Snapshot ID")
|
|
@@ -35,8 +37,9 @@ class SnapshotFields(BaseModel):
|
|
|
35
37
|
region_id: StrictInt = Field(description="Region where the snapshot will be available")
|
|
36
38
|
size: StrictInt = Field(description="Size in GB of the snapshot")
|
|
37
39
|
status: StrictStr = Field(description="Status of the snapshot")
|
|
40
|
+
updated_at: datetime = Field(description="Last update timestamp")
|
|
38
41
|
vm_id: StrictInt = Field(description="ID of the VM from which the snapshot is created")
|
|
39
|
-
__properties: ClassVar[List[str]] = ["description", "has_floating_ip", "id", "is_image", "labels", "name", "region_id", "size", "status", "vm_id"]
|
|
42
|
+
__properties: ClassVar[List[str]] = ["created_at", "description", "has_floating_ip", "id", "is_image", "labels", "name", "region_id", "size", "status", "updated_at", "vm_id"]
|
|
40
43
|
|
|
41
44
|
model_config = ConfigDict(
|
|
42
45
|
populate_by_name=True,
|
|
@@ -89,6 +92,7 @@ class SnapshotFields(BaseModel):
|
|
|
89
92
|
return cls.model_validate(obj)
|
|
90
93
|
|
|
91
94
|
_obj = cls.model_validate({
|
|
95
|
+
"created_at": obj.get("created_at"),
|
|
92
96
|
"description": obj.get("description"),
|
|
93
97
|
"has_floating_ip": obj.get("has_floating_ip"),
|
|
94
98
|
"id": obj.get("id"),
|
|
@@ -98,6 +102,7 @@ class SnapshotFields(BaseModel):
|
|
|
98
102
|
"region_id": obj.get("region_id"),
|
|
99
103
|
"size": obj.get("size"),
|
|
100
104
|
"status": obj.get("status"),
|
|
105
|
+
"updated_at": obj.get("updated_at"),
|
|
101
106
|
"vm_id": obj.get("vm_id")
|
|
102
107
|
})
|
|
103
108
|
return _obj
|
|
@@ -17,6 +17,7 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
+
from datetime import datetime
|
|
20
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
21
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
23
|
from typing import Optional, Set
|
|
@@ -26,16 +27,29 @@ class SnapshotRetrieveFields(BaseModel):
|
|
|
26
27
|
"""
|
|
27
28
|
SnapshotRetrieveFields
|
|
28
29
|
""" # noqa: E501
|
|
30
|
+
created_at: datetime = Field(description="Creation timestamp")
|
|
31
|
+
custom_image: Optional[StrictStr] = None
|
|
29
32
|
description: StrictStr = Field(description="Description of the snapshot")
|
|
30
33
|
has_floating_ip: Optional[StrictBool] = Field(default=None, description="Indicates if the VM had a floating IP assigned")
|
|
31
34
|
id: StrictInt = Field(description="Snapshot ID")
|
|
32
35
|
is_image: StrictBool = Field(description="Indicates if the snapshot is an image")
|
|
36
|
+
labels: Optional[StrictStr] = None
|
|
33
37
|
name: StrictStr = Field(description="Snapshot name")
|
|
38
|
+
region: Optional[StrictStr] = None
|
|
34
39
|
region_id: StrictInt = Field(description="Region where the snapshot will be available")
|
|
35
40
|
size: StrictInt = Field(description="Size in GB of the snapshot")
|
|
36
41
|
status: StrictStr = Field(description="Status of the snapshot")
|
|
42
|
+
updated_at: datetime = Field(description="Last update timestamp")
|
|
43
|
+
vm_environment: Optional[StrictStr] = None
|
|
44
|
+
vm_flavor: Optional[StrictStr] = None
|
|
37
45
|
vm_id: StrictInt = Field(description="ID of the VM from which the snapshot is created")
|
|
38
|
-
|
|
46
|
+
vm_image: Optional[StrictStr] = None
|
|
47
|
+
vm_keypair: Optional[StrictStr] = None
|
|
48
|
+
vm_name: Optional[StrictStr] = None
|
|
49
|
+
vm_status: Optional[StrictStr] = None
|
|
50
|
+
volume_id: Optional[StrictStr] = None
|
|
51
|
+
volume_name: Optional[StrictStr] = None
|
|
52
|
+
__properties: ClassVar[List[str]] = ["created_at", "custom_image", "description", "has_floating_ip", "id", "is_image", "labels", "name", "region", "region_id", "size", "status", "updated_at", "vm_environment", "vm_flavor", "vm_id", "vm_image", "vm_keypair", "vm_name", "vm_status", "volume_id", "volume_name"]
|
|
39
53
|
|
|
40
54
|
model_config = ConfigDict(
|
|
41
55
|
populate_by_name=True,
|
|
@@ -88,15 +102,28 @@ class SnapshotRetrieveFields(BaseModel):
|
|
|
88
102
|
return cls.model_validate(obj)
|
|
89
103
|
|
|
90
104
|
_obj = cls.model_validate({
|
|
105
|
+
"created_at": obj.get("created_at"),
|
|
106
|
+
"custom_image": obj.get("custom_image"),
|
|
91
107
|
"description": obj.get("description"),
|
|
92
108
|
"has_floating_ip": obj.get("has_floating_ip"),
|
|
93
109
|
"id": obj.get("id"),
|
|
94
110
|
"is_image": obj.get("is_image"),
|
|
111
|
+
"labels": obj.get("labels"),
|
|
95
112
|
"name": obj.get("name"),
|
|
113
|
+
"region": obj.get("region"),
|
|
96
114
|
"region_id": obj.get("region_id"),
|
|
97
115
|
"size": obj.get("size"),
|
|
98
116
|
"status": obj.get("status"),
|
|
99
|
-
"
|
|
117
|
+
"updated_at": obj.get("updated_at"),
|
|
118
|
+
"vm_environment": obj.get("vm_environment"),
|
|
119
|
+
"vm_flavor": obj.get("vm_flavor"),
|
|
120
|
+
"vm_id": obj.get("vm_id"),
|
|
121
|
+
"vm_image": obj.get("vm_image"),
|
|
122
|
+
"vm_keypair": obj.get("vm_keypair"),
|
|
123
|
+
"vm_name": obj.get("vm_name"),
|
|
124
|
+
"vm_status": obj.get("vm_status"),
|
|
125
|
+
"volume_id": obj.get("volume_id"),
|
|
126
|
+
"volume_name": obj.get("volume_name")
|
|
100
127
|
})
|
|
101
128
|
return _obj
|
|
102
129
|
|
|
@@ -19,7 +19,7 @@ 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.
|
|
22
|
+
from ..models.deployment_fields_for_start_deployments import DeploymentFieldsForStartDeployments
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
@@ -27,7 +27,7 @@ class StartDeployment(BaseModel):
|
|
|
27
27
|
"""
|
|
28
28
|
StartDeployment
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
deployment: Optional[
|
|
30
|
+
deployment: Optional[DeploymentFieldsForStartDeployments] = None
|
|
31
31
|
message: Optional[StrictStr] = None
|
|
32
32
|
status: Optional[StrictBool] = None
|
|
33
33
|
__properties: ClassVar[List[str]] = ["deployment", "message", "status"]
|
|
@@ -86,7 +86,7 @@ class StartDeployment(BaseModel):
|
|
|
86
86
|
return cls.model_validate(obj)
|
|
87
87
|
|
|
88
88
|
_obj = cls.model_validate({
|
|
89
|
-
"deployment":
|
|
89
|
+
"deployment": DeploymentFieldsForStartDeployments.from_dict(obj["deployment"]) if obj.get("deployment") is not None else None,
|
|
90
90
|
"message": obj.get("message"),
|
|
91
91
|
"status": obj.get("status")
|
|
92
92
|
})
|
|
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List
|
|
|
22
22
|
from typing import Optional, Set
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class SubscribeOrUnsubscribeUpdatePayload(BaseModel):
|
|
26
26
|
"""
|
|
27
|
-
|
|
27
|
+
SubscribeOrUnsubscribeUpdatePayload
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
subscribe: StrictBool = Field(description="`false` indicates that the user will no longer receive notifications for this specific threshold, whereas `true` signifies that the user will receive notification emails.")
|
|
30
30
|
__properties: ClassVar[List[str]] = ["subscribe"]
|
|
@@ -47,7 +47,7 @@ class Subscribeorunsubscribeupdatepayload(BaseModel):
|
|
|
47
47
|
|
|
48
48
|
@classmethod
|
|
49
49
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
50
|
-
"""Create an instance of
|
|
50
|
+
"""Create an instance of SubscribeOrUnsubscribeUpdatePayload 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 Subscribeorunsubscribeupdatepayload(BaseModel):
|
|
|
72
72
|
|
|
73
73
|
@classmethod
|
|
74
74
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
75
|
-
"""Create an instance of
|
|
75
|
+
"""Create an instance of SubscribeOrUnsubscribeUpdatePayload from a dict"""
|
|
76
76
|
if obj is None:
|
|
77
77
|
return None
|
|
78
78
|
|
|
@@ -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_serverless_inference import BillingHistoryServerlessInference
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class TokenBasedBillingHistoryResponse(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
TokenBasedBillingHistoryResponse
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
billing_history_serverless_inference: Optional[BillingHistoryServerlessInference] = None
|
|
31
|
+
message: Optional[StrictStr] = None
|
|
32
|
+
success: Optional[StrictBool] = None
|
|
33
|
+
__properties: ClassVar[List[str]] = ["billing_history_serverless_inference", "message", "success"]
|
|
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 TokenBasedBillingHistoryResponse 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_serverless_inference
|
|
75
|
+
if self.billing_history_serverless_inference:
|
|
76
|
+
_dict['billing_history_serverless_inference'] = self.billing_history_serverless_inference.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 TokenBasedBillingHistoryResponse 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_serverless_inference": BillingHistoryServerlessInference.from_dict(obj["billing_history_serverless_inference"]) if obj.get("billing_history_serverless_inference") is not None else None,
|
|
90
|
+
"message": obj.get("message"),
|
|
91
|
+
"success": obj.get("success")
|
|
92
|
+
})
|
|
93
|
+
return _obj
|
|
94
|
+
|
|
95
|
+
|
|
@@ -23,9 +23,9 @@ from ..models.keypair_fields import KeypairFields
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class UpdateKeypairNameResponse(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
UpdateKeypairNameResponse
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
keypair: Optional[KeypairFields] = None
|
|
31
31
|
message: Optional[StrictStr] = None
|
|
@@ -50,7 +50,7 @@ class UpdateKeypairnameresponse(BaseModel):
|
|
|
50
50
|
|
|
51
51
|
@classmethod
|
|
52
52
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
53
|
+
"""Create an instance of UpdateKeypairNameResponse 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 UpdateKeypairnameresponse(BaseModel):
|
|
|
78
78
|
|
|
79
79
|
@classmethod
|
|
80
80
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
81
|
-
"""Create an instance of
|
|
81
|
+
"""Create an instance of UpdateKeypairNameResponse from a dict"""
|
|
82
82
|
if obj is None:
|
|
83
83
|
return None
|
|
84
84
|
|
|
@@ -0,0 +1,87 @@
|
|
|
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
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
|
|
25
|
+
class UpdateVolumeAttachmentPayload(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
UpdateVolumeAttachmentPayload
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
protected: Optional[StrictBool] = None
|
|
30
|
+
__properties: ClassVar[List[str]] = ["protected"]
|
|
31
|
+
|
|
32
|
+
model_config = ConfigDict(
|
|
33
|
+
populate_by_name=True,
|
|
34
|
+
validate_assignment=True,
|
|
35
|
+
protected_namespaces=(),
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def to_str(self) -> str:
|
|
40
|
+
"""Returns the string representation of the model using alias"""
|
|
41
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
42
|
+
|
|
43
|
+
def to_json(self) -> str:
|
|
44
|
+
"""Returns the JSON representation of the model using alias"""
|
|
45
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
46
|
+
return json.dumps(self.to_dict())
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
50
|
+
"""Create an instance of UpdateVolumeAttachmentPayload from a JSON string"""
|
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
54
|
+
"""Return the dictionary representation of the model using alias.
|
|
55
|
+
|
|
56
|
+
This has the following differences from calling pydantic's
|
|
57
|
+
`self.model_dump(by_alias=True)`:
|
|
58
|
+
|
|
59
|
+
* `None` is only added to the output dict for nullable fields that
|
|
60
|
+
were set at model initialization. Other fields with value `None`
|
|
61
|
+
are ignored.
|
|
62
|
+
"""
|
|
63
|
+
excluded_fields: Set[str] = set([
|
|
64
|
+
])
|
|
65
|
+
|
|
66
|
+
_dict = self.model_dump(
|
|
67
|
+
by_alias=True,
|
|
68
|
+
exclude=excluded_fields,
|
|
69
|
+
exclude_none=True,
|
|
70
|
+
)
|
|
71
|
+
return _dict
|
|
72
|
+
|
|
73
|
+
@classmethod
|
|
74
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
75
|
+
"""Create an instance of UpdateVolumeAttachmentPayload from a dict"""
|
|
76
|
+
if obj is None:
|
|
77
|
+
return None
|
|
78
|
+
|
|
79
|
+
if not isinstance(obj, dict):
|
|
80
|
+
return cls.model_validate(obj)
|
|
81
|
+
|
|
82
|
+
_obj = cls.model_validate({
|
|
83
|
+
"protected": obj.get("protected")
|
|
84
|
+
})
|
|
85
|
+
return _obj
|
|
86
|
+
|
|
87
|
+
|
|
@@ -22,12 +22,12 @@ from typing import Any, ClassVar, Dict, List
|
|
|
22
22
|
from typing import Optional, Set
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class UpdateVolumePayload(BaseModel):
|
|
26
26
|
"""
|
|
27
|
-
|
|
27
|
+
UpdateVolumePayload
|
|
28
28
|
""" # noqa: E501
|
|
29
|
-
|
|
30
|
-
__properties: ClassVar[List[str]] = ["
|
|
29
|
+
environment_name: StrictStr = Field(description="The name of the target environment to move the volume to. The target environment must be in the same region as the current environment.")
|
|
30
|
+
__properties: ClassVar[List[str]] = ["environment_name"]
|
|
31
31
|
|
|
32
32
|
model_config = ConfigDict(
|
|
33
33
|
populate_by_name=True,
|
|
@@ -47,7 +47,7 @@ class VerifyApiKeyPayload(BaseModel):
|
|
|
47
47
|
|
|
48
48
|
@classmethod
|
|
49
49
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
50
|
-
"""Create an instance of
|
|
50
|
+
"""Create an instance of UpdateVolumePayload 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 VerifyApiKeyPayload(BaseModel):
|
|
|
72
72
|
|
|
73
73
|
@classmethod
|
|
74
74
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
75
|
-
"""Create an instance of
|
|
75
|
+
"""Create an instance of UpdateVolumePayload from a dict"""
|
|
76
76
|
if obj is None:
|
|
77
77
|
return None
|
|
78
78
|
|
|
@@ -80,7 +80,7 @@ class VerifyApiKeyPayload(BaseModel):
|
|
|
80
80
|
return cls.model_validate(obj)
|
|
81
81
|
|
|
82
82
|
_obj = cls.model_validate({
|
|
83
|
-
"
|
|
83
|
+
"environment_name": obj.get("environment_name")
|
|
84
84
|
})
|
|
85
85
|
return _obj
|
|
86
86
|
|
|
@@ -17,20 +17,21 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
-
from ..models.
|
|
22
|
+
from ..models.volume_fields import VolumeFields
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class UpdateVolumeResponse(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
UpdateVolumeResponse
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
message: Optional[StrictStr] = None
|
|
31
31
|
status: Optional[StrictBool] = None
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
updates: Optional[Dict[str, Any]] = Field(default=None, description="Summary of fields that were updated")
|
|
33
|
+
volume: Optional[VolumeFields] = None
|
|
34
|
+
__properties: ClassVar[List[str]] = ["message", "status", "updates", "volume"]
|
|
34
35
|
|
|
35
36
|
model_config = ConfigDict(
|
|
36
37
|
populate_by_name=True,
|
|
@@ -50,7 +51,7 @@ class StockVisibilityUserListResponse(BaseModel):
|
|
|
50
51
|
|
|
51
52
|
@classmethod
|
|
52
53
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
54
|
+
"""Create an instance of UpdateVolumeResponse from a JSON string"""
|
|
54
55
|
return cls.from_dict(json.loads(json_str))
|
|
55
56
|
|
|
56
57
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -71,18 +72,14 @@ class StockVisibilityUserListResponse(BaseModel):
|
|
|
71
72
|
exclude=excluded_fields,
|
|
72
73
|
exclude_none=True,
|
|
73
74
|
)
|
|
74
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
for _item_users in self.users:
|
|
78
|
-
if _item_users:
|
|
79
|
-
_items.append(_item_users.to_dict())
|
|
80
|
-
_dict['users'] = _items
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of volume
|
|
76
|
+
if self.volume:
|
|
77
|
+
_dict['volume'] = self.volume.to_dict()
|
|
81
78
|
return _dict
|
|
82
79
|
|
|
83
80
|
@classmethod
|
|
84
81
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
85
|
-
"""Create an instance of
|
|
82
|
+
"""Create an instance of UpdateVolumeResponse from a dict"""
|
|
86
83
|
if obj is None:
|
|
87
84
|
return None
|
|
88
85
|
|
|
@@ -92,7 +89,8 @@ class StockVisibilityUserListResponse(BaseModel):
|
|
|
92
89
|
_obj = cls.model_validate({
|
|
93
90
|
"message": obj.get("message"),
|
|
94
91
|
"status": obj.get("status"),
|
|
95
|
-
"
|
|
92
|
+
"updates": obj.get("updates"),
|
|
93
|
+
"volume": VolumeFields.from_dict(obj["volume"]) if obj.get("volume") is not None else None
|
|
96
94
|
})
|
|
97
95
|
return _obj
|
|
98
96
|
|