modal 1.5.5.dev12__tar.gz → 1.5.5.dev14__tar.gz
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.
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/PKG-INFO +1 -1
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/client.pyi +2 -2
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/experimental/flash.py +23 -4
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/experimental/flash.pyi +12 -6
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/task_command_router_pb2.py +20 -20
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/task_command_router_pb2.pyi +5 -1
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_version/__init__.py +1 -1
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/LICENSE +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/README.md +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/__main__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_billing.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_clustered_functions.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_clustered_functions.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_container_entrypoint.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_environments.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_function_variants.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_functions.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_grpc_client.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_image.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_ipython.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_load_context.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_location.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_logs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_logs_manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_logs_manager.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_object.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_output/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_output/manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_output/pty.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_output/rich.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_output/status.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_partial_function.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_resolver.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_resources.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/asgi.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/execution_context.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/task_lifecycle_manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/telemetry.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_serialization.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_server.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_supports_logs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_traceback.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_tunnel.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_tunnel.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_type_manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/app_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/async_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/blob_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/browser_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/curl_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/deprecation.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/display_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/docker_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/function_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/git_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/hash_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/http_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/logger.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/mount_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/name_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/package_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/proxy_support.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/sandbox_fs_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/shell_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_utils/time_utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_vendor/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_vendor/tblib.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_vendor/version.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_watcher.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/_workspace.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/app.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/app.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/billing.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/billing.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/2023.12.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/2024.04.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/2024.10.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/2025.06.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/README.md +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/builder/base-images.json +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/call_graph.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/_download.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/_help.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/_traceback.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/app.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/billing.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/bootstrap.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/changelog.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/cluster.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/config.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/container.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/curl.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/dashboard.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/dict.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/endpoint.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/entry_point.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/environment.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/image.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/import_refs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/launch.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/logo.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/network_file_system.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/profile.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/programs/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/programs/vscode.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/queues.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/run.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/secret.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/selector.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/shell.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/skills.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/token.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/utils.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/volume.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cli/workspace.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/client.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cls.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/cls.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/config.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/container_process.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/container_process.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/dict.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/dict.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/environments.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/environments.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/exception.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/experimental/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/experimental/ipython.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/file_io.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/file_io.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/file_pattern_matcher.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/functions.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/functions.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/image.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/image.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/io_streams.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/io_streams.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/mount.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/mount.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/network_file_system.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/network_file_system.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/object.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/object.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/output.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/parallel_map.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/parallel_map.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/partial_function.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/partial_function.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/proxy.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/proxy.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/py.typed +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/queue.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/queue.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/retries.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/runner.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/runner.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/running_app.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/sandbox.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/sandbox.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/sandbox_fs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/sandbox_fs.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/schedule.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/scheduler_placement.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/secret.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/secret.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/server.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/server.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/serving.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/serving.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/skills/modal/SKILL.md +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/snapshot.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/snapshot.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/stream_type.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/token_flow.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/token_flow.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/types.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/volume.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/volume.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/workspace.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal/workspace.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/requires.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal.egg-info/top_level.txt +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/gen_cli_docs_main.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/gen_reference_docs_main.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/mdmd/types.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_docs/reference_intro.md +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/__init__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/api_grpc.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/api_pb2.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/py.typed +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/modal_version/__main__.py +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/pyproject.toml +0 -0
- {modal-1.5.5.dev12 → modal-1.5.5.dev14}/setup.cfg +0 -0
|
@@ -38,7 +38,7 @@ class _Client:
|
|
|
38
38
|
server_url: str,
|
|
39
39
|
client_type: int,
|
|
40
40
|
credentials: typing.Optional[tuple[str, str]],
|
|
41
|
-
version: str = "1.5.5.
|
|
41
|
+
version: str = "1.5.5.dev14",
|
|
42
42
|
):
|
|
43
43
|
"""mdmd:hidden
|
|
44
44
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -209,7 +209,7 @@ class Client:
|
|
|
209
209
|
server_url: str,
|
|
210
210
|
client_type: int,
|
|
211
211
|
credentials: typing.Optional[tuple[str, str]],
|
|
212
|
-
version: str = "1.5.5.
|
|
212
|
+
version: str = "1.5.5.dev14",
|
|
213
213
|
):
|
|
214
214
|
"""mdmd:hidden
|
|
215
215
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -25,6 +25,7 @@ from ..client import _Client
|
|
|
25
25
|
from ..config import logger
|
|
26
26
|
from ..exception import InvalidError
|
|
27
27
|
|
|
28
|
+
_FLASH_UPSTREAM_HEADER = "modal-flash-upstream"
|
|
28
29
|
_MAX_FAILURES = 10
|
|
29
30
|
|
|
30
31
|
|
|
@@ -337,9 +338,14 @@ class _FlashPrometheusAutoscaler:
|
|
|
337
338
|
)
|
|
338
339
|
|
|
339
340
|
self.autoscaler_thread: asyncio.Task | None = None
|
|
341
|
+
self._flash_service_url: str | None = None
|
|
340
342
|
|
|
341
343
|
async def start(self):
|
|
342
344
|
await self.fn.hydrate(client=self.client)
|
|
345
|
+
flash_service_urls = await self.fn._experimental_get_flash_urls()
|
|
346
|
+
if not flash_service_urls:
|
|
347
|
+
raise InvalidError(f"Could not find a Flash service URL for {self.app_name}.{self.cls_name}")
|
|
348
|
+
self._flash_service_url = flash_service_urls[0]
|
|
343
349
|
self.autoscaler_thread = asyncio.create_task(self._run_autoscaler_loop())
|
|
344
350
|
|
|
345
351
|
async def _run_autoscaler_loop(self):
|
|
@@ -496,13 +502,20 @@ class _FlashPrometheusAutoscaler:
|
|
|
496
502
|
return desired_replicas
|
|
497
503
|
|
|
498
504
|
async def _get_scaling_info(self, containers) -> tuple[float, int]:
|
|
499
|
-
"""Get metrics
|
|
505
|
+
"""Get metrics from each container through the Flash service."""
|
|
506
|
+
if self._flash_service_url is None:
|
|
507
|
+
raise RuntimeError("Flash Prometheus autoscaler has not been started")
|
|
508
|
+
|
|
500
509
|
sum_metric = 0
|
|
501
510
|
n_containers_with_metrics = 0
|
|
511
|
+
metrics_url = f"{self._flash_service_url.rstrip('/')}/{self.metrics_endpoint.lstrip('/')}"
|
|
502
512
|
|
|
503
513
|
container_metrics_list = await asyncio.gather(
|
|
504
514
|
*[
|
|
505
|
-
self._get_metrics(
|
|
515
|
+
self._get_metrics(
|
|
516
|
+
metrics_url,
|
|
517
|
+
headers={_FLASH_UPSTREAM_HEADER: f"{container.host}:{container.port}"},
|
|
518
|
+
)
|
|
506
519
|
for container in containers
|
|
507
520
|
]
|
|
508
521
|
)
|
|
@@ -519,14 +532,20 @@ class _FlashPrometheusAutoscaler:
|
|
|
519
532
|
|
|
520
533
|
return sum_metric, n_containers_with_metrics
|
|
521
534
|
|
|
522
|
-
async def _get_metrics(
|
|
535
|
+
async def _get_metrics(
|
|
536
|
+
self, url: str, headers: dict[str, str] | None = None
|
|
537
|
+
) -> dict[str, list[Any]] | None: # technically any should be Sample
|
|
523
538
|
import aiohttp
|
|
524
539
|
from prometheus_client.parser import text_string_to_metric_families
|
|
525
540
|
from prometheus_client.samples import Sample
|
|
526
541
|
|
|
527
542
|
# Fetch the metrics from the endpoint
|
|
528
543
|
try:
|
|
529
|
-
response = await self.http_client.get(
|
|
544
|
+
response = await self.http_client.get(
|
|
545
|
+
url,
|
|
546
|
+
headers=headers,
|
|
547
|
+
timeout=aiohttp.ClientTimeout(total=3),
|
|
548
|
+
)
|
|
530
549
|
response.raise_for_status()
|
|
531
550
|
except asyncio.TimeoutError:
|
|
532
551
|
logger.warning(f"[Modal Flash] Timeout getting metrics from {url}")
|
|
@@ -196,10 +196,12 @@ class _FlashPrometheusAutoscaler:
|
|
|
196
196
|
...
|
|
197
197
|
|
|
198
198
|
async def _get_scaling_info(self, containers) -> tuple[float, int]:
|
|
199
|
-
"""Get metrics
|
|
199
|
+
"""Get metrics from each container through the Flash service."""
|
|
200
200
|
...
|
|
201
201
|
|
|
202
|
-
async def _get_metrics(
|
|
202
|
+
async def _get_metrics(
|
|
203
|
+
self, url: str, headers: typing.Optional[dict[str, str]] = None
|
|
204
|
+
) -> typing.Optional[dict[str, list[typing.Any]]]: ...
|
|
203
205
|
async def _get_all_containers(self): ...
|
|
204
206
|
async def _set_target_slots(self, target_slots: int): ...
|
|
205
207
|
def _make_scaling_decision(
|
|
@@ -287,18 +289,22 @@ class FlashPrometheusAutoscaler:
|
|
|
287
289
|
|
|
288
290
|
class ___get_scaling_info_spec(typing_extensions.Protocol):
|
|
289
291
|
def __call__(self, /, containers) -> tuple[float, int]:
|
|
290
|
-
"""Get metrics
|
|
292
|
+
"""Get metrics from each container through the Flash service."""
|
|
291
293
|
...
|
|
292
294
|
|
|
293
295
|
async def aio(self, /, containers) -> tuple[float, int]:
|
|
294
|
-
"""Get metrics
|
|
296
|
+
"""Get metrics from each container through the Flash service."""
|
|
295
297
|
...
|
|
296
298
|
|
|
297
299
|
_get_scaling_info: ___get_scaling_info_spec
|
|
298
300
|
|
|
299
301
|
class ___get_metrics_spec(typing_extensions.Protocol):
|
|
300
|
-
def __call__(
|
|
301
|
-
|
|
302
|
+
def __call__(
|
|
303
|
+
self, /, url: str, headers: typing.Optional[dict[str, str]] = None
|
|
304
|
+
) -> typing.Optional[dict[str, list[typing.Any]]]: ...
|
|
305
|
+
async def aio(
|
|
306
|
+
self, /, url: str, headers: typing.Optional[dict[str, str]] = None
|
|
307
|
+
) -> typing.Optional[dict[str, list[typing.Any]]]: ...
|
|
302
308
|
|
|
303
309
|
_get_metrics: ___get_metrics_spec
|
|
304
310
|
|
|
@@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
|
|
17
17
|
from modal_proto import api_pb2 as modal__proto_dot_api__pb2
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"C\n\x1fSandboxWaitUntilReadyTcrRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x02\"4\n SandboxWaitUntilReadyTcrResponse\x12\x10\n\x08ready_at\x18\x01 \x01(\x01\"\xbd\x03\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12\x30\n\rvolume_mounts\x18\t \x03(\x0b\x32\x19.modal.client.VolumeMount\x12\x38\n\x0enetwork_access\x18\n \x01(\x0b\x32\x1b.modal.client.NetworkAccessH\x00\x88\x01\x01\x12,\n\x08pty_info\x18\x0b \x01(\x0b\x32\x15.modal.client.PTYInfoH\x01\x88\x01\x01\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x11\n\x0f_network_accessB\x0b\n\t_pty_info\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"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\"\x9b\x04\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\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"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\"\x1d\n\x1bTaskExecStdinWriteStreamEnd\"\xce\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x12\x45\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x36.modal.task_command_router.TaskExecStdinWriteStreamEndH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\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\"\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\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"A\n\x18TaskReloadVolumesRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\"\x1b\n\x19TaskReloadVolumesResponse\"c\n\x1bTaskSetNetworkAccessRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x33\n\x0enetwork_access\x18\x02 \x01(\x0b\x32\x1b.modal.client.NetworkAccess\"\x1e\n\x1cTaskSetNetworkAccessResponse\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"\xc3\x01\n\x1dTaskSnapshotFilesystemRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"2\n\x1eTaskSnapshotFilesystemResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"E\n\x19TaskSnapshotMemoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x17\n\x0fidempotency_key\x18\x02 \x01(\t\"1\n\x1aTaskSnapshotMemoryResponse\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\"<\n\x1bTaskUnmountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c*p\n\x1aSandboxStdioFileDescriptor\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*\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\xba\x16\n\x11TaskCommandRouter\x12\x84\x01\n\x13SandboxStdinWriteV2\x12\x35.modal.task_command_router.SandboxStdinWriteV2Request\x1a\x36.modal.task_command_router.SandboxStdinWriteV2Response\x12\x83\x01\n\x12SandboxStdioReadV2\x12\x34.modal.task_command_router.SandboxStdioReadV2Request\x1a\x35.modal.task_command_router.SandboxStdioReadV2Response0\x01\x12\x90\x01\n\x15SandboxWaitUntilReady\x12:.modal.task_command_router.SandboxWaitUntilReadyTcrRequest\x1a;.modal.task_command_router.SandboxWaitUntilReadyTcrResponse\x12\x84\x01\n\x13TaskContainerCreate\x12\x35.modal.task_command_router.TaskContainerCreateRequest\x1a\x36.modal.task_command_router.TaskContainerCreateResponse\x12{\n\x10TaskContainerGet\x12\x32.modal.task_command_router.TaskContainerGetRequest\x1a\x33.modal.task_command_router.TaskContainerGetResponse\x12~\n\x11TaskContainerList\x12\x33.modal.task_command_router.TaskContainerListRequest\x1a\x34.modal.task_command_router.TaskContainerListResponse\x12\x8d\x01\n\x16TaskContainerTerminate\x12\x38.modal.task_command_router.TaskContainerTerminateRequest\x1a\x39.modal.task_command_router.TaskContainerTerminateResponse\x12~\n\x11TaskContainerWait\x12\x33.modal.task_command_router.TaskContainerWaitRequest\x1a\x34.modal.task_command_router.TaskContainerWaitResponse\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\x84\x01\n\x13TaskExecStdinStatus\x12\x35.modal.task_command_router.TaskExecStdinStatusRequest\x1a\x36.modal.task_command_router.TaskExecStdinStatusResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x95\x01\n\x18TaskExecStdinWriteStream\x12:.modal.task_command_router.TaskExecStdinWriteStreamRequest\x1a;.modal.task_command_router.TaskExecStdinWriteStreamResponse(\x01\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.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12~\n\x11TaskReloadVolumes\x12\x33.modal.task_command_router.TaskReloadVolumesRequest\x1a\x34.modal.task_command_router.TaskReloadVolumesResponse\x12\x87\x01\n\x14TaskSetNetworkAccess\x12\x36.modal.task_command_router.TaskSetNetworkAccessRequest\x1a\x37.modal.task_command_router.TaskSetNetworkAccessResponse\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponse\x12\x8d\x01\n\x16TaskSnapshotFilesystem\x12\x38.modal.task_command_router.TaskSnapshotFilesystemRequest\x1a\x39.modal.task_command_router.TaskSnapshotFilesystemResponse\x12\x81\x01\n\x12TaskSnapshotMemory\x12\x34.modal.task_command_router.TaskSnapshotMemoryRequest\x1a\x35.modal.task_command_router.TaskSnapshotMemoryResponse\x12\x66\n\x14TaskUnmountDirectory\x12\x36.modal.task_command_router.TaskUnmountDirectoryRequest\x1a\x16.google.protobuf.EmptyB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
|
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"C\n\x1fSandboxWaitUntilReadyTcrRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x02\"4\n SandboxWaitUntilReadyTcrResponse\x12\x10\n\x08ready_at\x18\x01 \x01(\x01\"\xbd\x03\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12\x30\n\rvolume_mounts\x18\t \x03(\x0b\x32\x19.modal.client.VolumeMount\x12\x38\n\x0enetwork_access\x18\n \x01(\x0b\x32\x1b.modal.client.NetworkAccessH\x00\x88\x01\x01\x12,\n\x08pty_info\x18\x0b \x01(\x0b\x32\x15.modal.client.PTYInfoH\x01\x88\x01\x01\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x11\n\x0f_network_accessB\x0b\n\t_pty_info\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"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\"\x9b\x04\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\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"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\"\x1d\n\x1bTaskExecStdinWriteStreamEnd\"\xce\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x12\x45\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x36.modal.task_command_router.TaskExecStdinWriteStreamEndH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\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\"\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\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"A\n\x18TaskReloadVolumesRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\"\x1b\n\x19TaskReloadVolumesResponse\"c\n\x1bTaskSetNetworkAccessRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x33\n\x0enetwork_access\x18\x02 \x01(\x0b\x32\x1b.modal.client.NetworkAccess\"\x1e\n\x1cTaskSetNetworkAccessResponse\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"\xd9\x01\n\x1dTaskSnapshotFilesystemRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x14\n\x0c\x63ontainer_id\x18\x05 \x01(\tB\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"2\n\x1eTaskSnapshotFilesystemResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"E\n\x19TaskSnapshotMemoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x17\n\x0fidempotency_key\x18\x02 \x01(\t\"1\n\x1aTaskSnapshotMemoryResponse\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\"<\n\x1bTaskUnmountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c*p\n\x1aSandboxStdioFileDescriptor\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*\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\xba\x16\n\x11TaskCommandRouter\x12\x84\x01\n\x13SandboxStdinWriteV2\x12\x35.modal.task_command_router.SandboxStdinWriteV2Request\x1a\x36.modal.task_command_router.SandboxStdinWriteV2Response\x12\x83\x01\n\x12SandboxStdioReadV2\x12\x34.modal.task_command_router.SandboxStdioReadV2Request\x1a\x35.modal.task_command_router.SandboxStdioReadV2Response0\x01\x12\x90\x01\n\x15SandboxWaitUntilReady\x12:.modal.task_command_router.SandboxWaitUntilReadyTcrRequest\x1a;.modal.task_command_router.SandboxWaitUntilReadyTcrResponse\x12\x84\x01\n\x13TaskContainerCreate\x12\x35.modal.task_command_router.TaskContainerCreateRequest\x1a\x36.modal.task_command_router.TaskContainerCreateResponse\x12{\n\x10TaskContainerGet\x12\x32.modal.task_command_router.TaskContainerGetRequest\x1a\x33.modal.task_command_router.TaskContainerGetResponse\x12~\n\x11TaskContainerList\x12\x33.modal.task_command_router.TaskContainerListRequest\x1a\x34.modal.task_command_router.TaskContainerListResponse\x12\x8d\x01\n\x16TaskContainerTerminate\x12\x38.modal.task_command_router.TaskContainerTerminateRequest\x1a\x39.modal.task_command_router.TaskContainerTerminateResponse\x12~\n\x11TaskContainerWait\x12\x33.modal.task_command_router.TaskContainerWaitRequest\x1a\x34.modal.task_command_router.TaskContainerWaitResponse\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\x84\x01\n\x13TaskExecStdinStatus\x12\x35.modal.task_command_router.TaskExecStdinStatusRequest\x1a\x36.modal.task_command_router.TaskExecStdinStatusResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x95\x01\n\x18TaskExecStdinWriteStream\x12:.modal.task_command_router.TaskExecStdinWriteStreamRequest\x1a;.modal.task_command_router.TaskExecStdinWriteStreamResponse(\x01\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.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12~\n\x11TaskReloadVolumes\x12\x33.modal.task_command_router.TaskReloadVolumesRequest\x1a\x34.modal.task_command_router.TaskReloadVolumesResponse\x12\x87\x01\n\x14TaskSetNetworkAccess\x12\x36.modal.task_command_router.TaskSetNetworkAccessRequest\x1a\x37.modal.task_command_router.TaskSetNetworkAccessResponse\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponse\x12\x8d\x01\n\x16TaskSnapshotFilesystem\x12\x38.modal.task_command_router.TaskSnapshotFilesystemRequest\x1a\x39.modal.task_command_router.TaskSnapshotFilesystemResponse\x12\x81\x01\n\x12TaskSnapshotMemory\x12\x34.modal.task_command_router.TaskSnapshotMemoryRequest\x1a\x35.modal.task_command_router.TaskSnapshotMemoryResponse\x12\x66\n\x14TaskUnmountDirectory\x12\x36.modal.task_command_router.TaskUnmountDirectoryRequest\x1a\x16.google.protobuf.EmptyB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
|
|
21
21
|
|
|
22
22
|
_SANDBOXSTDIOFILEDESCRIPTOR = DESCRIPTOR.enum_types_by_name['SandboxStdioFileDescriptor']
|
|
23
23
|
SandboxStdioFileDescriptor = enum_type_wrapper.EnumTypeWrapper(_SANDBOXSTDIOFILEDESCRIPTOR)
|
|
@@ -425,14 +425,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
425
425
|
_TASKCONTAINERCREATEREQUEST_ENVENTRY._serialized_options = b'8\001'
|
|
426
426
|
_TASKEXECSTARTREQUEST_ENVENTRY._options = None
|
|
427
427
|
_TASKEXECSTARTREQUEST_ENVENTRY._serialized_options = b'8\001'
|
|
428
|
-
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=
|
|
429
|
-
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=
|
|
430
|
-
_TASKEXECSTDERRCONFIG._serialized_start=
|
|
431
|
-
_TASKEXECSTDERRCONFIG._serialized_end=
|
|
432
|
-
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=
|
|
433
|
-
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=
|
|
434
|
-
_TASKEXECSTDOUTCONFIG._serialized_start=
|
|
435
|
-
_TASKEXECSTDOUTCONFIG._serialized_end=
|
|
428
|
+
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=4623
|
|
429
|
+
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=4735
|
|
430
|
+
_TASKEXECSTDERRCONFIG._serialized_start=4738
|
|
431
|
+
_TASKEXECSTDERRCONFIG._serialized_end=4867
|
|
432
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=4869
|
|
433
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=4986
|
|
434
|
+
_TASKEXECSTDOUTCONFIG._serialized_start=4988
|
|
435
|
+
_TASKEXECSTDOUTCONFIG._serialized_end=5081
|
|
436
436
|
_SANDBOXSTDINWRITEV2REQUEST._serialized_start=120
|
|
437
437
|
_SANDBOXSTDINWRITEV2REQUEST._serialized_end=208
|
|
438
438
|
_SANDBOXSTDINWRITEV2RESPONSE._serialized_start=210
|
|
@@ -518,15 +518,15 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
518
518
|
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=4116
|
|
519
519
|
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=4165
|
|
520
520
|
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_start=4168
|
|
521
|
-
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=
|
|
522
|
-
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=
|
|
523
|
-
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=
|
|
524
|
-
_TASKSNAPSHOTMEMORYREQUEST._serialized_start=
|
|
525
|
-
_TASKSNAPSHOTMEMORYREQUEST._serialized_end=
|
|
526
|
-
_TASKSNAPSHOTMEMORYRESPONSE._serialized_start=
|
|
527
|
-
_TASKSNAPSHOTMEMORYRESPONSE._serialized_end=
|
|
528
|
-
_TASKUNMOUNTDIRECTORYREQUEST._serialized_start=
|
|
529
|
-
_TASKUNMOUNTDIRECTORYREQUEST._serialized_end=
|
|
530
|
-
_TASKCOMMANDROUTER._serialized_start=
|
|
531
|
-
_TASKCOMMANDROUTER._serialized_end=
|
|
521
|
+
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=4385
|
|
522
|
+
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=4387
|
|
523
|
+
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=4437
|
|
524
|
+
_TASKSNAPSHOTMEMORYREQUEST._serialized_start=4439
|
|
525
|
+
_TASKSNAPSHOTMEMORYREQUEST._serialized_end=4508
|
|
526
|
+
_TASKSNAPSHOTMEMORYRESPONSE._serialized_start=4510
|
|
527
|
+
_TASKSNAPSHOTMEMORYRESPONSE._serialized_end=4559
|
|
528
|
+
_TASKUNMOUNTDIRECTORYREQUEST._serialized_start=4561
|
|
529
|
+
_TASKUNMOUNTDIRECTORYREQUEST._serialized_end=4621
|
|
530
|
+
_TASKCOMMANDROUTER._serialized_start=5084
|
|
531
|
+
_TASKCOMMANDROUTER._serialized_end=7958
|
|
532
532
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -985,6 +985,7 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
985
985
|
SNAPSHOT_ID_FIELD_NUMBER: builtins.int
|
|
986
986
|
TTL_SECONDS_FIELD_NUMBER: builtins.int
|
|
987
987
|
CUSTOMER_SUPPLIED_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
|
|
988
|
+
CONTAINER_ID_FIELD_NUMBER: builtins.int
|
|
988
989
|
task_id: builtins.str
|
|
989
990
|
snapshot_id: builtins.str
|
|
990
991
|
"""A unique ID to ensure idempotency of filesystem snapshot requests."""
|
|
@@ -1001,6 +1002,8 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
1001
1002
|
"""Customer-supplied encryption key used to encrypt the resulting image's data and tree
|
|
1002
1003
|
metadata keys. This key is not persisted by Modal.
|
|
1003
1004
|
"""
|
|
1005
|
+
container_id: builtins.str
|
|
1006
|
+
"""Fully qualified target container ID. Empty targets the main container."""
|
|
1004
1007
|
def __init__(
|
|
1005
1008
|
self,
|
|
1006
1009
|
*,
|
|
@@ -1008,9 +1011,10 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
1008
1011
|
snapshot_id: builtins.str = ...,
|
|
1009
1012
|
ttl_seconds: builtins.int | None = ...,
|
|
1010
1013
|
customer_supplied_encryption_key: builtins.bytes | None = ...,
|
|
1014
|
+
container_id: builtins.str = ...,
|
|
1011
1015
|
) -> None: ...
|
|
1012
1016
|
def HasField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "_ttl_seconds", b"_ttl_seconds", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "ttl_seconds", b"ttl_seconds"]) -> builtins.bool: ...
|
|
1013
|
-
def ClearField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "_ttl_seconds", b"_ttl_seconds", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
1017
|
+
def ClearField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "_ttl_seconds", b"_ttl_seconds", "container_id", b"container_id", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
1014
1018
|
@typing.overload
|
|
1015
1019
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key"]) -> typing_extensions.Literal["customer_supplied_encryption_key"] | None: ...
|
|
1016
1020
|
@typing.overload
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|