mithril-client 0.1.0a1__cp314-cp314-macosx_11_0_arm64.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.
- mithril/__init__.py +7 -0
- mithril/_mcli.cpython-314-darwin.so +0 -0
- mithril/_mcli.pyi +7 -0
- mithril/_mcli_entry.py +75 -0
- mithril/api/__init__.py +7 -0
- mithril/api/bindings/.gitattributes +2 -0
- mithril/api/bindings/__init__.py +10 -0
- mithril/api/bindings/api/__init__.py +1 -0
- mithril/api/bindings/api/api_keys/__init__.py +1 -0
- mithril/api/bindings/api/api_keys/create_api_key_v2_api_keys_post.py +179 -0
- mithril/api/bindings/api/api_keys/get_api_keys_v2_api_keys_get.py +141 -0
- mithril/api/bindings/api/api_keys/revoke_api_key_v2_api_keys_key_fid_delete.py +173 -0
- mithril/api/bindings/api/image_versions/__init__.py +1 -0
- mithril/api/bindings/api/image_versions/get_image_versions_v2_image_versions_get.py +141 -0
- mithril/api/bindings/api/image_versions/get_mcc_image_versions_v2_mcc_image_versions_get.py +179 -0
- mithril/api/bindings/api/instance_types/__init__.py +1 -0
- mithril/api/bindings/api/instance_types/get_instance_types_v2_instance_types_get.py +137 -0
- mithril/api/bindings/api/instances/__init__.py +1 -0
- mithril/api/bindings/api/instances/get_instance_status_v2_instances_instance_id_status_get.py +165 -0
- mithril/api/bindings/api/instances/get_instances_v2_instances_get.py +409 -0
- mithril/api/bindings/api/kubernetes_clusters/__init__.py +1 -0
- mithril/api/bindings/api/kubernetes_clusters/create_kubernetes_cluster_v2_kubernetes_clusters_post.py +171 -0
- mithril/api/bindings/api/kubernetes_clusters/delete_kubernetes_cluster_v2_kubernetes_clusters_cluster_fid_delete.py +163 -0
- mithril/api/bindings/api/kubernetes_clusters/get_kubernetes_cluster_v2_kubernetes_clusters_cluster_fid_get.py +165 -0
- mithril/api/bindings/api/kubernetes_clusters/get_kubernetes_clusters_v2_kubernetes_clusters_get.py +175 -0
- mithril/api/bindings/api/lifecycle_scripts/__init__.py +1 -0
- mithril/api/bindings/api/lifecycle_scripts/create_lifecycle_script_v2_lifecycle_scripts_post.py +171 -0
- mithril/api/bindings/api/lifecycle_scripts/delete_lifecycle_script_v2_lifecycle_scripts_ls_fid_delete.py +155 -0
- mithril/api/bindings/api/lifecycle_scripts/get_lifecycle_script_content_v2_lifecycle_scripts_ls_fid_content_get.py +155 -0
- mithril/api/bindings/api/lifecycle_scripts/list_lifecycle_scripts_v2_lifecycle_scripts_get.py +247 -0
- mithril/api/bindings/api/lifecycle_scripts/update_lifecycle_script_v2_lifecycle_scripts_ls_fid_patch.py +179 -0
- mithril/api/bindings/api/pricing/__init__.py +1 -0
- mithril/api/bindings/api/pricing/get_current_prices_v2_v2_pricing_current_get.py +217 -0
- mithril/api/bindings/api/pricing/get_historical_prices_v2_v2_pricing_history_get.py +222 -0
- mithril/api/bindings/api/profile/__init__.py +1 -0
- mithril/api/bindings/api/profile/get_me_v2_me_get.py +132 -0
- mithril/api/bindings/api/profile/get_my_teammates_v2_me_teammates_get.py +153 -0
- mithril/api/bindings/api/projects/__init__.py +1 -0
- mithril/api/bindings/api/projects/get_projects_v2_projects_get.py +137 -0
- mithril/api/bindings/api/quotas/__init__.py +1 -0
- mithril/api/bindings/api/quotas/get_quotas_v2_quotas_get.py +175 -0
- mithril/api/bindings/api/reservations/__init__.py +1 -0
- mithril/api/bindings/api/reservations/create_reservation_v2_reservation_post.py +171 -0
- mithril/api/bindings/api/reservations/extend_reservation_v2_reservation_reservation_fid_extend_post.py +187 -0
- mithril/api/bindings/api/reservations/get_availability_v2_reservation_availability_get.py +664 -0
- mithril/api/bindings/api/reservations/get_extension_availability_v2_reservation_reservation_fid_extension_availability_get.py +165 -0
- mithril/api/bindings/api/reservations/get_reservations_v2_reservation_get.py +309 -0
- mithril/api/bindings/api/reservations/update_reservation_v2_reservation_reservation_fid_patch.py +187 -0
- mithril/api/bindings/api/spot/__init__.py +1 -0
- mithril/api/bindings/api/spot/cancel_bid_v2_spot_bids_bid_fid_delete.py +161 -0
- mithril/api/bindings/api/spot/create_bid_v2_spot_bids_post.py +171 -0
- mithril/api/bindings/api/spot/get_auctions_v2_spot_availability_get.py +137 -0
- mithril/api/bindings/api/spot/get_bid_history_v2_spot_bids_bid_fid_history_get.py +193 -0
- mithril/api/bindings/api/spot/get_bid_status_v2_spot_bids_bid_fid_status_get.py +189 -0
- mithril/api/bindings/api/spot/get_bid_v2_spot_bids_bid_fid_get.py +163 -0
- mithril/api/bindings/api/spot/get_bids_v2_spot_bids_get.py +330 -0
- mithril/api/bindings/api/spot/update_bid_v2_spot_bids_bid_fid_patch.py +185 -0
- mithril/api/bindings/api/ssh_keys/__init__.py +1 -0
- mithril/api/bindings/api/ssh_keys/create_ssh_key_v2_ssh_keys_post.py +175 -0
- mithril/api/bindings/api/ssh_keys/delete_ssh_key_v2_ssh_keys_ssh_key_fid_delete.py +167 -0
- mithril/api/bindings/api/ssh_keys/get_ssh_keys_v2_ssh_keys_get.py +175 -0
- mithril/api/bindings/api/ssh_keys/update_ssh_key_v2_ssh_keys_ssh_key_fid_patch.py +187 -0
- mithril/api/bindings/api/volumes/__init__.py +1 -0
- mithril/api/bindings/api/volumes/create_volume_v2_volumes_post.py +211 -0
- mithril/api/bindings/api/volumes/delete_volume_v2_volumes_volume_fid_delete.py +199 -0
- mithril/api/bindings/api/volumes/get_volumes_v2_volumes_get.py +239 -0
- mithril/api/bindings/api/volumes/update_volume_v2_volumes_volume_fid_patch.py +243 -0
- mithril/api/bindings/client.py +284 -0
- mithril/api/bindings/errors.py +18 -0
- mithril/api/bindings/models/__init__.py +169 -0
- mithril/api/bindings/models/api_key_model.py +114 -0
- mithril/api/bindings/models/auction_model.py +146 -0
- mithril/api/bindings/models/availability_slot_model.py +76 -0
- mithril/api/bindings/models/bid_history_event_model.py +157 -0
- mithril/api/bindings/models/bid_history_event_model_event_type.py +19 -0
- mithril/api/bindings/models/bid_history_response.py +84 -0
- mithril/api/bindings/models/bid_model.py +191 -0
- mithril/api/bindings/models/bid_model_status.py +14 -0
- mithril/api/bindings/models/bid_status_response.py +72 -0
- mithril/api/bindings/models/bid_status_response_status.py +15 -0
- mithril/api/bindings/models/check_availability_response.py +60 -0
- mithril/api/bindings/models/create_api_key_request.py +68 -0
- mithril/api/bindings/models/create_api_key_response.py +122 -0
- mithril/api/bindings/models/create_bid_request.py +116 -0
- mithril/api/bindings/models/create_kubernetes_cluster_request.py +136 -0
- mithril/api/bindings/models/create_kubernetes_cluster_request_k8s_version.py +11 -0
- mithril/api/bindings/models/create_lifecycle_script_request.py +115 -0
- mithril/api/bindings/models/create_reservation_request.py +124 -0
- mithril/api/bindings/models/create_ssh_key_request.py +99 -0
- mithril/api/bindings/models/create_volume_request.py +98 -0
- mithril/api/bindings/models/create_volume_request_disk_interface.py +11 -0
- mithril/api/bindings/models/created_ssh_key_model.py +122 -0
- mithril/api/bindings/models/current_prices_response.py +202 -0
- mithril/api/bindings/models/extend_reservation_request.py +60 -0
- mithril/api/bindings/models/extension_availability_response.py +68 -0
- mithril/api/bindings/models/get_availability_v2_reservation_availability_get_mode.py +12 -0
- mithril/api/bindings/models/get_bids_response.py +96 -0
- mithril/api/bindings/models/get_bids_v2_spot_bids_get_sort_by.py +11 -0
- mithril/api/bindings/models/get_bids_v2_spot_bids_get_status.py +14 -0
- mithril/api/bindings/models/get_instances_response.py +96 -0
- mithril/api/bindings/models/get_instances_v2_instances_get_order_type_in_type_0_item.py +11 -0
- mithril/api/bindings/models/get_instances_v2_instances_get_sort_by.py +12 -0
- mithril/api/bindings/models/get_instances_v2_instances_get_status_in_type_0_item.py +24 -0
- mithril/api/bindings/models/get_latest_end_time_response.py +68 -0
- mithril/api/bindings/models/get_reservations_response.py +96 -0
- mithril/api/bindings/models/get_reservations_v2_reservation_get_sort_by.py +11 -0
- mithril/api/bindings/models/get_reservations_v2_reservation_get_status.py +14 -0
- mithril/api/bindings/models/historical_price_point_model.py +94 -0
- mithril/api/bindings/models/historical_prices_response_model.py +76 -0
- mithril/api/bindings/models/http_validation_error.py +78 -0
- mithril/api/bindings/models/image_version_model.py +224 -0
- mithril/api/bindings/models/instance_model.py +211 -0
- mithril/api/bindings/models/instance_model_status.py +24 -0
- mithril/api/bindings/models/instance_status_response.py +141 -0
- mithril/api/bindings/models/instance_status_response_status.py +24 -0
- mithril/api/bindings/models/instance_type_model.py +170 -0
- mithril/api/bindings/models/kubernetes_cluster_model.py +207 -0
- mithril/api/bindings/models/kubernetes_cluster_model_status.py +12 -0
- mithril/api/bindings/models/launch_specification_model.py +152 -0
- mithril/api/bindings/models/lifecycle_script_model.py +134 -0
- mithril/api/bindings/models/lifecycle_script_scope.py +12 -0
- mithril/api/bindings/models/list_lifecycle_scripts_response.py +96 -0
- mithril/api/bindings/models/list_lifecycle_scripts_v2_lifecycle_scripts_get_sort_by.py +11 -0
- mithril/api/bindings/models/me_response.py +126 -0
- mithril/api/bindings/models/new_ssh_key_model.py +100 -0
- mithril/api/bindings/models/persistent_disk_change.py +92 -0
- mithril/api/bindings/models/project_model.py +76 -0
- mithril/api/bindings/models/public_lifecycle_script_scope.py +11 -0
- mithril/api/bindings/models/quota_model.py +132 -0
- mithril/api/bindings/models/reservation_model.py +215 -0
- mithril/api/bindings/models/reservation_model_status.py +14 -0
- mithril/api/bindings/models/size.py +70 -0
- mithril/api/bindings/models/size_unit.py +18 -0
- mithril/api/bindings/models/sort_direction.py +11 -0
- mithril/api/bindings/models/teammate_response.py +158 -0
- mithril/api/bindings/models/update_bid_request.py +143 -0
- mithril/api/bindings/models/update_lifecycle_script_request.py +109 -0
- mithril/api/bindings/models/update_reservation_request.py +103 -0
- mithril/api/bindings/models/update_ssh_key_request.py +60 -0
- mithril/api/bindings/models/update_volume_request.py +65 -0
- mithril/api/bindings/models/validation_error.py +89 -0
- mithril/api/bindings/models/volume_model.py +140 -0
- mithril/api/bindings/models/volume_model_attachments.py +46 -0
- mithril/api/bindings/models/volume_model_interface.py +11 -0
- mithril/api/bindings/types.py +56 -0
- mithril/api/client.py +138 -0
- mithril/cli/__init__.py +7 -0
- mithril/cli/commands/__init__.py +15 -0
- mithril/cli/commands/help.py +88 -0
- mithril/cli/commands/launch.py +353 -0
- mithril/cli/main.py +68 -0
- mithril/cli/utils/__init__.py +1 -0
- mithril/cli/utils/skypilot_passthrough.py +38 -0
- mithril/cli/utils/streaming.py +235 -0
- mithril/cli/utils/volumes.py +110 -0
- mithril/config.py +47 -0
- mithril/py.typed +0 -0
- mithril/sky/__init__.py +141 -0
- mithril/sky/client.py +176 -0
- mithril_client-0.1.0a1.dist-info/METADATA +56 -0
- mithril_client-0.1.0a1.dist-info/RECORD +163 -0
- mithril_client-0.1.0a1.dist-info/WHEEL +4 -0
- mithril_client-0.1.0a1.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, Self, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..models.bid_status_response_status import BidStatusResponseStatus
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="BidStatusResponse")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class BidStatusResponse:
|
|
16
|
+
"""Response model for the detailed bid status endpoint.
|
|
17
|
+
|
|
18
|
+
Attributes:
|
|
19
|
+
bid_fid (str):
|
|
20
|
+
status (BidStatusResponseStatus):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
bid_fid: str
|
|
24
|
+
status: BidStatusResponseStatus
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
bid_fid = self.bid_fid
|
|
29
|
+
|
|
30
|
+
status = self.status.value
|
|
31
|
+
|
|
32
|
+
field_dict: dict[str, Any] = {}
|
|
33
|
+
field_dict.update(self.additional_properties)
|
|
34
|
+
field_dict.update(
|
|
35
|
+
{
|
|
36
|
+
"bid_fid": bid_fid,
|
|
37
|
+
"status": status,
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
return field_dict
|
|
42
|
+
|
|
43
|
+
@classmethod
|
|
44
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
45
|
+
d = dict(src_dict)
|
|
46
|
+
bid_fid = d.pop("bid_fid")
|
|
47
|
+
|
|
48
|
+
status = BidStatusResponseStatus(d.pop("status"))
|
|
49
|
+
|
|
50
|
+
bid_status_response = cls(
|
|
51
|
+
bid_fid=bid_fid,
|
|
52
|
+
status=status,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
bid_status_response.additional_properties = d
|
|
56
|
+
return bid_status_response
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def additional_keys(self) -> list[str]:
|
|
60
|
+
return list(self.additional_properties.keys())
|
|
61
|
+
|
|
62
|
+
def __getitem__(self, key: str) -> Any:
|
|
63
|
+
return self.additional_properties[key]
|
|
64
|
+
|
|
65
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
66
|
+
self.additional_properties[key] = value
|
|
67
|
+
|
|
68
|
+
def __delitem__(self, key: str) -> None:
|
|
69
|
+
del self.additional_properties[key]
|
|
70
|
+
|
|
71
|
+
def __contains__(self, key: str) -> bool:
|
|
72
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from enum import Enum
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class BidStatusResponseStatus(str, Enum):
|
|
7
|
+
ALLOCATED = "Allocated"
|
|
8
|
+
OPEN = "Open"
|
|
9
|
+
PAUSED = "Paused"
|
|
10
|
+
PREEMPTING = "Preempting"
|
|
11
|
+
RELOCATING = "Relocating"
|
|
12
|
+
TERMINATED = "Terminated"
|
|
13
|
+
|
|
14
|
+
def __str__(self) -> str:
|
|
15
|
+
return str(self.value)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, Self, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="CheckAvailabilityResponse")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class CheckAvailabilityResponse:
|
|
14
|
+
"""Attributes:
|
|
15
|
+
available (bool):
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
available: bool
|
|
19
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
20
|
+
|
|
21
|
+
def to_dict(self) -> dict[str, Any]:
|
|
22
|
+
available = self.available
|
|
23
|
+
|
|
24
|
+
field_dict: dict[str, Any] = {}
|
|
25
|
+
field_dict.update(self.additional_properties)
|
|
26
|
+
field_dict.update(
|
|
27
|
+
{
|
|
28
|
+
"available": available,
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
return field_dict
|
|
33
|
+
|
|
34
|
+
@classmethod
|
|
35
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
36
|
+
d = dict(src_dict)
|
|
37
|
+
available = d.pop("available")
|
|
38
|
+
|
|
39
|
+
check_availability_response = cls(
|
|
40
|
+
available=available,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
check_availability_response.additional_properties = d
|
|
44
|
+
return check_availability_response
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def additional_keys(self) -> list[str]:
|
|
48
|
+
return list(self.additional_properties.keys())
|
|
49
|
+
|
|
50
|
+
def __getitem__(self, key: str) -> Any:
|
|
51
|
+
return self.additional_properties[key]
|
|
52
|
+
|
|
53
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
54
|
+
self.additional_properties[key] = value
|
|
55
|
+
|
|
56
|
+
def __delitem__(self, key: str) -> None:
|
|
57
|
+
del self.additional_properties[key]
|
|
58
|
+
|
|
59
|
+
def __contains__(self, key: str) -> bool:
|
|
60
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, Self, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="CreateApiKeyRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class CreateApiKeyRequest:
|
|
14
|
+
"""Attributes:
|
|
15
|
+
name (str):
|
|
16
|
+
expires_at (str):
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
name: str
|
|
20
|
+
expires_at: str
|
|
21
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> dict[str, Any]:
|
|
24
|
+
name = self.name
|
|
25
|
+
|
|
26
|
+
expires_at = self.expires_at
|
|
27
|
+
|
|
28
|
+
field_dict: dict[str, Any] = {}
|
|
29
|
+
field_dict.update(self.additional_properties)
|
|
30
|
+
field_dict.update(
|
|
31
|
+
{
|
|
32
|
+
"name": name,
|
|
33
|
+
"expires_at": expires_at,
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
return field_dict
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
41
|
+
d = dict(src_dict)
|
|
42
|
+
name = d.pop("name")
|
|
43
|
+
|
|
44
|
+
expires_at = d.pop("expires_at")
|
|
45
|
+
|
|
46
|
+
create_api_key_request = cls(
|
|
47
|
+
name=name,
|
|
48
|
+
expires_at=expires_at,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
create_api_key_request.additional_properties = d
|
|
52
|
+
return create_api_key_request
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def additional_keys(self) -> list[str]:
|
|
56
|
+
return list(self.additional_properties.keys())
|
|
57
|
+
|
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
|
59
|
+
return self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
62
|
+
self.additional_properties[key] = value
|
|
63
|
+
|
|
64
|
+
def __delitem__(self, key: str) -> None:
|
|
65
|
+
del self.additional_properties[key]
|
|
66
|
+
|
|
67
|
+
def __contains__(self, key: str) -> bool:
|
|
68
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, Self, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="CreateApiKeyResponse")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class CreateApiKeyResponse:
|
|
16
|
+
"""Attributes:
|
|
17
|
+
fid (str):
|
|
18
|
+
name (str):
|
|
19
|
+
created_at (str):
|
|
20
|
+
expires_at (str):
|
|
21
|
+
snippet (str):
|
|
22
|
+
secret (str):
|
|
23
|
+
deactivated_at (None | str | Unset):
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
fid: str
|
|
27
|
+
name: str
|
|
28
|
+
created_at: str
|
|
29
|
+
expires_at: str
|
|
30
|
+
snippet: str
|
|
31
|
+
secret: str
|
|
32
|
+
deactivated_at: None | str | Unset = UNSET
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
fid = self.fid
|
|
37
|
+
|
|
38
|
+
name = self.name
|
|
39
|
+
|
|
40
|
+
created_at = self.created_at
|
|
41
|
+
|
|
42
|
+
expires_at = self.expires_at
|
|
43
|
+
|
|
44
|
+
snippet = self.snippet
|
|
45
|
+
|
|
46
|
+
secret = self.secret
|
|
47
|
+
|
|
48
|
+
deactivated_at: None | str | Unset
|
|
49
|
+
if isinstance(self.deactivated_at, Unset):
|
|
50
|
+
deactivated_at = UNSET
|
|
51
|
+
else:
|
|
52
|
+
deactivated_at = self.deactivated_at
|
|
53
|
+
|
|
54
|
+
field_dict: dict[str, Any] = {}
|
|
55
|
+
field_dict.update(self.additional_properties)
|
|
56
|
+
field_dict.update(
|
|
57
|
+
{
|
|
58
|
+
"fid": fid,
|
|
59
|
+
"name": name,
|
|
60
|
+
"created_at": created_at,
|
|
61
|
+
"expires_at": expires_at,
|
|
62
|
+
"snippet": snippet,
|
|
63
|
+
"secret": secret,
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
if deactivated_at is not UNSET:
|
|
67
|
+
field_dict["deactivated_at"] = deactivated_at
|
|
68
|
+
|
|
69
|
+
return field_dict
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
73
|
+
d = dict(src_dict)
|
|
74
|
+
fid = d.pop("fid")
|
|
75
|
+
|
|
76
|
+
name = d.pop("name")
|
|
77
|
+
|
|
78
|
+
created_at = d.pop("created_at")
|
|
79
|
+
|
|
80
|
+
expires_at = d.pop("expires_at")
|
|
81
|
+
|
|
82
|
+
snippet = d.pop("snippet")
|
|
83
|
+
|
|
84
|
+
secret = d.pop("secret")
|
|
85
|
+
|
|
86
|
+
def _parse_deactivated_at(data: object) -> None | str | Unset:
|
|
87
|
+
if data is None:
|
|
88
|
+
return data
|
|
89
|
+
if isinstance(data, Unset):
|
|
90
|
+
return data
|
|
91
|
+
return cast(None | str | Unset, data)
|
|
92
|
+
|
|
93
|
+
deactivated_at = _parse_deactivated_at(d.pop("deactivated_at", UNSET))
|
|
94
|
+
|
|
95
|
+
create_api_key_response = cls(
|
|
96
|
+
fid=fid,
|
|
97
|
+
name=name,
|
|
98
|
+
created_at=created_at,
|
|
99
|
+
expires_at=expires_at,
|
|
100
|
+
snippet=snippet,
|
|
101
|
+
secret=secret,
|
|
102
|
+
deactivated_at=deactivated_at,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
create_api_key_response.additional_properties = d
|
|
106
|
+
return create_api_key_response
|
|
107
|
+
|
|
108
|
+
@property
|
|
109
|
+
def additional_keys(self) -> list[str]:
|
|
110
|
+
return list(self.additional_properties.keys())
|
|
111
|
+
|
|
112
|
+
def __getitem__(self, key: str) -> Any:
|
|
113
|
+
return self.additional_properties[key]
|
|
114
|
+
|
|
115
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
116
|
+
self.additional_properties[key] = value
|
|
117
|
+
|
|
118
|
+
def __delitem__(self, key: str) -> None:
|
|
119
|
+
del self.additional_properties[key]
|
|
120
|
+
|
|
121
|
+
def __contains__(self, key: str) -> bool:
|
|
122
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Self, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.launch_specification_model import LaunchSpecificationModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="CreateBidRequest")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class CreateBidRequest:
|
|
18
|
+
"""Attributes:
|
|
19
|
+
project (str):
|
|
20
|
+
region (str):
|
|
21
|
+
instance_type (str):
|
|
22
|
+
limit_price (str):
|
|
23
|
+
instance_quantity (int):
|
|
24
|
+
name (str):
|
|
25
|
+
launch_specification (LaunchSpecificationModel):
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
project: str
|
|
29
|
+
region: str
|
|
30
|
+
instance_type: str
|
|
31
|
+
limit_price: str
|
|
32
|
+
instance_quantity: int
|
|
33
|
+
name: str
|
|
34
|
+
launch_specification: LaunchSpecificationModel
|
|
35
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
36
|
+
|
|
37
|
+
def to_dict(self) -> dict[str, Any]:
|
|
38
|
+
project = self.project
|
|
39
|
+
|
|
40
|
+
region = self.region
|
|
41
|
+
|
|
42
|
+
instance_type = self.instance_type
|
|
43
|
+
|
|
44
|
+
limit_price = self.limit_price
|
|
45
|
+
|
|
46
|
+
instance_quantity = self.instance_quantity
|
|
47
|
+
|
|
48
|
+
name = self.name
|
|
49
|
+
|
|
50
|
+
launch_specification = self.launch_specification.to_dict()
|
|
51
|
+
|
|
52
|
+
field_dict: dict[str, Any] = {}
|
|
53
|
+
field_dict.update(self.additional_properties)
|
|
54
|
+
field_dict.update(
|
|
55
|
+
{
|
|
56
|
+
"project": project,
|
|
57
|
+
"region": region,
|
|
58
|
+
"instance_type": instance_type,
|
|
59
|
+
"limit_price": limit_price,
|
|
60
|
+
"instance_quantity": instance_quantity,
|
|
61
|
+
"name": name,
|
|
62
|
+
"launch_specification": launch_specification,
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
return field_dict
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
70
|
+
from ..models.launch_specification_model import LaunchSpecificationModel
|
|
71
|
+
|
|
72
|
+
d = dict(src_dict)
|
|
73
|
+
project = d.pop("project")
|
|
74
|
+
|
|
75
|
+
region = d.pop("region")
|
|
76
|
+
|
|
77
|
+
instance_type = d.pop("instance_type")
|
|
78
|
+
|
|
79
|
+
limit_price = d.pop("limit_price")
|
|
80
|
+
|
|
81
|
+
instance_quantity = d.pop("instance_quantity")
|
|
82
|
+
|
|
83
|
+
name = d.pop("name")
|
|
84
|
+
|
|
85
|
+
launch_specification = LaunchSpecificationModel.from_dict(
|
|
86
|
+
d.pop("launch_specification")
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
create_bid_request = cls(
|
|
90
|
+
project=project,
|
|
91
|
+
region=region,
|
|
92
|
+
instance_type=instance_type,
|
|
93
|
+
limit_price=limit_price,
|
|
94
|
+
instance_quantity=instance_quantity,
|
|
95
|
+
name=name,
|
|
96
|
+
launch_specification=launch_specification,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
create_bid_request.additional_properties = d
|
|
100
|
+
return create_bid_request
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def additional_keys(self) -> list[str]:
|
|
104
|
+
return list(self.additional_properties.keys())
|
|
105
|
+
|
|
106
|
+
def __getitem__(self, key: str) -> Any:
|
|
107
|
+
return self.additional_properties[key]
|
|
108
|
+
|
|
109
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
110
|
+
self.additional_properties[key] = value
|
|
111
|
+
|
|
112
|
+
def __delitem__(self, key: str) -> None:
|
|
113
|
+
del self.additional_properties[key]
|
|
114
|
+
|
|
115
|
+
def __contains__(self, key: str) -> bool:
|
|
116
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, Self, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..models.create_kubernetes_cluster_request_k8s_version import (
|
|
10
|
+
CreateKubernetesClusterRequestK8SVersion,
|
|
11
|
+
)
|
|
12
|
+
from ..types import UNSET, Unset
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="CreateKubernetesClusterRequest")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class CreateKubernetesClusterRequest:
|
|
19
|
+
"""Attributes:
|
|
20
|
+
name (str):
|
|
21
|
+
project (str):
|
|
22
|
+
region (str):
|
|
23
|
+
ssh_keys (list[str]):
|
|
24
|
+
instance_type (str):
|
|
25
|
+
k8s_version (CreateKubernetesClusterRequestK8SVersion | Unset): Default:
|
|
26
|
+
CreateKubernetesClusterRequestK8SVersion.VALUE_0.
|
|
27
|
+
image_version (None | str | Unset):
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
name: str
|
|
31
|
+
project: str
|
|
32
|
+
region: str
|
|
33
|
+
ssh_keys: list[str]
|
|
34
|
+
instance_type: str
|
|
35
|
+
k8s_version: CreateKubernetesClusterRequestK8SVersion | Unset = (
|
|
36
|
+
CreateKubernetesClusterRequestK8SVersion.VALUE_0
|
|
37
|
+
)
|
|
38
|
+
image_version: None | str | Unset = UNSET
|
|
39
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
40
|
+
|
|
41
|
+
def to_dict(self) -> dict[str, Any]:
|
|
42
|
+
name = self.name
|
|
43
|
+
|
|
44
|
+
project = self.project
|
|
45
|
+
|
|
46
|
+
region = self.region
|
|
47
|
+
|
|
48
|
+
ssh_keys = self.ssh_keys
|
|
49
|
+
|
|
50
|
+
instance_type = self.instance_type
|
|
51
|
+
|
|
52
|
+
k8s_version: str | Unset = UNSET
|
|
53
|
+
if not isinstance(self.k8s_version, Unset):
|
|
54
|
+
k8s_version = self.k8s_version.value
|
|
55
|
+
|
|
56
|
+
image_version: None | str | Unset
|
|
57
|
+
if isinstance(self.image_version, Unset):
|
|
58
|
+
image_version = UNSET
|
|
59
|
+
else:
|
|
60
|
+
image_version = self.image_version
|
|
61
|
+
|
|
62
|
+
field_dict: dict[str, Any] = {}
|
|
63
|
+
field_dict.update(self.additional_properties)
|
|
64
|
+
field_dict.update(
|
|
65
|
+
{
|
|
66
|
+
"name": name,
|
|
67
|
+
"project": project,
|
|
68
|
+
"region": region,
|
|
69
|
+
"ssh_keys": ssh_keys,
|
|
70
|
+
"instance_type": instance_type,
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
if k8s_version is not UNSET:
|
|
74
|
+
field_dict["k8s_version"] = k8s_version
|
|
75
|
+
if image_version is not UNSET:
|
|
76
|
+
field_dict["image_version"] = image_version
|
|
77
|
+
|
|
78
|
+
return field_dict
|
|
79
|
+
|
|
80
|
+
@classmethod
|
|
81
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
82
|
+
d = dict(src_dict)
|
|
83
|
+
name = d.pop("name")
|
|
84
|
+
|
|
85
|
+
project = d.pop("project")
|
|
86
|
+
|
|
87
|
+
region = d.pop("region")
|
|
88
|
+
|
|
89
|
+
ssh_keys = cast(list[str], d.pop("ssh_keys"))
|
|
90
|
+
|
|
91
|
+
instance_type = d.pop("instance_type")
|
|
92
|
+
|
|
93
|
+
_k8s_version = d.pop("k8s_version", UNSET)
|
|
94
|
+
k8s_version: CreateKubernetesClusterRequestK8SVersion | Unset
|
|
95
|
+
if isinstance(_k8s_version, Unset):
|
|
96
|
+
k8s_version = UNSET
|
|
97
|
+
else:
|
|
98
|
+
k8s_version = CreateKubernetesClusterRequestK8SVersion(_k8s_version)
|
|
99
|
+
|
|
100
|
+
def _parse_image_version(data: object) -> None | str | Unset:
|
|
101
|
+
if data is None:
|
|
102
|
+
return data
|
|
103
|
+
if isinstance(data, Unset):
|
|
104
|
+
return data
|
|
105
|
+
return cast(None | str | Unset, data)
|
|
106
|
+
|
|
107
|
+
image_version = _parse_image_version(d.pop("image_version", UNSET))
|
|
108
|
+
|
|
109
|
+
create_kubernetes_cluster_request = cls(
|
|
110
|
+
name=name,
|
|
111
|
+
project=project,
|
|
112
|
+
region=region,
|
|
113
|
+
ssh_keys=ssh_keys,
|
|
114
|
+
instance_type=instance_type,
|
|
115
|
+
k8s_version=k8s_version,
|
|
116
|
+
image_version=image_version,
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
create_kubernetes_cluster_request.additional_properties = d
|
|
120
|
+
return create_kubernetes_cluster_request
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def additional_keys(self) -> list[str]:
|
|
124
|
+
return list(self.additional_properties.keys())
|
|
125
|
+
|
|
126
|
+
def __getitem__(self, key: str) -> Any:
|
|
127
|
+
return self.additional_properties[key]
|
|
128
|
+
|
|
129
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
130
|
+
self.additional_properties[key] = value
|
|
131
|
+
|
|
132
|
+
def __delitem__(self, key: str) -> None:
|
|
133
|
+
del self.additional_properties[key]
|
|
134
|
+
|
|
135
|
+
def __contains__(self, key: str) -> bool:
|
|
136
|
+
return key in self.additional_properties
|