modal 1.0.3.dev10__py3-none-any.whl → 1.2.3.dev7__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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/__init__.py +0 -2
- modal/__main__.py +3 -4
- modal/_billing.py +80 -0
- modal/_clustered_functions.py +7 -3
- modal/_clustered_functions.pyi +15 -3
- modal/_container_entrypoint.py +51 -69
- modal/_functions.py +508 -240
- modal/_grpc_client.py +171 -0
- modal/_load_context.py +105 -0
- modal/_object.py +81 -21
- modal/_output.py +58 -45
- modal/_partial_function.py +48 -73
- modal/_pty.py +7 -3
- modal/_resolver.py +26 -46
- modal/_runtime/asgi.py +4 -3
- modal/_runtime/container_io_manager.py +358 -220
- modal/_runtime/container_io_manager.pyi +296 -101
- modal/_runtime/execution_context.py +18 -2
- modal/_runtime/execution_context.pyi +64 -7
- modal/_runtime/gpu_memory_snapshot.py +262 -57
- modal/_runtime/user_code_imports.py +28 -58
- modal/_serialization.py +90 -6
- modal/_traceback.py +42 -1
- modal/_tunnel.pyi +380 -12
- modal/_utils/async_utils.py +84 -29
- modal/_utils/auth_token_manager.py +111 -0
- modal/_utils/blob_utils.py +181 -58
- modal/_utils/deprecation.py +19 -0
- modal/_utils/function_utils.py +91 -47
- modal/_utils/grpc_utils.py +89 -66
- modal/_utils/mount_utils.py +26 -1
- modal/_utils/name_utils.py +17 -3
- modal/_utils/task_command_router_client.py +536 -0
- modal/_utils/time_utils.py +34 -6
- modal/app.py +256 -88
- modal/app.pyi +909 -92
- modal/billing.py +5 -0
- modal/builder/2025.06.txt +18 -0
- modal/builder/PREVIEW.txt +18 -0
- modal/builder/base-images.json +58 -0
- modal/cli/_download.py +19 -3
- modal/cli/_traceback.py +3 -2
- modal/cli/app.py +4 -4
- modal/cli/cluster.py +15 -7
- modal/cli/config.py +5 -3
- modal/cli/container.py +7 -6
- modal/cli/dict.py +22 -16
- modal/cli/entry_point.py +12 -5
- modal/cli/environment.py +5 -4
- modal/cli/import_refs.py +3 -3
- modal/cli/launch.py +102 -5
- modal/cli/network_file_system.py +11 -12
- modal/cli/profile.py +3 -2
- modal/cli/programs/launch_instance_ssh.py +94 -0
- modal/cli/programs/run_jupyter.py +1 -1
- modal/cli/programs/run_marimo.py +95 -0
- modal/cli/programs/vscode.py +1 -1
- modal/cli/queues.py +57 -26
- modal/cli/run.py +91 -23
- modal/cli/secret.py +48 -22
- modal/cli/token.py +7 -8
- modal/cli/utils.py +4 -7
- modal/cli/volume.py +31 -25
- modal/client.py +15 -85
- modal/client.pyi +183 -62
- modal/cloud_bucket_mount.py +5 -3
- modal/cloud_bucket_mount.pyi +197 -5
- modal/cls.py +200 -126
- modal/cls.pyi +446 -68
- modal/config.py +29 -11
- modal/container_process.py +319 -19
- modal/container_process.pyi +190 -20
- modal/dict.py +290 -71
- modal/dict.pyi +835 -83
- modal/environments.py +15 -27
- modal/environments.pyi +46 -24
- modal/exception.py +14 -2
- modal/experimental/__init__.py +194 -40
- modal/experimental/flash.py +618 -0
- modal/experimental/flash.pyi +380 -0
- modal/experimental/ipython.py +11 -7
- modal/file_io.py +29 -36
- modal/file_io.pyi +251 -53
- modal/file_pattern_matcher.py +56 -16
- modal/functions.pyi +673 -92
- modal/gpu.py +1 -1
- modal/image.py +528 -176
- modal/image.pyi +1572 -145
- modal/io_streams.py +458 -128
- modal/io_streams.pyi +433 -52
- modal/mount.py +216 -151
- modal/mount.pyi +225 -78
- modal/network_file_system.py +45 -62
- modal/network_file_system.pyi +277 -56
- modal/object.pyi +93 -17
- modal/parallel_map.py +942 -129
- modal/parallel_map.pyi +294 -15
- modal/partial_function.py +0 -2
- modal/partial_function.pyi +234 -19
- modal/proxy.py +17 -8
- modal/proxy.pyi +36 -3
- modal/queue.py +270 -65
- modal/queue.pyi +817 -57
- modal/runner.py +115 -101
- modal/runner.pyi +205 -49
- modal/sandbox.py +512 -136
- modal/sandbox.pyi +845 -111
- modal/schedule.py +1 -1
- modal/secret.py +300 -70
- modal/secret.pyi +589 -34
- modal/serving.py +7 -11
- modal/serving.pyi +7 -8
- modal/snapshot.py +11 -8
- modal/snapshot.pyi +25 -4
- modal/token_flow.py +4 -4
- modal/token_flow.pyi +28 -8
- modal/volume.py +416 -158
- modal/volume.pyi +1117 -121
- {modal-1.0.3.dev10.dist-info → modal-1.2.3.dev7.dist-info}/METADATA +10 -9
- modal-1.2.3.dev7.dist-info/RECORD +195 -0
- modal_docs/mdmd/mdmd.py +17 -4
- modal_proto/api.proto +534 -79
- modal_proto/api_grpc.py +337 -1
- modal_proto/api_pb2.py +1522 -968
- modal_proto/api_pb2.pyi +1619 -134
- modal_proto/api_pb2_grpc.py +699 -4
- modal_proto/api_pb2_grpc.pyi +226 -14
- modal_proto/modal_api_grpc.py +175 -154
- modal_proto/sandbox_router.proto +145 -0
- modal_proto/sandbox_router_grpc.py +105 -0
- modal_proto/sandbox_router_pb2.py +149 -0
- modal_proto/sandbox_router_pb2.pyi +333 -0
- modal_proto/sandbox_router_pb2_grpc.py +203 -0
- modal_proto/sandbox_router_pb2_grpc.pyi +75 -0
- modal_proto/task_command_router.proto +144 -0
- modal_proto/task_command_router_grpc.py +105 -0
- modal_proto/task_command_router_pb2.py +149 -0
- modal_proto/task_command_router_pb2.pyi +333 -0
- modal_proto/task_command_router_pb2_grpc.py +203 -0
- modal_proto/task_command_router_pb2_grpc.pyi +75 -0
- modal_version/__init__.py +1 -1
- modal/requirements/PREVIEW.txt +0 -16
- modal/requirements/base-images.json +0 -26
- modal-1.0.3.dev10.dist-info/RECORD +0 -179
- modal_proto/modal_options_grpc.py +0 -3
- modal_proto/options.proto +0 -19
- modal_proto/options_grpc.py +0 -3
- modal_proto/options_pb2.py +0 -35
- modal_proto/options_pb2.pyi +0 -20
- modal_proto/options_pb2_grpc.py +0 -4
- modal_proto/options_pb2_grpc.pyi +0 -7
- /modal/{requirements → builder}/2023.12.312.txt +0 -0
- /modal/{requirements → builder}/2023.12.txt +0 -0
- /modal/{requirements → builder}/2024.04.txt +0 -0
- /modal/{requirements → builder}/2024.10.txt +0 -0
- /modal/{requirements → builder}/README.md +0 -0
- {modal-1.0.3.dev10.dist-info → modal-1.2.3.dev7.dist-info}/WHEEL +0 -0
- {modal-1.0.3.dev10.dist-info → modal-1.2.3.dev7.dist-info}/entry_points.txt +0 -0
- {modal-1.0.3.dev10.dist-info → modal-1.2.3.dev7.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.3.dev10.dist-info → modal-1.2.3.dev7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: modal_proto/task_command_router.proto
|
|
4
|
+
"""Generated protocol buffer code."""
|
|
5
|
+
from google.protobuf.internal import enum_type_wrapper
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import message as _message
|
|
9
|
+
from google.protobuf import reflection as _reflection
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
# @@protoc_insertion_point(imports)
|
|
12
|
+
|
|
13
|
+
_sym_db = _symbol_database.Default()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from modal_proto import api_pb2 as modal__proto_dot_api__pb2
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x15modal_proto/api.proto\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x92\x03\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xf0\x04\n\x11TaskCommandRouter\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponseB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
|
|
20
|
+
|
|
21
|
+
_TASKEXECSTDERRCONFIG = DESCRIPTOR.enum_types_by_name['TaskExecStderrConfig']
|
|
22
|
+
TaskExecStderrConfig = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDERRCONFIG)
|
|
23
|
+
_TASKEXECSTDIOFILEDESCRIPTOR = DESCRIPTOR.enum_types_by_name['TaskExecStdioFileDescriptor']
|
|
24
|
+
TaskExecStdioFileDescriptor = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDIOFILEDESCRIPTOR)
|
|
25
|
+
_TASKEXECSTDOUTCONFIG = DESCRIPTOR.enum_types_by_name['TaskExecStdoutConfig']
|
|
26
|
+
TaskExecStdoutConfig = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDOUTCONFIG)
|
|
27
|
+
TASK_EXEC_STDERR_CONFIG_DEVNULL = 0
|
|
28
|
+
TASK_EXEC_STDERR_CONFIG_PIPE = 1
|
|
29
|
+
TASK_EXEC_STDERR_CONFIG_STDOUT = 2
|
|
30
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT = 0
|
|
31
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR = 1
|
|
32
|
+
TASK_EXEC_STDOUT_CONFIG_DEVNULL = 0
|
|
33
|
+
TASK_EXEC_STDOUT_CONFIG_PIPE = 1
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
_TASKEXECPOLLREQUEST = DESCRIPTOR.message_types_by_name['TaskExecPollRequest']
|
|
37
|
+
_TASKEXECPOLLRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecPollResponse']
|
|
38
|
+
_TASKEXECSTARTREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStartRequest']
|
|
39
|
+
_TASKEXECSTARTRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStartResponse']
|
|
40
|
+
_TASKEXECSTDINWRITEREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteRequest']
|
|
41
|
+
_TASKEXECSTDINWRITERESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteResponse']
|
|
42
|
+
_TASKEXECSTDIOREADREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdioReadRequest']
|
|
43
|
+
_TASKEXECSTDIOREADRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdioReadResponse']
|
|
44
|
+
_TASKEXECWAITREQUEST = DESCRIPTOR.message_types_by_name['TaskExecWaitRequest']
|
|
45
|
+
_TASKEXECWAITRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecWaitResponse']
|
|
46
|
+
TaskExecPollRequest = _reflection.GeneratedProtocolMessageType('TaskExecPollRequest', (_message.Message,), {
|
|
47
|
+
'DESCRIPTOR' : _TASKEXECPOLLREQUEST,
|
|
48
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
49
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecPollRequest)
|
|
50
|
+
})
|
|
51
|
+
_sym_db.RegisterMessage(TaskExecPollRequest)
|
|
52
|
+
|
|
53
|
+
TaskExecPollResponse = _reflection.GeneratedProtocolMessageType('TaskExecPollResponse', (_message.Message,), {
|
|
54
|
+
'DESCRIPTOR' : _TASKEXECPOLLRESPONSE,
|
|
55
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
56
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecPollResponse)
|
|
57
|
+
})
|
|
58
|
+
_sym_db.RegisterMessage(TaskExecPollResponse)
|
|
59
|
+
|
|
60
|
+
TaskExecStartRequest = _reflection.GeneratedProtocolMessageType('TaskExecStartRequest', (_message.Message,), {
|
|
61
|
+
'DESCRIPTOR' : _TASKEXECSTARTREQUEST,
|
|
62
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
63
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStartRequest)
|
|
64
|
+
})
|
|
65
|
+
_sym_db.RegisterMessage(TaskExecStartRequest)
|
|
66
|
+
|
|
67
|
+
TaskExecStartResponse = _reflection.GeneratedProtocolMessageType('TaskExecStartResponse', (_message.Message,), {
|
|
68
|
+
'DESCRIPTOR' : _TASKEXECSTARTRESPONSE,
|
|
69
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
70
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStartResponse)
|
|
71
|
+
})
|
|
72
|
+
_sym_db.RegisterMessage(TaskExecStartResponse)
|
|
73
|
+
|
|
74
|
+
TaskExecStdinWriteRequest = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteRequest', (_message.Message,), {
|
|
75
|
+
'DESCRIPTOR' : _TASKEXECSTDINWRITEREQUEST,
|
|
76
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
77
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdinWriteRequest)
|
|
78
|
+
})
|
|
79
|
+
_sym_db.RegisterMessage(TaskExecStdinWriteRequest)
|
|
80
|
+
|
|
81
|
+
TaskExecStdinWriteResponse = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteResponse', (_message.Message,), {
|
|
82
|
+
'DESCRIPTOR' : _TASKEXECSTDINWRITERESPONSE,
|
|
83
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
84
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdinWriteResponse)
|
|
85
|
+
})
|
|
86
|
+
_sym_db.RegisterMessage(TaskExecStdinWriteResponse)
|
|
87
|
+
|
|
88
|
+
TaskExecStdioReadRequest = _reflection.GeneratedProtocolMessageType('TaskExecStdioReadRequest', (_message.Message,), {
|
|
89
|
+
'DESCRIPTOR' : _TASKEXECSTDIOREADREQUEST,
|
|
90
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
91
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdioReadRequest)
|
|
92
|
+
})
|
|
93
|
+
_sym_db.RegisterMessage(TaskExecStdioReadRequest)
|
|
94
|
+
|
|
95
|
+
TaskExecStdioReadResponse = _reflection.GeneratedProtocolMessageType('TaskExecStdioReadResponse', (_message.Message,), {
|
|
96
|
+
'DESCRIPTOR' : _TASKEXECSTDIOREADRESPONSE,
|
|
97
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
98
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdioReadResponse)
|
|
99
|
+
})
|
|
100
|
+
_sym_db.RegisterMessage(TaskExecStdioReadResponse)
|
|
101
|
+
|
|
102
|
+
TaskExecWaitRequest = _reflection.GeneratedProtocolMessageType('TaskExecWaitRequest', (_message.Message,), {
|
|
103
|
+
'DESCRIPTOR' : _TASKEXECWAITREQUEST,
|
|
104
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
105
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecWaitRequest)
|
|
106
|
+
})
|
|
107
|
+
_sym_db.RegisterMessage(TaskExecWaitRequest)
|
|
108
|
+
|
|
109
|
+
TaskExecWaitResponse = _reflection.GeneratedProtocolMessageType('TaskExecWaitResponse', (_message.Message,), {
|
|
110
|
+
'DESCRIPTOR' : _TASKEXECWAITRESPONSE,
|
|
111
|
+
'__module__' : 'modal_proto.task_command_router_pb2'
|
|
112
|
+
# @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecWaitResponse)
|
|
113
|
+
})
|
|
114
|
+
_sym_db.RegisterMessage(TaskExecWaitResponse)
|
|
115
|
+
|
|
116
|
+
_TASKCOMMANDROUTER = DESCRIPTOR.services_by_name['TaskCommandRouter']
|
|
117
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
118
|
+
|
|
119
|
+
DESCRIPTOR._options = None
|
|
120
|
+
DESCRIPTOR._serialized_options = b'Z$github.com/modal-labs/modal/go/proto'
|
|
121
|
+
_TASKEXECSTDERRCONFIG._serialized_start=1121
|
|
122
|
+
_TASKEXECSTDERRCONFIG._serialized_end=1250
|
|
123
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=1252
|
|
124
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=1369
|
|
125
|
+
_TASKEXECSTDOUTCONFIG._serialized_start=1371
|
|
126
|
+
_TASKEXECSTDOUTCONFIG._serialized_end=1464
|
|
127
|
+
_TASKEXECPOLLREQUEST._serialized_start=91
|
|
128
|
+
_TASKEXECPOLLREQUEST._serialized_end=146
|
|
129
|
+
_TASKEXECPOLLRESPONSE._serialized_start=148
|
|
130
|
+
_TASKEXECPOLLRESPONSE._serialized_end=219
|
|
131
|
+
_TASKEXECSTARTREQUEST._serialized_start=222
|
|
132
|
+
_TASKEXECSTARTREQUEST._serialized_end=624
|
|
133
|
+
_TASKEXECSTARTRESPONSE._serialized_start=626
|
|
134
|
+
_TASKEXECSTARTRESPONSE._serialized_end=649
|
|
135
|
+
_TASKEXECSTDINWRITEREQUEST._serialized_start=651
|
|
136
|
+
_TASKEXECSTDINWRITEREQUEST._serialized_end=755
|
|
137
|
+
_TASKEXECSTDINWRITERESPONSE._serialized_start=757
|
|
138
|
+
_TASKEXECSTDINWRITERESPONSE._serialized_end=785
|
|
139
|
+
_TASKEXECSTDIOREADREQUEST._serialized_start=788
|
|
140
|
+
_TASKEXECSTDIOREADREQUEST._serialized_end=945
|
|
141
|
+
_TASKEXECSTDIOREADRESPONSE._serialized_start=947
|
|
142
|
+
_TASKEXECSTDIOREADRESPONSE._serialized_end=988
|
|
143
|
+
_TASKEXECWAITREQUEST._serialized_start=990
|
|
144
|
+
_TASKEXECWAITREQUEST._serialized_end=1045
|
|
145
|
+
_TASKEXECWAITRESPONSE._serialized_start=1047
|
|
146
|
+
_TASKEXECWAITRESPONSE._serialized_end=1118
|
|
147
|
+
_TASKCOMMANDROUTER._serialized_start=1467
|
|
148
|
+
_TASKCOMMANDROUTER._serialized_end=2091
|
|
149
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import collections.abc
|
|
7
|
+
import google.protobuf.descriptor
|
|
8
|
+
import google.protobuf.internal.containers
|
|
9
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
10
|
+
import google.protobuf.message
|
|
11
|
+
import modal_proto.api_pb2
|
|
12
|
+
import sys
|
|
13
|
+
import typing
|
|
14
|
+
|
|
15
|
+
if sys.version_info >= (3, 10):
|
|
16
|
+
import typing as typing_extensions
|
|
17
|
+
else:
|
|
18
|
+
import typing_extensions
|
|
19
|
+
|
|
20
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
21
|
+
|
|
22
|
+
class _TaskExecStderrConfig:
|
|
23
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
24
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
25
|
+
|
|
26
|
+
class _TaskExecStderrConfigEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TaskExecStderrConfig.ValueType], builtins.type): # noqa: F821
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
28
|
+
TASK_EXEC_STDERR_CONFIG_DEVNULL: _TaskExecStderrConfig.ValueType # 0
|
|
29
|
+
"""The output will be discarded."""
|
|
30
|
+
TASK_EXEC_STDERR_CONFIG_PIPE: _TaskExecStderrConfig.ValueType # 1
|
|
31
|
+
"""The output will be streamed to the client."""
|
|
32
|
+
TASK_EXEC_STDERR_CONFIG_STDOUT: _TaskExecStderrConfig.ValueType # 2
|
|
33
|
+
"""A special value that can be used to indicate that the stderr stream should
|
|
34
|
+
be merged with the stdout stream.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
class TaskExecStderrConfig(_TaskExecStderrConfig, metaclass=_TaskExecStderrConfigEnumTypeWrapper): ...
|
|
38
|
+
|
|
39
|
+
TASK_EXEC_STDERR_CONFIG_DEVNULL: TaskExecStderrConfig.ValueType # 0
|
|
40
|
+
"""The output will be discarded."""
|
|
41
|
+
TASK_EXEC_STDERR_CONFIG_PIPE: TaskExecStderrConfig.ValueType # 1
|
|
42
|
+
"""The output will be streamed to the client."""
|
|
43
|
+
TASK_EXEC_STDERR_CONFIG_STDOUT: TaskExecStderrConfig.ValueType # 2
|
|
44
|
+
"""A special value that can be used to indicate that the stderr stream should
|
|
45
|
+
be merged with the stdout stream.
|
|
46
|
+
"""
|
|
47
|
+
global___TaskExecStderrConfig = TaskExecStderrConfig
|
|
48
|
+
|
|
49
|
+
class _TaskExecStdioFileDescriptor:
|
|
50
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
51
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
52
|
+
|
|
53
|
+
class _TaskExecStdioFileDescriptorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TaskExecStdioFileDescriptor.ValueType], builtins.type): # noqa: F821
|
|
54
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
55
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT: _TaskExecStdioFileDescriptor.ValueType # 0
|
|
56
|
+
"""Read from stdout."""
|
|
57
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR: _TaskExecStdioFileDescriptor.ValueType # 1
|
|
58
|
+
"""Read from stderr."""
|
|
59
|
+
|
|
60
|
+
class TaskExecStdioFileDescriptor(_TaskExecStdioFileDescriptor, metaclass=_TaskExecStdioFileDescriptorEnumTypeWrapper): ...
|
|
61
|
+
|
|
62
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT: TaskExecStdioFileDescriptor.ValueType # 0
|
|
63
|
+
"""Read from stdout."""
|
|
64
|
+
TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR: TaskExecStdioFileDescriptor.ValueType # 1
|
|
65
|
+
"""Read from stderr."""
|
|
66
|
+
global___TaskExecStdioFileDescriptor = TaskExecStdioFileDescriptor
|
|
67
|
+
|
|
68
|
+
class _TaskExecStdoutConfig:
|
|
69
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
70
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
71
|
+
|
|
72
|
+
class _TaskExecStdoutConfigEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TaskExecStdoutConfig.ValueType], builtins.type): # noqa: F821
|
|
73
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
74
|
+
TASK_EXEC_STDOUT_CONFIG_DEVNULL: _TaskExecStdoutConfig.ValueType # 0
|
|
75
|
+
"""The output will be discarded."""
|
|
76
|
+
TASK_EXEC_STDOUT_CONFIG_PIPE: _TaskExecStdoutConfig.ValueType # 1
|
|
77
|
+
"""The output will be streamed to the client."""
|
|
78
|
+
|
|
79
|
+
class TaskExecStdoutConfig(_TaskExecStdoutConfig, metaclass=_TaskExecStdoutConfigEnumTypeWrapper): ...
|
|
80
|
+
|
|
81
|
+
TASK_EXEC_STDOUT_CONFIG_DEVNULL: TaskExecStdoutConfig.ValueType # 0
|
|
82
|
+
"""The output will be discarded."""
|
|
83
|
+
TASK_EXEC_STDOUT_CONFIG_PIPE: TaskExecStdoutConfig.ValueType # 1
|
|
84
|
+
"""The output will be streamed to the client."""
|
|
85
|
+
global___TaskExecStdoutConfig = TaskExecStdoutConfig
|
|
86
|
+
|
|
87
|
+
class TaskExecPollRequest(google.protobuf.message.Message):
|
|
88
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
89
|
+
|
|
90
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
91
|
+
EXEC_ID_FIELD_NUMBER: builtins.int
|
|
92
|
+
task_id: builtins.str
|
|
93
|
+
"""The ID of the task running the exec'd command."""
|
|
94
|
+
exec_id: builtins.str
|
|
95
|
+
"""The execution ID of the command to wait on."""
|
|
96
|
+
def __init__(
|
|
97
|
+
self,
|
|
98
|
+
*,
|
|
99
|
+
task_id: builtins.str = ...,
|
|
100
|
+
exec_id: builtins.str = ...,
|
|
101
|
+
) -> None: ...
|
|
102
|
+
def ClearField(self, field_name: typing_extensions.Literal["exec_id", b"exec_id", "task_id", b"task_id"]) -> None: ...
|
|
103
|
+
|
|
104
|
+
global___TaskExecPollRequest = TaskExecPollRequest
|
|
105
|
+
|
|
106
|
+
class TaskExecPollResponse(google.protobuf.message.Message):
|
|
107
|
+
"""The response to a TaskExecPollRequest. If the exec'd command has not
|
|
108
|
+
completed, exit_status will be unset.
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
112
|
+
|
|
113
|
+
CODE_FIELD_NUMBER: builtins.int
|
|
114
|
+
SIGNAL_FIELD_NUMBER: builtins.int
|
|
115
|
+
code: builtins.int
|
|
116
|
+
"""The exit code of the command."""
|
|
117
|
+
signal: builtins.int
|
|
118
|
+
"""The signal that terminated the command."""
|
|
119
|
+
def __init__(
|
|
120
|
+
self,
|
|
121
|
+
*,
|
|
122
|
+
code: builtins.int = ...,
|
|
123
|
+
signal: builtins.int = ...,
|
|
124
|
+
) -> None: ...
|
|
125
|
+
def HasField(self, field_name: typing_extensions.Literal["code", b"code", "exit_status", b"exit_status", "signal", b"signal"]) -> builtins.bool: ...
|
|
126
|
+
def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "exit_status", b"exit_status", "signal", b"signal"]) -> None: ...
|
|
127
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["exit_status", b"exit_status"]) -> typing_extensions.Literal["code", "signal"] | None: ...
|
|
128
|
+
|
|
129
|
+
global___TaskExecPollResponse = TaskExecPollResponse
|
|
130
|
+
|
|
131
|
+
class TaskExecStartRequest(google.protobuf.message.Message):
|
|
132
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
133
|
+
|
|
134
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
135
|
+
EXEC_ID_FIELD_NUMBER: builtins.int
|
|
136
|
+
COMMAND_ARGS_FIELD_NUMBER: builtins.int
|
|
137
|
+
STDOUT_CONFIG_FIELD_NUMBER: builtins.int
|
|
138
|
+
STDERR_CONFIG_FIELD_NUMBER: builtins.int
|
|
139
|
+
TIMEOUT_SECS_FIELD_NUMBER: builtins.int
|
|
140
|
+
WORKDIR_FIELD_NUMBER: builtins.int
|
|
141
|
+
SECRET_IDS_FIELD_NUMBER: builtins.int
|
|
142
|
+
PTY_INFO_FIELD_NUMBER: builtins.int
|
|
143
|
+
RUNTIME_DEBUG_FIELD_NUMBER: builtins.int
|
|
144
|
+
task_id: builtins.str
|
|
145
|
+
"""The ID of the task to execute the command in."""
|
|
146
|
+
exec_id: builtins.str
|
|
147
|
+
"""Execution ID. This ID will be used to identify the execution for other
|
|
148
|
+
requests and ensure exec commands are idempotent.
|
|
149
|
+
"""
|
|
150
|
+
@property
|
|
151
|
+
def command_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
152
|
+
"""Command arguments to execute."""
|
|
153
|
+
stdout_config: global___TaskExecStdoutConfig.ValueType
|
|
154
|
+
"""Configures how the stdout of the command will be handled."""
|
|
155
|
+
stderr_config: global___TaskExecStderrConfig.ValueType
|
|
156
|
+
"""Configures how the stderr of the command will be handled."""
|
|
157
|
+
timeout_secs: builtins.int
|
|
158
|
+
"""Timeout in seconds for the exec'd command to exit. If the command does not
|
|
159
|
+
exit within this duration, the command will be killed. This is NOT the
|
|
160
|
+
timeout for the ExecStartRequest RPC to complete.
|
|
161
|
+
"""
|
|
162
|
+
workdir: builtins.str
|
|
163
|
+
"""Working directory for the command."""
|
|
164
|
+
@property
|
|
165
|
+
def secret_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
166
|
+
"""Secret IDs to mount into the task."""
|
|
167
|
+
@property
|
|
168
|
+
def pty_info(self) -> modal_proto.api_pb2.PTYInfo:
|
|
169
|
+
"""PTY info for the command."""
|
|
170
|
+
runtime_debug: builtins.bool
|
|
171
|
+
"""Enable debugging capabilities on the container runtime. Used only for
|
|
172
|
+
internal debugging.
|
|
173
|
+
"""
|
|
174
|
+
def __init__(
|
|
175
|
+
self,
|
|
176
|
+
*,
|
|
177
|
+
task_id: builtins.str = ...,
|
|
178
|
+
exec_id: builtins.str = ...,
|
|
179
|
+
command_args: collections.abc.Iterable[builtins.str] | None = ...,
|
|
180
|
+
stdout_config: global___TaskExecStdoutConfig.ValueType = ...,
|
|
181
|
+
stderr_config: global___TaskExecStderrConfig.ValueType = ...,
|
|
182
|
+
timeout_secs: builtins.int | None = ...,
|
|
183
|
+
workdir: builtins.str | None = ...,
|
|
184
|
+
secret_ids: collections.abc.Iterable[builtins.str] | None = ...,
|
|
185
|
+
pty_info: modal_proto.api_pb2.PTYInfo | None = ...,
|
|
186
|
+
runtime_debug: builtins.bool = ...,
|
|
187
|
+
) -> None: ...
|
|
188
|
+
def HasField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_timeout_secs", b"_timeout_secs", "_workdir", b"_workdir", "pty_info", b"pty_info", "timeout_secs", b"timeout_secs", "workdir", b"workdir"]) -> builtins.bool: ...
|
|
189
|
+
def ClearField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_timeout_secs", b"_timeout_secs", "_workdir", b"_workdir", "command_args", b"command_args", "exec_id", b"exec_id", "pty_info", b"pty_info", "runtime_debug", b"runtime_debug", "secret_ids", b"secret_ids", "stderr_config", b"stderr_config", "stdout_config", b"stdout_config", "task_id", b"task_id", "timeout_secs", b"timeout_secs", "workdir", b"workdir"]) -> None: ...
|
|
190
|
+
@typing.overload
|
|
191
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_pty_info", b"_pty_info"]) -> typing_extensions.Literal["pty_info"] | None: ...
|
|
192
|
+
@typing.overload
|
|
193
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout_secs", b"_timeout_secs"]) -> typing_extensions.Literal["timeout_secs"] | None: ...
|
|
194
|
+
@typing.overload
|
|
195
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_workdir", b"_workdir"]) -> typing_extensions.Literal["workdir"] | None: ...
|
|
196
|
+
|
|
197
|
+
global___TaskExecStartRequest = TaskExecStartRequest
|
|
198
|
+
|
|
199
|
+
class TaskExecStartResponse(google.protobuf.message.Message):
|
|
200
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
201
|
+
|
|
202
|
+
def __init__(
|
|
203
|
+
self,
|
|
204
|
+
) -> None: ...
|
|
205
|
+
|
|
206
|
+
global___TaskExecStartResponse = TaskExecStartResponse
|
|
207
|
+
|
|
208
|
+
class TaskExecStdinWriteRequest(google.protobuf.message.Message):
|
|
209
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
210
|
+
|
|
211
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
212
|
+
EXEC_ID_FIELD_NUMBER: builtins.int
|
|
213
|
+
OFFSET_FIELD_NUMBER: builtins.int
|
|
214
|
+
DATA_FIELD_NUMBER: builtins.int
|
|
215
|
+
EOF_FIELD_NUMBER: builtins.int
|
|
216
|
+
task_id: builtins.str
|
|
217
|
+
"""The ID of the task running the exec'd command."""
|
|
218
|
+
exec_id: builtins.str
|
|
219
|
+
"""The execution ID of the command to write to."""
|
|
220
|
+
offset: builtins.int
|
|
221
|
+
"""The offset to start writing to. This is used to resume writing from the
|
|
222
|
+
last write position if the connection is closed and reopened.
|
|
223
|
+
"""
|
|
224
|
+
data: builtins.bytes
|
|
225
|
+
eof: builtins.bool
|
|
226
|
+
"""If true, close the stdin stream after writing any provided data.
|
|
227
|
+
This signals EOF to the exec'd process.
|
|
228
|
+
"""
|
|
229
|
+
def __init__(
|
|
230
|
+
self,
|
|
231
|
+
*,
|
|
232
|
+
task_id: builtins.str = ...,
|
|
233
|
+
exec_id: builtins.str = ...,
|
|
234
|
+
offset: builtins.int = ...,
|
|
235
|
+
data: builtins.bytes = ...,
|
|
236
|
+
eof: builtins.bool = ...,
|
|
237
|
+
) -> None: ...
|
|
238
|
+
def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "eof", b"eof", "exec_id", b"exec_id", "offset", b"offset", "task_id", b"task_id"]) -> None: ...
|
|
239
|
+
|
|
240
|
+
global___TaskExecStdinWriteRequest = TaskExecStdinWriteRequest
|
|
241
|
+
|
|
242
|
+
class TaskExecStdinWriteResponse(google.protobuf.message.Message):
|
|
243
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
244
|
+
|
|
245
|
+
def __init__(
|
|
246
|
+
self,
|
|
247
|
+
) -> None: ...
|
|
248
|
+
|
|
249
|
+
global___TaskExecStdinWriteResponse = TaskExecStdinWriteResponse
|
|
250
|
+
|
|
251
|
+
class TaskExecStdioReadRequest(google.protobuf.message.Message):
|
|
252
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
253
|
+
|
|
254
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
255
|
+
EXEC_ID_FIELD_NUMBER: builtins.int
|
|
256
|
+
OFFSET_FIELD_NUMBER: builtins.int
|
|
257
|
+
FILE_DESCRIPTOR_FIELD_NUMBER: builtins.int
|
|
258
|
+
task_id: builtins.str
|
|
259
|
+
"""The ID of the task running the exec'd command."""
|
|
260
|
+
exec_id: builtins.str
|
|
261
|
+
"""The execution ID of the command to read from."""
|
|
262
|
+
offset: builtins.int
|
|
263
|
+
"""The offset to start reading from. This is used to resume reading from the
|
|
264
|
+
last read position if the connection is closed and reopened.
|
|
265
|
+
"""
|
|
266
|
+
file_descriptor: global___TaskExecStdioFileDescriptor.ValueType
|
|
267
|
+
"""Which file descriptor to read from."""
|
|
268
|
+
def __init__(
|
|
269
|
+
self,
|
|
270
|
+
*,
|
|
271
|
+
task_id: builtins.str = ...,
|
|
272
|
+
exec_id: builtins.str = ...,
|
|
273
|
+
offset: builtins.int = ...,
|
|
274
|
+
file_descriptor: global___TaskExecStdioFileDescriptor.ValueType = ...,
|
|
275
|
+
) -> None: ...
|
|
276
|
+
def ClearField(self, field_name: typing_extensions.Literal["exec_id", b"exec_id", "file_descriptor", b"file_descriptor", "offset", b"offset", "task_id", b"task_id"]) -> None: ...
|
|
277
|
+
|
|
278
|
+
global___TaskExecStdioReadRequest = TaskExecStdioReadRequest
|
|
279
|
+
|
|
280
|
+
class TaskExecStdioReadResponse(google.protobuf.message.Message):
|
|
281
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
282
|
+
|
|
283
|
+
DATA_FIELD_NUMBER: builtins.int
|
|
284
|
+
data: builtins.bytes
|
|
285
|
+
"""The data read from the file descriptor."""
|
|
286
|
+
def __init__(
|
|
287
|
+
self,
|
|
288
|
+
*,
|
|
289
|
+
data: builtins.bytes = ...,
|
|
290
|
+
) -> None: ...
|
|
291
|
+
def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ...
|
|
292
|
+
|
|
293
|
+
global___TaskExecStdioReadResponse = TaskExecStdioReadResponse
|
|
294
|
+
|
|
295
|
+
class TaskExecWaitRequest(google.protobuf.message.Message):
|
|
296
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
297
|
+
|
|
298
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
299
|
+
EXEC_ID_FIELD_NUMBER: builtins.int
|
|
300
|
+
task_id: builtins.str
|
|
301
|
+
"""The ID of the task running the exec'd command."""
|
|
302
|
+
exec_id: builtins.str
|
|
303
|
+
"""The execution ID of the command to wait on."""
|
|
304
|
+
def __init__(
|
|
305
|
+
self,
|
|
306
|
+
*,
|
|
307
|
+
task_id: builtins.str = ...,
|
|
308
|
+
exec_id: builtins.str = ...,
|
|
309
|
+
) -> None: ...
|
|
310
|
+
def ClearField(self, field_name: typing_extensions.Literal["exec_id", b"exec_id", "task_id", b"task_id"]) -> None: ...
|
|
311
|
+
|
|
312
|
+
global___TaskExecWaitRequest = TaskExecWaitRequest
|
|
313
|
+
|
|
314
|
+
class TaskExecWaitResponse(google.protobuf.message.Message):
|
|
315
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
316
|
+
|
|
317
|
+
CODE_FIELD_NUMBER: builtins.int
|
|
318
|
+
SIGNAL_FIELD_NUMBER: builtins.int
|
|
319
|
+
code: builtins.int
|
|
320
|
+
"""The exit code of the command."""
|
|
321
|
+
signal: builtins.int
|
|
322
|
+
"""The signal that terminated the command."""
|
|
323
|
+
def __init__(
|
|
324
|
+
self,
|
|
325
|
+
*,
|
|
326
|
+
code: builtins.int = ...,
|
|
327
|
+
signal: builtins.int = ...,
|
|
328
|
+
) -> None: ...
|
|
329
|
+
def HasField(self, field_name: typing_extensions.Literal["code", b"code", "exit_status", b"exit_status", "signal", b"signal"]) -> builtins.bool: ...
|
|
330
|
+
def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "exit_status", b"exit_status", "signal", b"signal"]) -> None: ...
|
|
331
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["exit_status", b"exit_status"]) -> typing_extensions.Literal["code", "signal"] | None: ...
|
|
332
|
+
|
|
333
|
+
global___TaskExecWaitResponse = TaskExecWaitResponse
|