blaxel 0.1.9rc36__py3-none-any.whl → 0.1.10__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.
- blaxel/agents/__init__.py +52 -15
- blaxel/authentication/__init__.py +11 -2
- blaxel/client/api/compute/create_sandbox_preview.py +179 -0
- blaxel/client/api/compute/create_sandbox_preview_token.py +192 -0
- blaxel/client/api/compute/delete_sandbox_preview.py +167 -0
- blaxel/client/api/compute/delete_sandbox_preview_token.py +180 -0
- blaxel/client/api/compute/get_sandbox_preview.py +167 -0
- blaxel/client/api/compute/list_sandbox_preview_tokens.py +172 -0
- blaxel/client/api/compute/list_sandbox_previews.py +159 -0
- blaxel/client/api/compute/update_sandbox_preview.py +192 -0
- blaxel/client/api/integrations/get_integration.py +64 -7
- blaxel/client/api/workspaces/check_workspace_availability.py +165 -0
- blaxel/client/models/__init__.py +32 -2
- blaxel/client/models/check_workspace_availability_body.py +60 -0
- blaxel/client/models/delete_sandbox_preview_token_response_200.py +60 -0
- blaxel/client/models/integration.py +197 -0
- blaxel/client/models/integration_additional_infos.py +45 -0
- blaxel/client/models/integration_endpoint.py +143 -0
- blaxel/client/models/integration_endpoint_token.py +79 -0
- blaxel/client/models/integration_endpoints.py +61 -0
- blaxel/client/models/integration_headers.py +45 -0
- blaxel/client/models/integration_organization.py +88 -0
- blaxel/client/models/integration_query_params.py +45 -0
- blaxel/client/models/metrics.py +9 -0
- blaxel/client/models/preview.py +96 -0
- blaxel/client/models/preview_metadata.py +133 -0
- blaxel/client/models/preview_spec.py +79 -0
- blaxel/client/models/preview_token.py +96 -0
- blaxel/client/models/preview_token_metadata.py +97 -0
- blaxel/client/models/preview_token_spec.py +88 -0
- blaxel/common/autoload.py +0 -2
- blaxel/common/internal.py +75 -0
- blaxel/common/settings.py +6 -1
- blaxel/mcp/server.py +2 -1
- blaxel/sandbox/base.py +68 -0
- blaxel/sandbox/client/__init__.py +8 -0
- blaxel/sandbox/client/api/__init__.py +1 -0
- blaxel/sandbox/client/api/filesystem/__init__.py +0 -0
- blaxel/sandbox/client/api/filesystem/delete_filesystem_path.py +184 -0
- blaxel/sandbox/client/api/filesystem/get_filesystem_path.py +184 -0
- blaxel/sandbox/client/api/filesystem/put_filesystem_path.py +189 -0
- blaxel/sandbox/client/api/network/__init__.py +0 -0
- blaxel/sandbox/client/api/network/delete_network_process_pid_monitor.py +169 -0
- blaxel/sandbox/client/api/network/get_network_process_pid_ports.py +169 -0
- blaxel/sandbox/client/api/network/post_network_process_pid_monitor.py +195 -0
- blaxel/sandbox/client/api/process/__init__.py +0 -0
- blaxel/sandbox/client/api/process/delete_process_identifier.py +163 -0
- blaxel/sandbox/client/api/process/delete_process_identifier_kill.py +189 -0
- blaxel/sandbox/client/api/process/get_process.py +135 -0
- blaxel/sandbox/client/api/process/get_process_identifier.py +159 -0
- blaxel/sandbox/client/api/process/get_process_identifier_logs.py +188 -0
- blaxel/sandbox/client/api/process/get_process_identifier_logs_stream.py +190 -0
- blaxel/sandbox/client/api/process/post_process.py +176 -0
- blaxel/sandbox/client/client.py +162 -0
- blaxel/sandbox/client/errors.py +16 -0
- blaxel/sandbox/client/models/__init__.py +41 -0
- blaxel/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +45 -0
- blaxel/sandbox/client/models/directory.py +112 -0
- blaxel/sandbox/client/models/error_response.py +60 -0
- blaxel/sandbox/client/models/file.py +105 -0
- blaxel/sandbox/client/models/file_request.py +78 -0
- blaxel/sandbox/client/models/file_with_content.py +114 -0
- blaxel/sandbox/client/models/get_network_process_pid_ports_response_200.py +45 -0
- blaxel/sandbox/client/models/get_process_identifier_logs_response_200.py +45 -0
- blaxel/sandbox/client/models/get_process_identifier_logs_stream_response_200.py +45 -0
- blaxel/sandbox/client/models/port_monitor_request.py +60 -0
- blaxel/sandbox/client/models/post_network_process_pid_monitor_response_200.py +45 -0
- blaxel/sandbox/client/models/process_kill_request.py +60 -0
- blaxel/sandbox/client/models/process_request.py +118 -0
- blaxel/sandbox/client/models/process_response.py +123 -0
- blaxel/sandbox/client/models/subdirectory.py +60 -0
- blaxel/sandbox/client/models/success_response.py +69 -0
- blaxel/sandbox/client/py.typed +1 -0
- blaxel/sandbox/client/types.py +46 -0
- blaxel/sandbox/filesystem.py +104 -0
- blaxel/sandbox/process.py +57 -0
- blaxel/sandbox/sandbox.py +92 -0
- blaxel/tools/__init__.py +62 -21
- {blaxel-0.1.9rc36.dist-info → blaxel-0.1.10.dist-info}/METADATA +1 -1
- {blaxel-0.1.9rc36.dist-info → blaxel-0.1.10.dist-info}/RECORD +82 -14
- blaxel/client/models/sandboxes.py +0 -129
- {blaxel-0.1.9rc36.dist-info → blaxel-0.1.10.dist-info}/WHEEL +0 -0
- {blaxel-0.1.9rc36.dist-info → blaxel-0.1.10.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,114 @@
|
|
1
|
+
from typing import Any, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
T = TypeVar("T", bound="FileWithContent")
|
9
|
+
|
10
|
+
|
11
|
+
@_attrs_define
|
12
|
+
class FileWithContent:
|
13
|
+
"""
|
14
|
+
Attributes:
|
15
|
+
content (Union[Unset, str]):
|
16
|
+
group (Union[Unset, str]):
|
17
|
+
last_modified (Union[Unset, str]):
|
18
|
+
owner (Union[Unset, str]):
|
19
|
+
path (Union[Unset, str]):
|
20
|
+
permissions (Union[Unset, str]):
|
21
|
+
size (Union[Unset, int]):
|
22
|
+
"""
|
23
|
+
|
24
|
+
content: Union[Unset, str] = UNSET
|
25
|
+
group: Union[Unset, str] = UNSET
|
26
|
+
last_modified: Union[Unset, str] = UNSET
|
27
|
+
owner: Union[Unset, str] = UNSET
|
28
|
+
path: Union[Unset, str] = UNSET
|
29
|
+
permissions: Union[Unset, str] = UNSET
|
30
|
+
size: Union[Unset, int] = UNSET
|
31
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
32
|
+
|
33
|
+
def to_dict(self) -> dict[str, Any]:
|
34
|
+
content = self.content
|
35
|
+
|
36
|
+
group = self.group
|
37
|
+
|
38
|
+
last_modified = self.last_modified
|
39
|
+
|
40
|
+
owner = self.owner
|
41
|
+
|
42
|
+
path = self.path
|
43
|
+
|
44
|
+
permissions = self.permissions
|
45
|
+
|
46
|
+
size = self.size
|
47
|
+
|
48
|
+
field_dict: dict[str, Any] = {}
|
49
|
+
field_dict.update(self.additional_properties)
|
50
|
+
field_dict.update({})
|
51
|
+
if content is not UNSET:
|
52
|
+
field_dict["content"] = content
|
53
|
+
if group is not UNSET:
|
54
|
+
field_dict["group"] = group
|
55
|
+
if last_modified is not UNSET:
|
56
|
+
field_dict["lastModified"] = last_modified
|
57
|
+
if owner is not UNSET:
|
58
|
+
field_dict["owner"] = owner
|
59
|
+
if path is not UNSET:
|
60
|
+
field_dict["path"] = path
|
61
|
+
if permissions is not UNSET:
|
62
|
+
field_dict["permissions"] = permissions
|
63
|
+
if size is not UNSET:
|
64
|
+
field_dict["size"] = size
|
65
|
+
|
66
|
+
return field_dict
|
67
|
+
|
68
|
+
@classmethod
|
69
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
70
|
+
if not src_dict:
|
71
|
+
return None
|
72
|
+
d = src_dict.copy()
|
73
|
+
content = d.pop("content", UNSET)
|
74
|
+
|
75
|
+
group = d.pop("group", UNSET)
|
76
|
+
|
77
|
+
last_modified = d.pop("lastModified", UNSET)
|
78
|
+
|
79
|
+
owner = d.pop("owner", UNSET)
|
80
|
+
|
81
|
+
path = d.pop("path", UNSET)
|
82
|
+
|
83
|
+
permissions = d.pop("permissions", UNSET)
|
84
|
+
|
85
|
+
size = d.pop("size", UNSET)
|
86
|
+
|
87
|
+
file_with_content = cls(
|
88
|
+
content=content,
|
89
|
+
group=group,
|
90
|
+
last_modified=last_modified,
|
91
|
+
owner=owner,
|
92
|
+
path=path,
|
93
|
+
permissions=permissions,
|
94
|
+
size=size,
|
95
|
+
)
|
96
|
+
|
97
|
+
file_with_content.additional_properties = d
|
98
|
+
return file_with_content
|
99
|
+
|
100
|
+
@property
|
101
|
+
def additional_keys(self) -> list[str]:
|
102
|
+
return list(self.additional_properties.keys())
|
103
|
+
|
104
|
+
def __getitem__(self, key: str) -> Any:
|
105
|
+
return self.additional_properties[key]
|
106
|
+
|
107
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
108
|
+
self.additional_properties[key] = value
|
109
|
+
|
110
|
+
def __delitem__(self, key: str) -> None:
|
111
|
+
del self.additional_properties[key]
|
112
|
+
|
113
|
+
def __contains__(self, key: str) -> bool:
|
114
|
+
return key in self.additional_properties
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from typing import Any, TypeVar
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
T = TypeVar("T", bound="GetNetworkProcessPidPortsResponse200")
|
7
|
+
|
8
|
+
|
9
|
+
@_attrs_define
|
10
|
+
class GetNetworkProcessPidPortsResponse200:
|
11
|
+
""" """
|
12
|
+
|
13
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
14
|
+
|
15
|
+
def to_dict(self) -> dict[str, Any]:
|
16
|
+
field_dict: dict[str, Any] = {}
|
17
|
+
field_dict.update(self.additional_properties)
|
18
|
+
|
19
|
+
return field_dict
|
20
|
+
|
21
|
+
@classmethod
|
22
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
23
|
+
if not src_dict:
|
24
|
+
return None
|
25
|
+
d = src_dict.copy()
|
26
|
+
get_network_process_pid_ports_response_200 = cls()
|
27
|
+
|
28
|
+
get_network_process_pid_ports_response_200.additional_properties = d
|
29
|
+
return get_network_process_pid_ports_response_200
|
30
|
+
|
31
|
+
@property
|
32
|
+
def additional_keys(self) -> list[str]:
|
33
|
+
return list(self.additional_properties.keys())
|
34
|
+
|
35
|
+
def __getitem__(self, key: str) -> Any:
|
36
|
+
return self.additional_properties[key]
|
37
|
+
|
38
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
39
|
+
self.additional_properties[key] = value
|
40
|
+
|
41
|
+
def __delitem__(self, key: str) -> None:
|
42
|
+
del self.additional_properties[key]
|
43
|
+
|
44
|
+
def __contains__(self, key: str) -> bool:
|
45
|
+
return key in self.additional_properties
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from typing import Any, TypeVar
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
T = TypeVar("T", bound="GetProcessIdentifierLogsResponse200")
|
7
|
+
|
8
|
+
|
9
|
+
@_attrs_define
|
10
|
+
class GetProcessIdentifierLogsResponse200:
|
11
|
+
""" """
|
12
|
+
|
13
|
+
additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
|
14
|
+
|
15
|
+
def to_dict(self) -> dict[str, Any]:
|
16
|
+
field_dict: dict[str, Any] = {}
|
17
|
+
field_dict.update(self.additional_properties)
|
18
|
+
|
19
|
+
return field_dict
|
20
|
+
|
21
|
+
@classmethod
|
22
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
23
|
+
if not src_dict:
|
24
|
+
return None
|
25
|
+
d = src_dict.copy()
|
26
|
+
get_process_identifier_logs_response_200 = cls()
|
27
|
+
|
28
|
+
get_process_identifier_logs_response_200.additional_properties = d
|
29
|
+
return get_process_identifier_logs_response_200
|
30
|
+
|
31
|
+
@property
|
32
|
+
def additional_keys(self) -> list[str]:
|
33
|
+
return list(self.additional_properties.keys())
|
34
|
+
|
35
|
+
def __getitem__(self, key: str) -> str:
|
36
|
+
return self.additional_properties[key]
|
37
|
+
|
38
|
+
def __setitem__(self, key: str, value: str) -> None:
|
39
|
+
self.additional_properties[key] = value
|
40
|
+
|
41
|
+
def __delitem__(self, key: str) -> None:
|
42
|
+
del self.additional_properties[key]
|
43
|
+
|
44
|
+
def __contains__(self, key: str) -> bool:
|
45
|
+
return key in self.additional_properties
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from typing import Any, TypeVar
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
T = TypeVar("T", bound="GetProcessIdentifierLogsStreamResponse200")
|
7
|
+
|
8
|
+
|
9
|
+
@_attrs_define
|
10
|
+
class GetProcessIdentifierLogsStreamResponse200:
|
11
|
+
""" """
|
12
|
+
|
13
|
+
additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
|
14
|
+
|
15
|
+
def to_dict(self) -> dict[str, Any]:
|
16
|
+
field_dict: dict[str, Any] = {}
|
17
|
+
field_dict.update(self.additional_properties)
|
18
|
+
|
19
|
+
return field_dict
|
20
|
+
|
21
|
+
@classmethod
|
22
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
23
|
+
if not src_dict:
|
24
|
+
return None
|
25
|
+
d = src_dict.copy()
|
26
|
+
get_process_identifier_logs_stream_response_200 = cls()
|
27
|
+
|
28
|
+
get_process_identifier_logs_stream_response_200.additional_properties = d
|
29
|
+
return get_process_identifier_logs_stream_response_200
|
30
|
+
|
31
|
+
@property
|
32
|
+
def additional_keys(self) -> list[str]:
|
33
|
+
return list(self.additional_properties.keys())
|
34
|
+
|
35
|
+
def __getitem__(self, key: str) -> str:
|
36
|
+
return self.additional_properties[key]
|
37
|
+
|
38
|
+
def __setitem__(self, key: str, value: str) -> None:
|
39
|
+
self.additional_properties[key] = value
|
40
|
+
|
41
|
+
def __delitem__(self, key: str) -> None:
|
42
|
+
del self.additional_properties[key]
|
43
|
+
|
44
|
+
def __contains__(self, key: str) -> bool:
|
45
|
+
return key in self.additional_properties
|
@@ -0,0 +1,60 @@
|
|
1
|
+
from typing import Any, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
T = TypeVar("T", bound="PortMonitorRequest")
|
9
|
+
|
10
|
+
|
11
|
+
@_attrs_define
|
12
|
+
class PortMonitorRequest:
|
13
|
+
"""
|
14
|
+
Attributes:
|
15
|
+
callback (Union[Unset, str]): URL to call when a new port is detected Example: http://localhost:3000/callback.
|
16
|
+
"""
|
17
|
+
|
18
|
+
callback: Union[Unset, str] = UNSET
|
19
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
20
|
+
|
21
|
+
def to_dict(self) -> dict[str, Any]:
|
22
|
+
callback = self.callback
|
23
|
+
|
24
|
+
field_dict: dict[str, Any] = {}
|
25
|
+
field_dict.update(self.additional_properties)
|
26
|
+
field_dict.update({})
|
27
|
+
if callback is not UNSET:
|
28
|
+
field_dict["callback"] = callback
|
29
|
+
|
30
|
+
return field_dict
|
31
|
+
|
32
|
+
@classmethod
|
33
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
34
|
+
if not src_dict:
|
35
|
+
return None
|
36
|
+
d = src_dict.copy()
|
37
|
+
callback = d.pop("callback", UNSET)
|
38
|
+
|
39
|
+
port_monitor_request = cls(
|
40
|
+
callback=callback,
|
41
|
+
)
|
42
|
+
|
43
|
+
port_monitor_request.additional_properties = d
|
44
|
+
return port_monitor_request
|
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,45 @@
|
|
1
|
+
from typing import Any, TypeVar
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
T = TypeVar("T", bound="PostNetworkProcessPidMonitorResponse200")
|
7
|
+
|
8
|
+
|
9
|
+
@_attrs_define
|
10
|
+
class PostNetworkProcessPidMonitorResponse200:
|
11
|
+
""" """
|
12
|
+
|
13
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
14
|
+
|
15
|
+
def to_dict(self) -> dict[str, Any]:
|
16
|
+
field_dict: dict[str, Any] = {}
|
17
|
+
field_dict.update(self.additional_properties)
|
18
|
+
|
19
|
+
return field_dict
|
20
|
+
|
21
|
+
@classmethod
|
22
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
23
|
+
if not src_dict:
|
24
|
+
return None
|
25
|
+
d = src_dict.copy()
|
26
|
+
post_network_process_pid_monitor_response_200 = cls()
|
27
|
+
|
28
|
+
post_network_process_pid_monitor_response_200.additional_properties = d
|
29
|
+
return post_network_process_pid_monitor_response_200
|
30
|
+
|
31
|
+
@property
|
32
|
+
def additional_keys(self) -> list[str]:
|
33
|
+
return list(self.additional_properties.keys())
|
34
|
+
|
35
|
+
def __getitem__(self, key: str) -> Any:
|
36
|
+
return self.additional_properties[key]
|
37
|
+
|
38
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
39
|
+
self.additional_properties[key] = value
|
40
|
+
|
41
|
+
def __delitem__(self, key: str) -> None:
|
42
|
+
del self.additional_properties[key]
|
43
|
+
|
44
|
+
def __contains__(self, key: str) -> bool:
|
45
|
+
return key in self.additional_properties
|
@@ -0,0 +1,60 @@
|
|
1
|
+
from typing import Any, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
T = TypeVar("T", bound="ProcessKillRequest")
|
9
|
+
|
10
|
+
|
11
|
+
@_attrs_define
|
12
|
+
class ProcessKillRequest:
|
13
|
+
"""
|
14
|
+
Attributes:
|
15
|
+
signal (Union[Unset, str]): Example: SIGTERM.
|
16
|
+
"""
|
17
|
+
|
18
|
+
signal: Union[Unset, str] = UNSET
|
19
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
20
|
+
|
21
|
+
def to_dict(self) -> dict[str, Any]:
|
22
|
+
signal = self.signal
|
23
|
+
|
24
|
+
field_dict: dict[str, Any] = {}
|
25
|
+
field_dict.update(self.additional_properties)
|
26
|
+
field_dict.update({})
|
27
|
+
if signal is not UNSET:
|
28
|
+
field_dict["signal"] = signal
|
29
|
+
|
30
|
+
return field_dict
|
31
|
+
|
32
|
+
@classmethod
|
33
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
34
|
+
if not src_dict:
|
35
|
+
return None
|
36
|
+
d = src_dict.copy()
|
37
|
+
signal = d.pop("signal", UNSET)
|
38
|
+
|
39
|
+
process_kill_request = cls(
|
40
|
+
signal=signal,
|
41
|
+
)
|
42
|
+
|
43
|
+
process_kill_request.additional_properties = d
|
44
|
+
return process_kill_request
|
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,118 @@
|
|
1
|
+
from typing import Any, TypeVar, Union, cast
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
T = TypeVar("T", bound="ProcessRequest")
|
9
|
+
|
10
|
+
|
11
|
+
@_attrs_define
|
12
|
+
class ProcessRequest:
|
13
|
+
"""
|
14
|
+
Attributes:
|
15
|
+
command (str): Example: ls -la.
|
16
|
+
name (Union[Unset, str]): Example: my-process.
|
17
|
+
stream_logs (Union[Unset, bool]): Example: True.
|
18
|
+
timeout (Union[Unset, int]): Example: 30.
|
19
|
+
wait_for_completion (Union[Unset, bool]):
|
20
|
+
wait_for_ports (Union[Unset, list[int]]): Example: [3000, 8080].
|
21
|
+
working_dir (Union[Unset, str]): Example: /home/user.
|
22
|
+
"""
|
23
|
+
|
24
|
+
command: str
|
25
|
+
name: Union[Unset, str] = UNSET
|
26
|
+
stream_logs: Union[Unset, bool] = UNSET
|
27
|
+
timeout: Union[Unset, int] = UNSET
|
28
|
+
wait_for_completion: Union[Unset, bool] = UNSET
|
29
|
+
wait_for_ports: Union[Unset, list[int]] = UNSET
|
30
|
+
working_dir: Union[Unset, str] = UNSET
|
31
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
32
|
+
|
33
|
+
def to_dict(self) -> dict[str, Any]:
|
34
|
+
command = self.command
|
35
|
+
|
36
|
+
name = self.name
|
37
|
+
|
38
|
+
stream_logs = self.stream_logs
|
39
|
+
|
40
|
+
timeout = self.timeout
|
41
|
+
|
42
|
+
wait_for_completion = self.wait_for_completion
|
43
|
+
|
44
|
+
wait_for_ports: Union[Unset, list[int]] = UNSET
|
45
|
+
if not isinstance(self.wait_for_ports, Unset):
|
46
|
+
wait_for_ports = self.wait_for_ports
|
47
|
+
|
48
|
+
working_dir = self.working_dir
|
49
|
+
|
50
|
+
field_dict: dict[str, Any] = {}
|
51
|
+
field_dict.update(self.additional_properties)
|
52
|
+
field_dict.update(
|
53
|
+
{
|
54
|
+
"command": command,
|
55
|
+
}
|
56
|
+
)
|
57
|
+
if name is not UNSET:
|
58
|
+
field_dict["name"] = name
|
59
|
+
if stream_logs is not UNSET:
|
60
|
+
field_dict["streamLogs"] = stream_logs
|
61
|
+
if timeout is not UNSET:
|
62
|
+
field_dict["timeout"] = timeout
|
63
|
+
if wait_for_completion is not UNSET:
|
64
|
+
field_dict["waitForCompletion"] = wait_for_completion
|
65
|
+
if wait_for_ports is not UNSET:
|
66
|
+
field_dict["waitForPorts"] = wait_for_ports
|
67
|
+
if working_dir is not UNSET:
|
68
|
+
field_dict["workingDir"] = working_dir
|
69
|
+
|
70
|
+
return field_dict
|
71
|
+
|
72
|
+
@classmethod
|
73
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
74
|
+
if not src_dict:
|
75
|
+
return None
|
76
|
+
d = src_dict.copy()
|
77
|
+
command = d.pop("command")
|
78
|
+
|
79
|
+
name = d.pop("name", UNSET)
|
80
|
+
|
81
|
+
stream_logs = d.pop("streamLogs", UNSET)
|
82
|
+
|
83
|
+
timeout = d.pop("timeout", UNSET)
|
84
|
+
|
85
|
+
wait_for_completion = d.pop("waitForCompletion", UNSET)
|
86
|
+
|
87
|
+
wait_for_ports = cast(list[int], d.pop("waitForPorts", UNSET))
|
88
|
+
|
89
|
+
working_dir = d.pop("workingDir", UNSET)
|
90
|
+
|
91
|
+
process_request = cls(
|
92
|
+
command=command,
|
93
|
+
name=name,
|
94
|
+
stream_logs=stream_logs,
|
95
|
+
timeout=timeout,
|
96
|
+
wait_for_completion=wait_for_completion,
|
97
|
+
wait_for_ports=wait_for_ports,
|
98
|
+
working_dir=working_dir,
|
99
|
+
)
|
100
|
+
|
101
|
+
process_request.additional_properties = d
|
102
|
+
return process_request
|
103
|
+
|
104
|
+
@property
|
105
|
+
def additional_keys(self) -> list[str]:
|
106
|
+
return list(self.additional_properties.keys())
|
107
|
+
|
108
|
+
def __getitem__(self, key: str) -> Any:
|
109
|
+
return self.additional_properties[key]
|
110
|
+
|
111
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
112
|
+
self.additional_properties[key] = value
|
113
|
+
|
114
|
+
def __delitem__(self, key: str) -> None:
|
115
|
+
del self.additional_properties[key]
|
116
|
+
|
117
|
+
def __contains__(self, key: str) -> bool:
|
118
|
+
return key in self.additional_properties
|
@@ -0,0 +1,123 @@
|
|
1
|
+
from typing import Any, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
T = TypeVar("T", bound="ProcessResponse")
|
9
|
+
|
10
|
+
|
11
|
+
@_attrs_define
|
12
|
+
class ProcessResponse:
|
13
|
+
"""
|
14
|
+
Attributes:
|
15
|
+
command (Union[Unset, str]): Example: ls -la.
|
16
|
+
completed_at (Union[Unset, str]): Example: Wed, 01 Jan 2023 12:01:00 GMT.
|
17
|
+
exit_code (Union[Unset, int]):
|
18
|
+
name (Union[Unset, str]): Example: my-process.
|
19
|
+
pid (Union[Unset, str]): Example: 1234.
|
20
|
+
started_at (Union[Unset, str]): Example: Wed, 01 Jan 2023 12:00:00 GMT.
|
21
|
+
status (Union[Unset, str]): Example: running.
|
22
|
+
working_dir (Union[Unset, str]): Example: /home/user.
|
23
|
+
"""
|
24
|
+
|
25
|
+
command: Union[Unset, str] = UNSET
|
26
|
+
completed_at: Union[Unset, str] = UNSET
|
27
|
+
exit_code: Union[Unset, int] = UNSET
|
28
|
+
name: Union[Unset, str] = UNSET
|
29
|
+
pid: Union[Unset, str] = UNSET
|
30
|
+
started_at: Union[Unset, str] = UNSET
|
31
|
+
status: Union[Unset, str] = UNSET
|
32
|
+
working_dir: Union[Unset, str] = UNSET
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
34
|
+
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
36
|
+
command = self.command
|
37
|
+
|
38
|
+
completed_at = self.completed_at
|
39
|
+
|
40
|
+
exit_code = self.exit_code
|
41
|
+
|
42
|
+
name = self.name
|
43
|
+
|
44
|
+
pid = self.pid
|
45
|
+
|
46
|
+
started_at = self.started_at
|
47
|
+
|
48
|
+
status = self.status
|
49
|
+
|
50
|
+
working_dir = self.working_dir
|
51
|
+
|
52
|
+
field_dict: dict[str, Any] = {}
|
53
|
+
field_dict.update(self.additional_properties)
|
54
|
+
field_dict.update({})
|
55
|
+
if command is not UNSET:
|
56
|
+
field_dict["command"] = command
|
57
|
+
if completed_at is not UNSET:
|
58
|
+
field_dict["completedAt"] = completed_at
|
59
|
+
if exit_code is not UNSET:
|
60
|
+
field_dict["exitCode"] = exit_code
|
61
|
+
if name is not UNSET:
|
62
|
+
field_dict["name"] = name
|
63
|
+
if pid is not UNSET:
|
64
|
+
field_dict["pid"] = pid
|
65
|
+
if started_at is not UNSET:
|
66
|
+
field_dict["startedAt"] = started_at
|
67
|
+
if status is not UNSET:
|
68
|
+
field_dict["status"] = status
|
69
|
+
if working_dir is not UNSET:
|
70
|
+
field_dict["workingDir"] = working_dir
|
71
|
+
|
72
|
+
return field_dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
76
|
+
if not src_dict:
|
77
|
+
return None
|
78
|
+
d = src_dict.copy()
|
79
|
+
command = d.pop("command", UNSET)
|
80
|
+
|
81
|
+
completed_at = d.pop("completedAt", UNSET)
|
82
|
+
|
83
|
+
exit_code = d.pop("exitCode", UNSET)
|
84
|
+
|
85
|
+
name = d.pop("name", UNSET)
|
86
|
+
|
87
|
+
pid = d.pop("pid", UNSET)
|
88
|
+
|
89
|
+
started_at = d.pop("startedAt", UNSET)
|
90
|
+
|
91
|
+
status = d.pop("status", UNSET)
|
92
|
+
|
93
|
+
working_dir = d.pop("workingDir", UNSET)
|
94
|
+
|
95
|
+
process_response = cls(
|
96
|
+
command=command,
|
97
|
+
completed_at=completed_at,
|
98
|
+
exit_code=exit_code,
|
99
|
+
name=name,
|
100
|
+
pid=pid,
|
101
|
+
started_at=started_at,
|
102
|
+
status=status,
|
103
|
+
working_dir=working_dir,
|
104
|
+
)
|
105
|
+
|
106
|
+
process_response.additional_properties = d
|
107
|
+
return process_response
|
108
|
+
|
109
|
+
@property
|
110
|
+
def additional_keys(self) -> list[str]:
|
111
|
+
return list(self.additional_properties.keys())
|
112
|
+
|
113
|
+
def __getitem__(self, key: str) -> Any:
|
114
|
+
return self.additional_properties[key]
|
115
|
+
|
116
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
117
|
+
self.additional_properties[key] = value
|
118
|
+
|
119
|
+
def __delitem__(self, key: str) -> None:
|
120
|
+
del self.additional_properties[key]
|
121
|
+
|
122
|
+
def __contains__(self, key: str) -> bool:
|
123
|
+
return key in self.additional_properties
|