From 9610a9a37e81ff762cf7daf414b614697af170e4 Mon Sep 17 00:00:00 2001 From: Batuhan Taskaya Date: Sat, 14 Feb 2026 19:29:41 -0800 Subject: [PATCH] misc: add mounted_secrets parameter with defaulting to old behavior --- projects/fal/src/fal/api/api.py | 3 + projects/fal/src/fal/app.py | 4 + projects/fal/src/fal/sdk.py | 4 + projects/fal/tests/e2e/test_apps.py | 103 +++++++++ .../src/isolate_proto/controller.proto | 4 + .../src/isolate_proto/controller_pb2.py | 196 +++++++++--------- .../src/isolate_proto/controller_pb2.pyi | 14 +- 7 files changed, 228 insertions(+), 100 deletions(-) diff --git a/projects/fal/src/fal/api/api.py b/projects/fal/src/fal/api/api.py index d74b7d78d..1277d2a26 100644 --- a/projects/fal/src/fal/api/api.py +++ b/projects/fal/src/fal/api/api.py @@ -534,6 +534,7 @@ class FalServerlessHost(Host): "health_check_config", "skip_retry_conditions", "termination_grace_period_seconds", + "mounted_secrets", } ) @@ -645,6 +646,7 @@ def register( termination_grace_period_seconds = options.host.get( "termination_grace_period_seconds" ) + mounted_secrets = options.host.get("mounted_secrets") machine_requirements = MachineRequirements( machine_types=machine_type, # type: ignore num_gpus=options.host.get("num_gpus"), @@ -696,6 +698,7 @@ def register( skip_retry_conditions=skip_retry_conditions, environment_name=environment_name, termination_grace_period_seconds=termination_grace_period_seconds, + mounted_secrets=mounted_secrets, ): for log in partial_result.logs: self._log_printer.print(log) diff --git a/projects/fal/src/fal/app.py b/projects/fal/src/fal/app.py index a453f2187..2cc3ccef5 100644 --- a/projects/fal/src/fal/app.py +++ b/projects/fal/src/fal/app.py @@ -600,6 +600,7 @@ class App(BaseServable): image: ClassVar[Optional[ContainerImage]] = None local_file_path: ClassVar[Optional[str]] = None skip_retry_conditions: ClassVar[Optional[list[RetryConditionLiteral]]] = None + mounted_secrets: ClassVar[Optional[list[str]]] = None termination_grace_period_seconds: ClassVar[Optional[int]] = None isolate_channel: async_grpc.Channel | None = None @@ -667,6 +668,9 @@ def __init_subclass__(cls, **kwargs): if cls.skip_retry_conditions is not None: cls.host_kwargs["skip_retry_conditions"] = cls.skip_retry_conditions + if cls.mounted_secrets is not None: + cls.host_kwargs["mounted_secrets"] = cls.mounted_secrets + if cls.termination_grace_period_seconds is not None: cls.host_kwargs["termination_grace_period_seconds"] = ( cls.termination_grace_period_seconds diff --git a/projects/fal/src/fal/sdk.py b/projects/fal/src/fal/sdk.py index bb3b7ae72..c98130b14 100644 --- a/projects/fal/src/fal/sdk.py +++ b/projects/fal/src/fal/sdk.py @@ -767,6 +767,7 @@ def register( skip_retry_conditions: list[RetryConditionLiteral] | None = None, environment_name: str | None = None, termination_grace_period_seconds: int | None = None, + mounted_secrets: list[str] | None = None, ) -> Iterator[RegisterApplicationResult]: wrapped_function = to_serialized_object(function, serialization_method) if machine_requirements: @@ -853,6 +854,7 @@ def register( skip_retry_conditions=wrapped_skip_retry_conditions, environment_name=environment_name, termination_grace_period_seconds=termination_grace_period_seconds, + mounted_secrets=mounted_secrets or ["*"], ) for partial_result in self.stub.RegisterApplication(request): yield from_grpc(partial_result) @@ -874,6 +876,7 @@ def update_application( startup_timeout: int | None = None, valid_regions: list[str] | None = None, machine_types: list[str] | None = None, + mounted_secrets: list[str] | None = None, *, environment_name: str | None = None, ) -> AliasInfo: @@ -892,6 +895,7 @@ def update_application( startup_timeout=startup_timeout, valid_regions=valid_regions, machine_types=machine_types, + mounted_secrets=mounted_secrets, environment_name=environment_name, ) res: isolate_proto.UpdateApplicationResult = self.stub.UpdateApplication( diff --git a/projects/fal/tests/e2e/test_apps.py b/projects/fal/tests/e2e/test_apps.py index c79fad205..bc8f302dc 100644 --- a/projects/fal/tests/e2e/test_apps.py +++ b/projects/fal/tests/e2e/test_apps.py @@ -1970,6 +1970,109 @@ def test_runner_machine_type(host: api.FalServerlessHost, test_sleep_app: str): assert target_runner.machine_type == "XS" +class SecretsOutput(BaseModel): + has_mounted: bool + has_not_mounted: bool + + +class MountedSecretsApp(fal.App, keep_alive=300, max_concurrency=1): + machine_type = "XS" + mounted_secrets = ["MOUNTED_TEST_SECRET"] + + @fal.endpoint("/") + def check_secrets(self) -> SecretsOutput: + return SecretsOutput( + has_mounted="MOUNTED_TEST_SECRET" in os.environ, + has_not_mounted="NOT_MOUNTED_SECRET" in os.environ, + ) + + +class MountAllSecretsApp(fal.App, keep_alive=300, max_concurrency=1): + machine_type = "XS" + + @fal.endpoint("/") + def check_secrets(self) -> SecretsOutput: + return SecretsOutput( + has_mounted="MOUNTED_TEST_SECRET" in os.environ, + has_not_mounted="NOT_MOUNTED_SECRET" in os.environ, + ) + + +class MountNoSecretsApp(fal.App, keep_alive=300, max_concurrency=1): + machine_type = "XS" + mounted_secrets = [] + + @fal.endpoint("/") + def check_secrets(self) -> SecretsOutput: + return SecretsOutput( + has_mounted="MOUNTED_TEST_SECRET" in os.environ, + has_not_mounted="NOT_MOUNTED_SECRET" in os.environ, + ) + + +@pytest.fixture(scope="module") +def _ensure_test_secrets(host: api.FalServerlessHost): + """Create two secrets so we can test selective mounting.""" + with host._connection as client: + client.set_secret("MOUNTED_TEST_SECRET", "secret-value-1") + client.set_secret("NOT_MOUNTED_SECRET", "secret-value-2") + yield + with host._connection as client: + client.delete_secret("MOUNTED_TEST_SECRET") + client.delete_secret("NOT_MOUNTED_SECRET") + + +@pytest.fixture(scope="module") +def test_mounted_secrets_app( + host: api.FalServerlessHost, user: User, _ensure_test_secrets +): + app = wrap_app(MountedSecretsApp) + with register_app(host, app, "mounted-secrets") as (app_alias, _): + yield f"{user.username}/{app_alias}" + + +@pytest.fixture(scope="module") +def test_mount_all_secrets_app( + host: api.FalServerlessHost, user: User, _ensure_test_secrets +): + app = wrap_app(MountAllSecretsApp) + with register_app(host, app, "mount-all-secrets") as (app_alias, _): + yield f"{user.username}/{app_alias}" + + +@pytest.fixture(scope="module") +def test_mount_no_secrets_app( + host: api.FalServerlessHost, user: User, _ensure_test_secrets +): + app = wrap_app(MountNoSecretsApp) + with register_app(host, app, "mount-no-secrets") as (app_alias, _): + yield f"{user.username}/{app_alias}" + + +@pytest.mark.flaky(max_runs=3) +def test_mounted_secrets_only_specified(test_mounted_secrets_app: str): + """Only the secret listed in mounted_secrets should be available.""" + result = apps.run(test_mounted_secrets_app, arguments={}) + assert result["has_mounted"] is True + assert result["has_not_mounted"] is False + + +@pytest.mark.flaky(max_runs=3) +def test_mount_all_secrets_default(test_mount_all_secrets_app: str): + """Without mounted_secrets set, all secrets should be available (default ["*"]).""" + result = apps.run(test_mount_all_secrets_app, arguments={}) + assert result["has_mounted"] is True + assert result["has_not_mounted"] is True + + +@pytest.mark.flaky(max_runs=3) +def test_mount_no_secrets(test_mount_no_secrets_app: str): + """With mounted_secrets=[], no secrets should be available.""" + result = apps.run(test_mount_no_secrets_app, arguments={}) + assert result["has_mounted"] is False + assert result["has_not_mounted"] is False + + class RequestContextOutput(BaseModel): request_id_from_context: Optional[str] endpoint_from_context: Optional[str] diff --git a/projects/isolate_proto/src/isolate_proto/controller.proto b/projects/isolate_proto/src/isolate_proto/controller.proto index c5a25777f..01712efd3 100644 --- a/projects/isolate_proto/src/isolate_proto/controller.proto +++ b/projects/isolate_proto/src/isolate_proto/controller.proto @@ -294,6 +294,8 @@ message RegisterApplicationRequest { repeated RetryCondition skip_retry_conditions = 17; // Grace period in seconds before forced termination of runners after a shutdown request. optional int32 termination_grace_period_seconds = 18; + // Which secrets to mount. ["*"] means all, [] means none. + repeated string mounted_secrets = 19; } message RegisterApplicationResultType { @@ -320,6 +322,8 @@ message UpdateApplicationRequest { optional int32 concurrency_buffer_perc = 11; optional int32 scaling_delay_seconds = 12; optional string environment_name = 13; + // Which secrets to mount. ["*"] means all, [] means none. + repeated string mounted_secrets = 14; } message UpdateApplicationResult { diff --git a/projects/isolate_proto/src/isolate_proto/controller_pb2.py b/projects/isolate_proto/src/isolate_proto/controller_pb2.py index 2eb7cf3d4..bacfb1a0a 100644 --- a/projects/isolate_proto/src/isolate_proto/controller_pb2.py +++ b/projects/isolate_proto/src/isolate_proto/controller_pb2.py @@ -18,7 +18,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x63ontroller.proto\x12\ncontroller\x1a\x0c\x63ommon.proto\x1a\x0cserver.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xde\x01\n\tHostedMap\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12!\n\x06inputs\x18\x04 \x03(\x0b\x32\x11.SerializedObjectB\x17\n\x15_machine_requirements\"+\n\x04\x46ile\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"\xc6\x03\n\tHostedRun\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12*\n\nsetup_func\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x1f\n\x05\x66iles\x18\x05 \x03(\x0b\x32\x10.controller.File\x12\x1d\n\x10\x65nvironment_name\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x61pplication_name\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x37\n\tauth_mode\x18\x08 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x04\x88\x01\x01\x42\x17\n\x15_machine_requirementsB\r\n\x0b_setup_funcB\x13\n\x11_environment_nameB\x13\n\x11_application_nameB\x0c\n\n_auth_mode\"\x88\x01\n\x14\x43reateUserKeyRequest\x12\x35\n\x05scope\x18\x01 \x01(\x0e\x32&.controller.CreateUserKeyRequest.Scope\x12\x12\n\x05\x61lias\x18\x02 \x01(\tH\x00\x88\x01\x01\"\x1b\n\x05Scope\x12\t\n\x05\x41\x44MIN\x10\x00\x12\x07\n\x03\x41PI\x10\x01\x42\x08\n\x06_alias\";\n\x15\x43reateUserKeyResponse\x12\x12\n\nkey_secret\x18\x01 \x01(\t\x12\x0e\n\x06key_id\x18\x02 \x01(\t\"\x15\n\x13ListUserKeysRequest\"B\n\x14ListUserKeysResponse\x12*\n\tuser_keys\x18\x01 \x03(\x0b\x32\x17.controller.UserKeyInfo\"&\n\x14RevokeUserKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\"\x17\n\x15RevokeUserKeyResponse\"\x93\x01\n\x0bUserKeyInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x05scope\x18\x03 \x01(\x0e\x32&.controller.CreateUserKeyRequest.Scope\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"V\n\x0bServiceURLs\x12\x12\n\nplayground\x18\x01 \x01(\t\x12\x0b\n\x03run\x18\x02 \x01(\t\x12\r\n\x05queue\x18\x03 \x01(\t\x12\n\n\x02ws\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"\xf6\x01\n\x0fHostedRunResult\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12\x30\n\x06status\x18\x02 \x01(\x0b\x32\x1b.controller.HostedRunStatusH\x00\x88\x01\x01\x12\x12\n\x04logs\x18\x03 \x03(\x0b\x32\x04.Log\x12,\n\x0creturn_value\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x32\n\x0cservice_urls\x18\x05 \x01(\x0b\x32\x17.controller.ServiceURLsH\x02\x88\x01\x01\x42\t\n\x07_statusB\x0f\n\r_return_valueB\x0f\n\r_service_urls\"B\n\x15InteractiveRunRequest\x12)\n\nhosted_run\x18\x01 \x01(\x0b\x32\x15.controller.HostedRun\"P\n\x16InteractiveRunResponse\x12\x36\n\x11hosted_run_result\x18\x01 \x01(\x0b\x32\x1b.controller.HostedRunResult\"\x80\x01\n\x0fHostedRunStatus\x12\x30\n\x05state\x18\x01 \x01(\x0e\x32!.controller.HostedRunStatus.State\";\n\x05State\x12\x0f\n\x0bIN_PROGRESS\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x14\n\x10INTERNAL_FAILURE\x10\x02\"\xbc\x06\n\x13MachineRequirements\x12\x1d\n\x0cmachine_type\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\nkeep_alive\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x17\n\nbase_image\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0c\x65xposed_port\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x16\n\tscheduler\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x37\n\x11scheduler_options\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x12\x1d\n\x10max_multiplexing\x18\x06 \x01(\x05H\x06\x88\x01\x01\x12\x1c\n\x0fmax_concurrency\x18\t \x01(\x05H\x07\x88\x01\x01\x12\x1c\n\x0fmin_concurrency\x18\n \x01(\x05H\x08\x88\x01\x01\x12\x15\n\rmachine_types\x18\x0b \x03(\t\x12\x15\n\x08num_gpus\x18\x0c \x01(\x05H\t\x88\x01\x01\x12\x1c\n\x0frequest_timeout\x18\r \x01(\x05H\n\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\x0e \x01(\x05H\x0b\x88\x01\x01\x12\x1f\n\x12\x63oncurrency_buffer\x18\x0f \x01(\x05H\x0c\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x10 \x01(\x05H\r\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x11 \x01(\x05H\x0e\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x12 \x03(\tB\x0f\n\r_machine_typeB\r\n\x0b_keep_aliveB\r\n\x0b_base_imageB\x0f\n\r_exposed_portB\x0c\n\n_schedulerB\x14\n\x12_scheduler_optionsB\x13\n\x11_max_multiplexingB\x12\n\x10_max_concurrencyB\x12\n\x10_min_concurrencyB\x0b\n\t_num_gpusB\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_seconds\"\xae\x02\n\x1c\x41pplicationHealthCheckConfig\x12\x0c\n\x04path\x18\x01 \x01(\t\x12!\n\x14start_period_seconds\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0ftimeout_seconds\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1e\n\x11\x66\x61ilure_threshold\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1b\n\x0e\x63\x61ll_regularly\x18\x05 \x01(\x08H\x03\x88\x01\x01\x12\x1a\n\rallow_on_busy\x18\x06 \x01(\x08H\x04\x88\x01\x01\x42\x17\n\x15_start_period_secondsB\x12\n\x10_timeout_secondsB\x14\n\x12_failure_thresholdB\x11\n\x0f_call_regularlyB\x10\n\x0e_allow_on_busy\"\xc1\x08\n\x1aRegisterApplicationRequest\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12*\n\nsetup_func\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x1d\n\x10\x61pplication_name\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x37\n\tauth_mode\x18\x06 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x03\x88\x01\x01\x12 \n\x0fmax_concurrency\x18\x07 \x01(\x05\x42\x02\x18\x01H\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x12@\n\x13\x64\x65ployment_strategy\x18\t \x01(\x0e\x32\x1e.controller.DeploymentStrategyH\x06\x88\x01\x01\x12\x12\n\x05scale\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x19\n\x0cprivate_logs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x1f\n\x05\x66iles\x18\x0c \x03(\x0b\x32\x10.controller.File\x12\x18\n\x0bsource_code\x18\r \x01(\tH\t\x88\x01\x01\x12\x1e\n\x11health_check_path\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x0f \x01(\tH\x0b\x88\x01\x01\x12J\n\x13health_check_config\x18\x10 \x01(\x0b\x32(.controller.ApplicationHealthCheckConfigH\x0c\x88\x01\x01\x12\x39\n\x15skip_retry_conditions\x18\x11 \x03(\x0e\x32\x1a.controller.RetryCondition\x12-\n termination_grace_period_seconds\x18\x12 \x01(\x05H\r\x88\x01\x01\x42\x17\n\x15_machine_requirementsB\r\n\x0b_setup_funcB\x13\n\x11_application_nameB\x0c\n\n_auth_modeB\x12\n\x10_max_concurrencyB\x0b\n\t_metadataB\x16\n\x14_deployment_strategyB\x08\n\x06_scaleB\x0f\n\r_private_logsB\x0e\n\x0c_source_codeB\x14\n\x12_health_check_pathB\x13\n\x11_environment_nameB\x16\n\x14_health_check_configB#\n!_termination_grace_period_seconds\"7\n\x1dRegisterApplicationResultType\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\xbf\x01\n\x19RegisterApplicationResult\x12\x12\n\x04logs\x18\x01 \x03(\x0b\x32\x04.Log\x12>\n\x06result\x18\x02 \x01(\x0b\x32).controller.RegisterApplicationResultTypeH\x00\x88\x01\x01\x12\x32\n\x0cservice_urls\x18\x03 \x01(\x0b\x32\x17.controller.ServiceURLsH\x01\x88\x01\x01\x42\t\n\x07_resultB\x0f\n\r_service_urls\"\xf2\x04\n\x18UpdateApplicationRequest\x12\x18\n\x10\x61pplication_name\x18\x01 \x01(\t\x12\x17\n\nkeep_alive\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1d\n\x10max_multiplexing\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1c\n\x0fmax_concurrency\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1c\n\x0fmin_concurrency\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x06 \x03(\t\x12\x15\n\rmachine_types\x18\x07 \x03(\t\x12\x1c\n\x0frequest_timeout\x18\x08 \x01(\x05H\x04\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\t \x01(\x05H\x05\x88\x01\x01\x12\x1f\n\x12\x63oncurrency_buffer\x18\n \x01(\x05H\x06\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0b \x01(\x05H\x07\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0c \x01(\x05H\x08\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\r \x01(\tH\t\x88\x01\x01\x42\r\n\x0b_keep_aliveB\x13\n\x11_max_multiplexingB\x12\n\x10_max_concurrencyB\x12\n\x10_min_concurrencyB\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"D\n\x17UpdateApplicationResult\x12)\n\nalias_info\x18\x01 \x01(\x0b\x32\x15.controller.AliasInfo\"\x81\x01\n\x17ListApplicationsRequest\x12\x1d\n\x10\x61pplication_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x13\n\x11_application_nameB\x13\n\x11_environment_name\"\xcf\x04\n\x0f\x41pplicationInfo\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fmax_concurrency\x18\x02 \x01(\x05\x12\x18\n\x10max_multiplexing\x18\x03 \x01(\x05\x12\x12\n\nkeep_alive\x18\x04 \x01(\x05\x12\x16\n\x0e\x61\x63tive_runners\x18\x06 \x01(\x05\x12\x17\n\x0fmin_concurrency\x18\x07 \x01(\x05\x12\x15\n\rmachine_types\x18\x08 \x03(\t\x12\x1c\n\x0frequest_timeout\x18\t \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\n \x01(\x05H\x01\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x0b \x03(\t\x12\x1f\n\x12\x63oncurrency_buffer\x18\x0c \x01(\x05H\x02\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0e \x01(\x05H\x03\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0f \x01(\x05H\x04\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x10 \x01(\tH\x05\x88\x01\x01\x42\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"K\n\x16ListApplicationsResult\x12\x31\n\x0c\x61pplications\x18\x01 \x03(\x0b\x32\x1b.controller.ApplicationInfo\"2\n\x18\x44\x65leteApplicationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x19\n\x17\x44\x65leteApplicationResult\"\x87\x01\n\x19RolloutApplicationRequest\x12\x18\n\x10\x61pplication_name\x18\x01 \x01(\t\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_forceB\x13\n\x11_environment_name\"\x1a\n\x18RolloutApplicationResult\"\xad\x01\n\x0fSetAliasRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x37\n\tauth_mode\x18\x03 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_auth_modeB\x13\n\x11_environment_name\";\n\x0eSetAliasResult\x12)\n\nalias_info\x18\x01 \x01(\x0b\x32\x15.controller.AliasInfo\"W\n\x12\x44\x65leteAliasRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x1d\n\x10\x65nvironment_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\"%\n\x11\x44\x65leteAliasResult\x12\x10\n\x08revision\x18\x01 \x01(\t\"H\n\x12ListAliasesRequest\x12\x1d\n\x10\x65nvironment_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\";\n\x11ListAliasesResult\x12&\n\x07\x61liases\x18\x01 \x03(\x0b\x32\x15.controller.AliasInfo\"\xea\x04\n\tAliasInfo\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x32\n\tauth_mode\x18\x03 \x01(\x0e\x32\x1f.controller.ApplicationAuthMode\x12\x17\n\x0fmax_concurrency\x18\x04 \x01(\x05\x12\x18\n\x10max_multiplexing\x18\x05 \x01(\x05\x12\x12\n\nkeep_alive\x18\x06 \x01(\x05\x12\x16\n\x0e\x61\x63tive_runners\x18\x07 \x01(\x05\x12\x17\n\x0fmin_concurrency\x18\x08 \x01(\x05\x12\x15\n\rmachine_types\x18\t \x03(\t\x12\x1c\n\x0frequest_timeout\x18\n \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\x0b \x01(\x05H\x01\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x0c \x03(\t\x12\x1f\n\x12\x63oncurrency_buffer\x18\r \x01(\x05H\x02\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0e \x01(\x05H\x03\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0f \x01(\x05H\x04\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x10 \x01(\tH\x05\x88\x01\x01\x12\x12\n\nis_rolling\x18\x11 \x01(\x08\x42\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"r\n\x10SetSecretRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\x05value\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_valueB\x13\n\x11_environment_name\"\x13\n\x11SetSecretResponse\"H\n\x12ListSecretsRequest\x12\x1d\n\x10\x65nvironment_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\"\x92\x01\n\x06Secret\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0c\x63reated_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0f\n\r_created_timeB\x13\n\x11_environment_name\":\n\x13ListSecretsResponse\x12#\n\x07secrets\x18\x01 \x03(\x0b\x32\x12.controller.Secret\"\xcc\x01\n\x17ListAliasRunnersRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x19\n\x0clist_pending\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x33\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_list_pendingB\r\n\x0b_start_timeB\x13\n\x11_environment_name\"C\n\x18ListAliasRunnersResponse\x12\'\n\x07runners\x18\x01 \x03(\x0b\x32\x16.controller.RunnerInfo\"\xdc\x04\n\nRunnerInfo\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x1a\n\x12in_flight_requests\x18\x02 \x01(\x05\x12!\n\x14\x65xpiration_countdown\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x0e\n\x06uptime\x18\x04 \x01(\x02\x12\x10\n\x08revision\x18\x06 \x01(\t\x12\r\n\x05\x61lias\x18\x07 \x01(\t\x12\x37\n\x11\x65xternal_metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x30\n\x05state\x18\x08 \x01(\x0e\x32\x1c.controller.RunnerInfo.StateH\x02\x88\x01\x01\x12\x38\n\x0breplacement\x18\t \x01(\x0e\x32#.controller.RunnerInfo.ReplaceState\x12\x14\n\x0cmachine_type\x18\n \x01(\t\"\x93\x01\n\x05State\x12\x0b\n\x07RUNNING\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\t\n\x05SETUP\x10\x02\x12\x08\n\x04\x44\x45\x41\x44\x10\x03\x12\x0f\n\x0b\x44OCKER_PULL\x10\x04\x12\x0c\n\x08\x44RAINING\x10\x05\x12\x0f\n\x0bTERMINATING\x10\x06\x12\x0e\n\nTERMINATED\x10\x07\x12\x08\n\x04IDLE\x10\x08\x12\x11\n\rFAILURE_DELAY\x10\t\"A\n\x0cReplaceState\x12\x0e\n\nNO_REPLACE\x10\x00\x12\x10\n\x0cWILL_REPLACE\x10\x01\x12\x0f\n\x0b\x44ID_REPLACE\x10\x02\x42\x17\n\x15_expiration_countdownB\x14\n\x12_external_metadataB\x08\n\x06_state\"=\n\x11StopRunnerRequest\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x15\n\rreplace_first\x18\x02 \x01(\x08\"\x14\n\x12StopRunnerResponse\"&\n\x11KillRunnerRequest\x12\x11\n\trunner_id\x18\x01 \x01(\t\"\x84\x01\n\x12ListRunnersRequest\x12\x19\n\x0clist_pending\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x33\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x42\x0f\n\r_list_pendingB\r\n\x0b_start_time\">\n\x13ListRunnersResponse\x12\'\n\x07runners\x18\x01 \x03(\x0b\x32\x16.controller.RunnerInfo\"\x14\n\x12KillRunnerResponse\"-\n\x0cTerminalSize\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05width\x18\x02 \x01(\x05\"\x91\x01\n\x10ShellRunnerInput\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x63lose\x18\x03 \x01(\x08\x12/\n\x08tty_size\x18\x04 \x01(\x0b\x32\x18.controller.TerminalSizeH\x00\x88\x01\x01\x12\x0f\n\x07\x63ommand\x18\x05 \x03(\tB\x0b\n\t_tty_size\"V\n\x11ShellRunnerOutput\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05\x63lose\x18\x02 \x01(\x08\x12\x16\n\texit_code\x18\x03 \x01(\x05H\x00\x88\x01\x01\x42\x0c\n\n_exit_code\"\x19\n\x17ListEnvironmentsRequest\"M\n\x18ListEnvironmentsResponse\x12\x31\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x1b.controller.EnvironmentInfo\"\x8d\x01\n\x0f\x45nvironmentInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nis_default\x18\x03 \x01(\x08\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0e\n\x0c_description\"R\n\x18\x43reateEnvironmentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"M\n\x19\x43reateEnvironmentResponse\x12\x30\n\x0b\x65nvironment\x18\x01 \x01(\x0b\x32\x1b.controller.EnvironmentInfo\"(\n\x18\x44\x65leteEnvironmentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1b\n\x19\x44\x65leteEnvironmentResponse*:\n\x13\x41pplicationAuthMode\x12\x0b\n\x07PRIVATE\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\n\n\x06SHARED\x10\x02*/\n\x12\x44\x65ploymentStrategy\x12\x0c\n\x08RECREATE\x10\x00\x12\x0b\n\x07ROLLING\x10\x01*W\n\x0eRetryCondition\x12\x0b\n\x07TIMEOUT\x10\x00\x12\x10\n\x0c\x43LIENT_ERROR\x10\x01\x12\x10\n\x0cSERVER_ERROR\x10\x02\x12\x14\n\x10\x43ONNECTION_ERROR\x10\x03\x32\xb8\x10\n\x11IsolateController\x12=\n\x03Run\x12\x15.controller.HostedRun\x1a\x1b.controller.HostedRunResult\"\x00\x30\x01\x12]\n\x0eInteractiveRun\x12!.controller.InteractiveRunRequest\x1a\".controller.InteractiveRunResponse\"\x00(\x01\x30\x01\x12=\n\x03Map\x12\x15.controller.HostedMap\x1a\x1b.controller.HostedRunResult\"\x00\x30\x01\x12V\n\rCreateUserKey\x12 .controller.CreateUserKeyRequest\x1a!.controller.CreateUserKeyResponse\"\x00\x12S\n\x0cListUserKeys\x12\x1f.controller.ListUserKeysRequest\x1a .controller.ListUserKeysResponse\"\x00\x12V\n\rRevokeUserKey\x12 .controller.RevokeUserKeyRequest\x1a!.controller.RevokeUserKeyResponse\"\x00\x12h\n\x13RegisterApplication\x12&.controller.RegisterApplicationRequest\x1a%.controller.RegisterApplicationResult\"\x00\x30\x01\x12`\n\x11UpdateApplication\x12$.controller.UpdateApplicationRequest\x1a#.controller.UpdateApplicationResult\"\x00\x12]\n\x10ListApplications\x12#.controller.ListApplicationsRequest\x1a\".controller.ListApplicationsResult\"\x00\x12`\n\x11\x44\x65leteApplication\x12$.controller.DeleteApplicationRequest\x1a#.controller.DeleteApplicationResult\"\x00\x12\x63\n\x12RolloutApplication\x12%.controller.RolloutApplicationRequest\x1a$.controller.RolloutApplicationResult\"\x00\x12\x45\n\x08SetAlias\x12\x1b.controller.SetAliasRequest\x1a\x1a.controller.SetAliasResult\"\x00\x12N\n\x0b\x44\x65leteAlias\x12\x1e.controller.DeleteAliasRequest\x1a\x1d.controller.DeleteAliasResult\"\x00\x12N\n\x0bListAliases\x12\x1e.controller.ListAliasesRequest\x1a\x1d.controller.ListAliasesResult\"\x00\x12J\n\tSetSecret\x12\x1c.controller.SetSecretRequest\x1a\x1d.controller.SetSecretResponse\"\x00\x12P\n\x0bListSecrets\x12\x1e.controller.ListSecretsRequest\x1a\x1f.controller.ListSecretsResponse\"\x00\x12_\n\x10ListAliasRunners\x12#.controller.ListAliasRunnersRequest\x1a$.controller.ListAliasRunnersResponse\"\x00\x12M\n\nStopRunner\x12\x1d.controller.StopRunnerRequest\x1a\x1e.controller.StopRunnerResponse\"\x00\x12M\n\nKillRunner\x12\x1d.controller.KillRunnerRequest\x1a\x1e.controller.KillRunnerResponse\"\x00\x12P\n\x0bListRunners\x12\x1e.controller.ListRunnersRequest\x1a\x1f.controller.ListRunnersResponse\"\x00\x12P\n\x0bShellRunner\x12\x1c.controller.ShellRunnerInput\x1a\x1d.controller.ShellRunnerOutput\"\x00(\x01\x30\x01\x12_\n\x10ListEnvironments\x12#.controller.ListEnvironmentsRequest\x1a$.controller.ListEnvironmentsResponse\"\x00\x12\x62\n\x11\x43reateEnvironment\x12$.controller.CreateEnvironmentRequest\x1a%.controller.CreateEnvironmentResponse\"\x00\x12\x62\n\x11\x44\x65leteEnvironment\x12$.controller.DeleteEnvironmentRequest\x1a%.controller.DeleteEnvironmentResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x63ontroller.proto\x12\ncontroller\x1a\x0c\x63ommon.proto\x1a\x0cserver.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xde\x01\n\tHostedMap\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12!\n\x06inputs\x18\x04 \x03(\x0b\x32\x11.SerializedObjectB\x17\n\x15_machine_requirements\"+\n\x04\x46ile\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"\xc6\x03\n\tHostedRun\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12*\n\nsetup_func\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x1f\n\x05\x66iles\x18\x05 \x03(\x0b\x32\x10.controller.File\x12\x1d\n\x10\x65nvironment_name\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x61pplication_name\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x37\n\tauth_mode\x18\x08 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x04\x88\x01\x01\x42\x17\n\x15_machine_requirementsB\r\n\x0b_setup_funcB\x13\n\x11_environment_nameB\x13\n\x11_application_nameB\x0c\n\n_auth_mode\"\x88\x01\n\x14\x43reateUserKeyRequest\x12\x35\n\x05scope\x18\x01 \x01(\x0e\x32&.controller.CreateUserKeyRequest.Scope\x12\x12\n\x05\x61lias\x18\x02 \x01(\tH\x00\x88\x01\x01\"\x1b\n\x05Scope\x12\t\n\x05\x41\x44MIN\x10\x00\x12\x07\n\x03\x41PI\x10\x01\x42\x08\n\x06_alias\";\n\x15\x43reateUserKeyResponse\x12\x12\n\nkey_secret\x18\x01 \x01(\t\x12\x0e\n\x06key_id\x18\x02 \x01(\t\"\x15\n\x13ListUserKeysRequest\"B\n\x14ListUserKeysResponse\x12*\n\tuser_keys\x18\x01 \x03(\x0b\x32\x17.controller.UserKeyInfo\"&\n\x14RevokeUserKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\"\x17\n\x15RevokeUserKeyResponse\"\x93\x01\n\x0bUserKeyInfo\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x05scope\x18\x03 \x01(\x0e\x32&.controller.CreateUserKeyRequest.Scope\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"V\n\x0bServiceURLs\x12\x12\n\nplayground\x18\x01 \x01(\t\x12\x0b\n\x03run\x18\x02 \x01(\t\x12\r\n\x05queue\x18\x03 \x01(\t\x12\n\n\x02ws\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"\xf6\x01\n\x0fHostedRunResult\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12\x30\n\x06status\x18\x02 \x01(\x0b\x32\x1b.controller.HostedRunStatusH\x00\x88\x01\x01\x12\x12\n\x04logs\x18\x03 \x03(\x0b\x32\x04.Log\x12,\n\x0creturn_value\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x32\n\x0cservice_urls\x18\x05 \x01(\x0b\x32\x17.controller.ServiceURLsH\x02\x88\x01\x01\x42\t\n\x07_statusB\x0f\n\r_return_valueB\x0f\n\r_service_urls\"B\n\x15InteractiveRunRequest\x12)\n\nhosted_run\x18\x01 \x01(\x0b\x32\x15.controller.HostedRun\"P\n\x16InteractiveRunResponse\x12\x36\n\x11hosted_run_result\x18\x01 \x01(\x0b\x32\x1b.controller.HostedRunResult\"\x80\x01\n\x0fHostedRunStatus\x12\x30\n\x05state\x18\x01 \x01(\x0e\x32!.controller.HostedRunStatus.State\";\n\x05State\x12\x0f\n\x0bIN_PROGRESS\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x14\n\x10INTERNAL_FAILURE\x10\x02\"\xbc\x06\n\x13MachineRequirements\x12\x1d\n\x0cmachine_type\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\nkeep_alive\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x17\n\nbase_image\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0c\x65xposed_port\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x16\n\tscheduler\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x37\n\x11scheduler_options\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x12\x1d\n\x10max_multiplexing\x18\x06 \x01(\x05H\x06\x88\x01\x01\x12\x1c\n\x0fmax_concurrency\x18\t \x01(\x05H\x07\x88\x01\x01\x12\x1c\n\x0fmin_concurrency\x18\n \x01(\x05H\x08\x88\x01\x01\x12\x15\n\rmachine_types\x18\x0b \x03(\t\x12\x15\n\x08num_gpus\x18\x0c \x01(\x05H\t\x88\x01\x01\x12\x1c\n\x0frequest_timeout\x18\r \x01(\x05H\n\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\x0e \x01(\x05H\x0b\x88\x01\x01\x12\x1f\n\x12\x63oncurrency_buffer\x18\x0f \x01(\x05H\x0c\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x10 \x01(\x05H\r\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x11 \x01(\x05H\x0e\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x12 \x03(\tB\x0f\n\r_machine_typeB\r\n\x0b_keep_aliveB\r\n\x0b_base_imageB\x0f\n\r_exposed_portB\x0c\n\n_schedulerB\x14\n\x12_scheduler_optionsB\x13\n\x11_max_multiplexingB\x12\n\x10_max_concurrencyB\x12\n\x10_min_concurrencyB\x0b\n\t_num_gpusB\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_seconds\"\xae\x02\n\x1c\x41pplicationHealthCheckConfig\x12\x0c\n\x04path\x18\x01 \x01(\t\x12!\n\x14start_period_seconds\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0ftimeout_seconds\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1e\n\x11\x66\x61ilure_threshold\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1b\n\x0e\x63\x61ll_regularly\x18\x05 \x01(\x08H\x03\x88\x01\x01\x12\x1a\n\rallow_on_busy\x18\x06 \x01(\x08H\x04\x88\x01\x01\x42\x17\n\x15_start_period_secondsB\x12\n\x10_timeout_secondsB\x14\n\x12_failure_thresholdB\x11\n\x0f_call_regularlyB\x10\n\x0e_allow_on_busy\"\xda\x08\n\x1aRegisterApplicationRequest\x12,\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x16.EnvironmentDefinition\x12\x42\n\x14machine_requirements\x18\x02 \x01(\x0b\x32\x1f.controller.MachineRequirementsH\x00\x88\x01\x01\x12#\n\x08\x66unction\x18\x03 \x01(\x0b\x32\x11.SerializedObject\x12*\n\nsetup_func\x18\x04 \x01(\x0b\x32\x11.SerializedObjectH\x01\x88\x01\x01\x12\x1d\n\x10\x61pplication_name\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x37\n\tauth_mode\x18\x06 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x03\x88\x01\x01\x12 \n\x0fmax_concurrency\x18\x07 \x01(\x05\x42\x02\x18\x01H\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x12@\n\x13\x64\x65ployment_strategy\x18\t \x01(\x0e\x32\x1e.controller.DeploymentStrategyH\x06\x88\x01\x01\x12\x12\n\x05scale\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x19\n\x0cprivate_logs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x1f\n\x05\x66iles\x18\x0c \x03(\x0b\x32\x10.controller.File\x12\x18\n\x0bsource_code\x18\r \x01(\tH\t\x88\x01\x01\x12\x1e\n\x11health_check_path\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x0f \x01(\tH\x0b\x88\x01\x01\x12J\n\x13health_check_config\x18\x10 \x01(\x0b\x32(.controller.ApplicationHealthCheckConfigH\x0c\x88\x01\x01\x12\x39\n\x15skip_retry_conditions\x18\x11 \x03(\x0e\x32\x1a.controller.RetryCondition\x12-\n termination_grace_period_seconds\x18\x12 \x01(\x05H\r\x88\x01\x01\x12\x17\n\x0fmounted_secrets\x18\x13 \x03(\tB\x17\n\x15_machine_requirementsB\r\n\x0b_setup_funcB\x13\n\x11_application_nameB\x0c\n\n_auth_modeB\x12\n\x10_max_concurrencyB\x0b\n\t_metadataB\x16\n\x14_deployment_strategyB\x08\n\x06_scaleB\x0f\n\r_private_logsB\x0e\n\x0c_source_codeB\x14\n\x12_health_check_pathB\x13\n\x11_environment_nameB\x16\n\x14_health_check_configB#\n!_termination_grace_period_seconds\"7\n\x1dRegisterApplicationResultType\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\xbf\x01\n\x19RegisterApplicationResult\x12\x12\n\x04logs\x18\x01 \x03(\x0b\x32\x04.Log\x12>\n\x06result\x18\x02 \x01(\x0b\x32).controller.RegisterApplicationResultTypeH\x00\x88\x01\x01\x12\x32\n\x0cservice_urls\x18\x03 \x01(\x0b\x32\x17.controller.ServiceURLsH\x01\x88\x01\x01\x42\t\n\x07_resultB\x0f\n\r_service_urls\"\x8b\x05\n\x18UpdateApplicationRequest\x12\x18\n\x10\x61pplication_name\x18\x01 \x01(\t\x12\x17\n\nkeep_alive\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1d\n\x10max_multiplexing\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1c\n\x0fmax_concurrency\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1c\n\x0fmin_concurrency\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x06 \x03(\t\x12\x15\n\rmachine_types\x18\x07 \x03(\t\x12\x1c\n\x0frequest_timeout\x18\x08 \x01(\x05H\x04\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\t \x01(\x05H\x05\x88\x01\x01\x12\x1f\n\x12\x63oncurrency_buffer\x18\n \x01(\x05H\x06\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0b \x01(\x05H\x07\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0c \x01(\x05H\x08\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\r \x01(\tH\t\x88\x01\x01\x12\x17\n\x0fmounted_secrets\x18\x0e \x03(\tB\r\n\x0b_keep_aliveB\x13\n\x11_max_multiplexingB\x12\n\x10_max_concurrencyB\x12\n\x10_min_concurrencyB\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"D\n\x17UpdateApplicationResult\x12)\n\nalias_info\x18\x01 \x01(\x0b\x32\x15.controller.AliasInfo\"\x81\x01\n\x17ListApplicationsRequest\x12\x1d\n\x10\x61pplication_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x13\n\x11_application_nameB\x13\n\x11_environment_name\"\xcf\x04\n\x0f\x41pplicationInfo\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fmax_concurrency\x18\x02 \x01(\x05\x12\x18\n\x10max_multiplexing\x18\x03 \x01(\x05\x12\x12\n\nkeep_alive\x18\x04 \x01(\x05\x12\x16\n\x0e\x61\x63tive_runners\x18\x06 \x01(\x05\x12\x17\n\x0fmin_concurrency\x18\x07 \x01(\x05\x12\x15\n\rmachine_types\x18\x08 \x03(\t\x12\x1c\n\x0frequest_timeout\x18\t \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\n \x01(\x05H\x01\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x0b \x03(\t\x12\x1f\n\x12\x63oncurrency_buffer\x18\x0c \x01(\x05H\x02\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0e \x01(\x05H\x03\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0f \x01(\x05H\x04\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x10 \x01(\tH\x05\x88\x01\x01\x42\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"K\n\x16ListApplicationsResult\x12\x31\n\x0c\x61pplications\x18\x01 \x03(\x0b\x32\x1b.controller.ApplicationInfo\"2\n\x18\x44\x65leteApplicationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x19\n\x17\x44\x65leteApplicationResult\"\x87\x01\n\x19RolloutApplicationRequest\x12\x18\n\x10\x61pplication_name\x18\x01 \x01(\t\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_forceB\x13\n\x11_environment_name\"\x1a\n\x18RolloutApplicationResult\"\xad\x01\n\x0fSetAliasRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x37\n\tauth_mode\x18\x03 \x01(\x0e\x32\x1f.controller.ApplicationAuthModeH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_auth_modeB\x13\n\x11_environment_name\";\n\x0eSetAliasResult\x12)\n\nalias_info\x18\x01 \x01(\x0b\x32\x15.controller.AliasInfo\"W\n\x12\x44\x65leteAliasRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x1d\n\x10\x65nvironment_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\"%\n\x11\x44\x65leteAliasResult\x12\x10\n\x08revision\x18\x01 \x01(\t\"H\n\x12ListAliasesRequest\x12\x1d\n\x10\x65nvironment_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\";\n\x11ListAliasesResult\x12&\n\x07\x61liases\x18\x01 \x03(\x0b\x32\x15.controller.AliasInfo\"\xea\x04\n\tAliasInfo\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x32\n\tauth_mode\x18\x03 \x01(\x0e\x32\x1f.controller.ApplicationAuthMode\x12\x17\n\x0fmax_concurrency\x18\x04 \x01(\x05\x12\x18\n\x10max_multiplexing\x18\x05 \x01(\x05\x12\x12\n\nkeep_alive\x18\x06 \x01(\x05\x12\x16\n\x0e\x61\x63tive_runners\x18\x07 \x01(\x05\x12\x17\n\x0fmin_concurrency\x18\x08 \x01(\x05\x12\x15\n\rmachine_types\x18\t \x03(\t\x12\x1c\n\x0frequest_timeout\x18\n \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fstartup_timeout\x18\x0b \x01(\x05H\x01\x88\x01\x01\x12\x15\n\rvalid_regions\x18\x0c \x03(\t\x12\x1f\n\x12\x63oncurrency_buffer\x18\r \x01(\x05H\x02\x88\x01\x01\x12$\n\x17\x63oncurrency_buffer_perc\x18\x0e \x01(\x05H\x03\x88\x01\x01\x12\"\n\x15scaling_delay_seconds\x18\x0f \x01(\x05H\x04\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x10 \x01(\tH\x05\x88\x01\x01\x12\x12\n\nis_rolling\x18\x11 \x01(\x08\x42\x12\n\x10_request_timeoutB\x12\n\x10_startup_timeoutB\x15\n\x13_concurrency_bufferB\x1a\n\x18_concurrency_buffer_percB\x18\n\x16_scaling_delay_secondsB\x13\n\x11_environment_name\"r\n\x10SetSecretRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\x05value\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_valueB\x13\n\x11_environment_name\"\x13\n\x11SetSecretResponse\"H\n\x12ListSecretsRequest\x12\x1d\n\x10\x65nvironment_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_environment_name\"\x92\x01\n\x06Secret\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0c\x63reated_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0f\n\r_created_timeB\x13\n\x11_environment_name\":\n\x13ListSecretsResponse\x12#\n\x07secrets\x18\x01 \x03(\x0b\x32\x12.controller.Secret\"\xcc\x01\n\x17ListAliasRunnersRequest\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12\x19\n\x0clist_pending\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x33\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x1d\n\x10\x65nvironment_name\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_list_pendingB\r\n\x0b_start_timeB\x13\n\x11_environment_name\"C\n\x18ListAliasRunnersResponse\x12\'\n\x07runners\x18\x01 \x03(\x0b\x32\x16.controller.RunnerInfo\"\xdc\x04\n\nRunnerInfo\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x1a\n\x12in_flight_requests\x18\x02 \x01(\x05\x12!\n\x14\x65xpiration_countdown\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x0e\n\x06uptime\x18\x04 \x01(\x02\x12\x10\n\x08revision\x18\x06 \x01(\t\x12\r\n\x05\x61lias\x18\x07 \x01(\t\x12\x37\n\x11\x65xternal_metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x30\n\x05state\x18\x08 \x01(\x0e\x32\x1c.controller.RunnerInfo.StateH\x02\x88\x01\x01\x12\x38\n\x0breplacement\x18\t \x01(\x0e\x32#.controller.RunnerInfo.ReplaceState\x12\x14\n\x0cmachine_type\x18\n \x01(\t\"\x93\x01\n\x05State\x12\x0b\n\x07RUNNING\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\t\n\x05SETUP\x10\x02\x12\x08\n\x04\x44\x45\x41\x44\x10\x03\x12\x0f\n\x0b\x44OCKER_PULL\x10\x04\x12\x0c\n\x08\x44RAINING\x10\x05\x12\x0f\n\x0bTERMINATING\x10\x06\x12\x0e\n\nTERMINATED\x10\x07\x12\x08\n\x04IDLE\x10\x08\x12\x11\n\rFAILURE_DELAY\x10\t\"A\n\x0cReplaceState\x12\x0e\n\nNO_REPLACE\x10\x00\x12\x10\n\x0cWILL_REPLACE\x10\x01\x12\x0f\n\x0b\x44ID_REPLACE\x10\x02\x42\x17\n\x15_expiration_countdownB\x14\n\x12_external_metadataB\x08\n\x06_state\"=\n\x11StopRunnerRequest\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x15\n\rreplace_first\x18\x02 \x01(\x08\"\x14\n\x12StopRunnerResponse\"&\n\x11KillRunnerRequest\x12\x11\n\trunner_id\x18\x01 \x01(\t\"\x84\x01\n\x12ListRunnersRequest\x12\x19\n\x0clist_pending\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x33\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x42\x0f\n\r_list_pendingB\r\n\x0b_start_time\">\n\x13ListRunnersResponse\x12\'\n\x07runners\x18\x01 \x03(\x0b\x32\x16.controller.RunnerInfo\"\x14\n\x12KillRunnerResponse\"-\n\x0cTerminalSize\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05width\x18\x02 \x01(\x05\"\x91\x01\n\x10ShellRunnerInput\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x63lose\x18\x03 \x01(\x08\x12/\n\x08tty_size\x18\x04 \x01(\x0b\x32\x18.controller.TerminalSizeH\x00\x88\x01\x01\x12\x0f\n\x07\x63ommand\x18\x05 \x03(\tB\x0b\n\t_tty_size\"V\n\x11ShellRunnerOutput\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05\x63lose\x18\x02 \x01(\x08\x12\x16\n\texit_code\x18\x03 \x01(\x05H\x00\x88\x01\x01\x42\x0c\n\n_exit_code\"\x19\n\x17ListEnvironmentsRequest\"M\n\x18ListEnvironmentsResponse\x12\x31\n\x0c\x65nvironments\x18\x01 \x03(\x0b\x32\x1b.controller.EnvironmentInfo\"\x8d\x01\n\x0f\x45nvironmentInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nis_default\x18\x03 \x01(\x08\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0e\n\x0c_description\"R\n\x18\x43reateEnvironmentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"M\n\x19\x43reateEnvironmentResponse\x12\x30\n\x0b\x65nvironment\x18\x01 \x01(\x0b\x32\x1b.controller.EnvironmentInfo\"(\n\x18\x44\x65leteEnvironmentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1b\n\x19\x44\x65leteEnvironmentResponse*:\n\x13\x41pplicationAuthMode\x12\x0b\n\x07PRIVATE\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\n\n\x06SHARED\x10\x02*/\n\x12\x44\x65ploymentStrategy\x12\x0c\n\x08RECREATE\x10\x00\x12\x0b\n\x07ROLLING\x10\x01*W\n\x0eRetryCondition\x12\x0b\n\x07TIMEOUT\x10\x00\x12\x10\n\x0c\x43LIENT_ERROR\x10\x01\x12\x10\n\x0cSERVER_ERROR\x10\x02\x12\x14\n\x10\x43ONNECTION_ERROR\x10\x03\x32\xb8\x10\n\x11IsolateController\x12=\n\x03Run\x12\x15.controller.HostedRun\x1a\x1b.controller.HostedRunResult\"\x00\x30\x01\x12]\n\x0eInteractiveRun\x12!.controller.InteractiveRunRequest\x1a\".controller.InteractiveRunResponse\"\x00(\x01\x30\x01\x12=\n\x03Map\x12\x15.controller.HostedMap\x1a\x1b.controller.HostedRunResult\"\x00\x30\x01\x12V\n\rCreateUserKey\x12 .controller.CreateUserKeyRequest\x1a!.controller.CreateUserKeyResponse\"\x00\x12S\n\x0cListUserKeys\x12\x1f.controller.ListUserKeysRequest\x1a .controller.ListUserKeysResponse\"\x00\x12V\n\rRevokeUserKey\x12 .controller.RevokeUserKeyRequest\x1a!.controller.RevokeUserKeyResponse\"\x00\x12h\n\x13RegisterApplication\x12&.controller.RegisterApplicationRequest\x1a%.controller.RegisterApplicationResult\"\x00\x30\x01\x12`\n\x11UpdateApplication\x12$.controller.UpdateApplicationRequest\x1a#.controller.UpdateApplicationResult\"\x00\x12]\n\x10ListApplications\x12#.controller.ListApplicationsRequest\x1a\".controller.ListApplicationsResult\"\x00\x12`\n\x11\x44\x65leteApplication\x12$.controller.DeleteApplicationRequest\x1a#.controller.DeleteApplicationResult\"\x00\x12\x63\n\x12RolloutApplication\x12%.controller.RolloutApplicationRequest\x1a$.controller.RolloutApplicationResult\"\x00\x12\x45\n\x08SetAlias\x12\x1b.controller.SetAliasRequest\x1a\x1a.controller.SetAliasResult\"\x00\x12N\n\x0b\x44\x65leteAlias\x12\x1e.controller.DeleteAliasRequest\x1a\x1d.controller.DeleteAliasResult\"\x00\x12N\n\x0bListAliases\x12\x1e.controller.ListAliasesRequest\x1a\x1d.controller.ListAliasesResult\"\x00\x12J\n\tSetSecret\x12\x1c.controller.SetSecretRequest\x1a\x1d.controller.SetSecretResponse\"\x00\x12P\n\x0bListSecrets\x12\x1e.controller.ListSecretsRequest\x1a\x1f.controller.ListSecretsResponse\"\x00\x12_\n\x10ListAliasRunners\x12#.controller.ListAliasRunnersRequest\x1a$.controller.ListAliasRunnersResponse\"\x00\x12M\n\nStopRunner\x12\x1d.controller.StopRunnerRequest\x1a\x1e.controller.StopRunnerResponse\"\x00\x12M\n\nKillRunner\x12\x1d.controller.KillRunnerRequest\x1a\x1e.controller.KillRunnerResponse\"\x00\x12P\n\x0bListRunners\x12\x1e.controller.ListRunnersRequest\x1a\x1f.controller.ListRunnersResponse\"\x00\x12P\n\x0bShellRunner\x12\x1c.controller.ShellRunnerInput\x1a\x1d.controller.ShellRunnerOutput\"\x00(\x01\x30\x01\x12_\n\x10ListEnvironments\x12#.controller.ListEnvironmentsRequest\x1a$.controller.ListEnvironmentsResponse\"\x00\x12\x62\n\x11\x43reateEnvironment\x12$.controller.CreateEnvironmentRequest\x1a%.controller.CreateEnvironmentResponse\"\x00\x12\x62\n\x11\x44\x65leteEnvironment\x12$.controller.DeleteEnvironmentRequest\x1a%.controller.DeleteEnvironmentResponse\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,12 +29,12 @@ _globals['_MACHINEREQUIREMENTS'].fields_by_name['machine_type']._serialized_options = b'\030\001' _globals['_REGISTERAPPLICATIONREQUEST'].fields_by_name['max_concurrency']._loaded_options = None _globals['_REGISTERAPPLICATIONREQUEST'].fields_by_name['max_concurrency']._serialized_options = b'\030\001' - _globals['_APPLICATIONAUTHMODE']._serialized_start=9737 - _globals['_APPLICATIONAUTHMODE']._serialized_end=9795 - _globals['_DEPLOYMENTSTRATEGY']._serialized_start=9797 - _globals['_DEPLOYMENTSTRATEGY']._serialized_end=9844 - _globals['_RETRYCONDITION']._serialized_start=9846 - _globals['_RETRYCONDITION']._serialized_end=9933 + _globals['_APPLICATIONAUTHMODE']._serialized_start=9787 + _globals['_APPLICATIONAUTHMODE']._serialized_end=9845 + _globals['_DEPLOYMENTSTRATEGY']._serialized_start=9847 + _globals['_DEPLOYMENTSTRATEGY']._serialized_end=9894 + _globals['_RETRYCONDITION']._serialized_start=9896 + _globals['_RETRYCONDITION']._serialized_end=9983 _globals['_HOSTEDMAP']._serialized_start=124 _globals['_HOSTEDMAP']._serialized_end=346 _globals['_FILE']._serialized_start=348 @@ -74,95 +74,95 @@ _globals['_APPLICATIONHEALTHCHECKCONFIG']._serialized_start=2806 _globals['_APPLICATIONHEALTHCHECKCONFIG']._serialized_end=3108 _globals['_REGISTERAPPLICATIONREQUEST']._serialized_start=3111 - _globals['_REGISTERAPPLICATIONREQUEST']._serialized_end=4200 - _globals['_REGISTERAPPLICATIONRESULTTYPE']._serialized_start=4202 - _globals['_REGISTERAPPLICATIONRESULTTYPE']._serialized_end=4257 - _globals['_REGISTERAPPLICATIONRESULT']._serialized_start=4260 - _globals['_REGISTERAPPLICATIONRESULT']._serialized_end=4451 - _globals['_UPDATEAPPLICATIONREQUEST']._serialized_start=4454 - _globals['_UPDATEAPPLICATIONREQUEST']._serialized_end=5080 - _globals['_UPDATEAPPLICATIONRESULT']._serialized_start=5082 - _globals['_UPDATEAPPLICATIONRESULT']._serialized_end=5150 - _globals['_LISTAPPLICATIONSREQUEST']._serialized_start=5153 - _globals['_LISTAPPLICATIONSREQUEST']._serialized_end=5282 - _globals['_APPLICATIONINFO']._serialized_start=5285 - _globals['_APPLICATIONINFO']._serialized_end=5876 - _globals['_LISTAPPLICATIONSRESULT']._serialized_start=5878 - _globals['_LISTAPPLICATIONSRESULT']._serialized_end=5953 - _globals['_DELETEAPPLICATIONREQUEST']._serialized_start=5955 - _globals['_DELETEAPPLICATIONREQUEST']._serialized_end=6005 - _globals['_DELETEAPPLICATIONRESULT']._serialized_start=6007 - _globals['_DELETEAPPLICATIONRESULT']._serialized_end=6032 - _globals['_ROLLOUTAPPLICATIONREQUEST']._serialized_start=6035 - _globals['_ROLLOUTAPPLICATIONREQUEST']._serialized_end=6170 - _globals['_ROLLOUTAPPLICATIONRESULT']._serialized_start=6172 - _globals['_ROLLOUTAPPLICATIONRESULT']._serialized_end=6198 - _globals['_SETALIASREQUEST']._serialized_start=6201 - _globals['_SETALIASREQUEST']._serialized_end=6374 - _globals['_SETALIASRESULT']._serialized_start=6376 - _globals['_SETALIASRESULT']._serialized_end=6435 - _globals['_DELETEALIASREQUEST']._serialized_start=6437 - _globals['_DELETEALIASREQUEST']._serialized_end=6524 - _globals['_DELETEALIASRESULT']._serialized_start=6526 - _globals['_DELETEALIASRESULT']._serialized_end=6563 - _globals['_LISTALIASESREQUEST']._serialized_start=6565 - _globals['_LISTALIASESREQUEST']._serialized_end=6637 - _globals['_LISTALIASESRESULT']._serialized_start=6639 - _globals['_LISTALIASESRESULT']._serialized_end=6698 - _globals['_ALIASINFO']._serialized_start=6701 - _globals['_ALIASINFO']._serialized_end=7319 - _globals['_SETSECRETREQUEST']._serialized_start=7321 - _globals['_SETSECRETREQUEST']._serialized_end=7435 - _globals['_SETSECRETRESPONSE']._serialized_start=7437 - _globals['_SETSECRETRESPONSE']._serialized_end=7456 - _globals['_LISTSECRETSREQUEST']._serialized_start=7458 - _globals['_LISTSECRETSREQUEST']._serialized_end=7530 - _globals['_SECRET']._serialized_start=7533 - _globals['_SECRET']._serialized_end=7679 - _globals['_LISTSECRETSRESPONSE']._serialized_start=7681 - _globals['_LISTSECRETSRESPONSE']._serialized_end=7739 - _globals['_LISTALIASRUNNERSREQUEST']._serialized_start=7742 - _globals['_LISTALIASRUNNERSREQUEST']._serialized_end=7946 - _globals['_LISTALIASRUNNERSRESPONSE']._serialized_start=7948 - _globals['_LISTALIASRUNNERSRESPONSE']._serialized_end=8015 - _globals['_RUNNERINFO']._serialized_start=8018 - _globals['_RUNNERINFO']._serialized_end=8622 - _globals['_RUNNERINFO_STATE']._serialized_start=8351 - _globals['_RUNNERINFO_STATE']._serialized_end=8498 - _globals['_RUNNERINFO_REPLACESTATE']._serialized_start=8500 - _globals['_RUNNERINFO_REPLACESTATE']._serialized_end=8565 - _globals['_STOPRUNNERREQUEST']._serialized_start=8624 - _globals['_STOPRUNNERREQUEST']._serialized_end=8685 - _globals['_STOPRUNNERRESPONSE']._serialized_start=8687 - _globals['_STOPRUNNERRESPONSE']._serialized_end=8707 - _globals['_KILLRUNNERREQUEST']._serialized_start=8709 - _globals['_KILLRUNNERREQUEST']._serialized_end=8747 - _globals['_LISTRUNNERSREQUEST']._serialized_start=8750 - _globals['_LISTRUNNERSREQUEST']._serialized_end=8882 - _globals['_LISTRUNNERSRESPONSE']._serialized_start=8884 - _globals['_LISTRUNNERSRESPONSE']._serialized_end=8946 - _globals['_KILLRUNNERRESPONSE']._serialized_start=8948 - _globals['_KILLRUNNERRESPONSE']._serialized_end=8968 - _globals['_TERMINALSIZE']._serialized_start=8970 - _globals['_TERMINALSIZE']._serialized_end=9015 - _globals['_SHELLRUNNERINPUT']._serialized_start=9018 - _globals['_SHELLRUNNERINPUT']._serialized_end=9163 - _globals['_SHELLRUNNEROUTPUT']._serialized_start=9165 - _globals['_SHELLRUNNEROUTPUT']._serialized_end=9251 - _globals['_LISTENVIRONMENTSREQUEST']._serialized_start=9253 - _globals['_LISTENVIRONMENTSREQUEST']._serialized_end=9278 - _globals['_LISTENVIRONMENTSRESPONSE']._serialized_start=9280 - _globals['_LISTENVIRONMENTSRESPONSE']._serialized_end=9357 - _globals['_ENVIRONMENTINFO']._serialized_start=9360 - _globals['_ENVIRONMENTINFO']._serialized_end=9501 - _globals['_CREATEENVIRONMENTREQUEST']._serialized_start=9503 - _globals['_CREATEENVIRONMENTREQUEST']._serialized_end=9585 - _globals['_CREATEENVIRONMENTRESPONSE']._serialized_start=9587 - _globals['_CREATEENVIRONMENTRESPONSE']._serialized_end=9664 - _globals['_DELETEENVIRONMENTREQUEST']._serialized_start=9666 - _globals['_DELETEENVIRONMENTREQUEST']._serialized_end=9706 - _globals['_DELETEENVIRONMENTRESPONSE']._serialized_start=9708 - _globals['_DELETEENVIRONMENTRESPONSE']._serialized_end=9735 - _globals['_ISOLATECONTROLLER']._serialized_start=9936 - _globals['_ISOLATECONTROLLER']._serialized_end=12040 + _globals['_REGISTERAPPLICATIONREQUEST']._serialized_end=4225 + _globals['_REGISTERAPPLICATIONRESULTTYPE']._serialized_start=4227 + _globals['_REGISTERAPPLICATIONRESULTTYPE']._serialized_end=4282 + _globals['_REGISTERAPPLICATIONRESULT']._serialized_start=4285 + _globals['_REGISTERAPPLICATIONRESULT']._serialized_end=4476 + _globals['_UPDATEAPPLICATIONREQUEST']._serialized_start=4479 + _globals['_UPDATEAPPLICATIONREQUEST']._serialized_end=5130 + _globals['_UPDATEAPPLICATIONRESULT']._serialized_start=5132 + _globals['_UPDATEAPPLICATIONRESULT']._serialized_end=5200 + _globals['_LISTAPPLICATIONSREQUEST']._serialized_start=5203 + _globals['_LISTAPPLICATIONSREQUEST']._serialized_end=5332 + _globals['_APPLICATIONINFO']._serialized_start=5335 + _globals['_APPLICATIONINFO']._serialized_end=5926 + _globals['_LISTAPPLICATIONSRESULT']._serialized_start=5928 + _globals['_LISTAPPLICATIONSRESULT']._serialized_end=6003 + _globals['_DELETEAPPLICATIONREQUEST']._serialized_start=6005 + _globals['_DELETEAPPLICATIONREQUEST']._serialized_end=6055 + _globals['_DELETEAPPLICATIONRESULT']._serialized_start=6057 + _globals['_DELETEAPPLICATIONRESULT']._serialized_end=6082 + _globals['_ROLLOUTAPPLICATIONREQUEST']._serialized_start=6085 + _globals['_ROLLOUTAPPLICATIONREQUEST']._serialized_end=6220 + _globals['_ROLLOUTAPPLICATIONRESULT']._serialized_start=6222 + _globals['_ROLLOUTAPPLICATIONRESULT']._serialized_end=6248 + _globals['_SETALIASREQUEST']._serialized_start=6251 + _globals['_SETALIASREQUEST']._serialized_end=6424 + _globals['_SETALIASRESULT']._serialized_start=6426 + _globals['_SETALIASRESULT']._serialized_end=6485 + _globals['_DELETEALIASREQUEST']._serialized_start=6487 + _globals['_DELETEALIASREQUEST']._serialized_end=6574 + _globals['_DELETEALIASRESULT']._serialized_start=6576 + _globals['_DELETEALIASRESULT']._serialized_end=6613 + _globals['_LISTALIASESREQUEST']._serialized_start=6615 + _globals['_LISTALIASESREQUEST']._serialized_end=6687 + _globals['_LISTALIASESRESULT']._serialized_start=6689 + _globals['_LISTALIASESRESULT']._serialized_end=6748 + _globals['_ALIASINFO']._serialized_start=6751 + _globals['_ALIASINFO']._serialized_end=7369 + _globals['_SETSECRETREQUEST']._serialized_start=7371 + _globals['_SETSECRETREQUEST']._serialized_end=7485 + _globals['_SETSECRETRESPONSE']._serialized_start=7487 + _globals['_SETSECRETRESPONSE']._serialized_end=7506 + _globals['_LISTSECRETSREQUEST']._serialized_start=7508 + _globals['_LISTSECRETSREQUEST']._serialized_end=7580 + _globals['_SECRET']._serialized_start=7583 + _globals['_SECRET']._serialized_end=7729 + _globals['_LISTSECRETSRESPONSE']._serialized_start=7731 + _globals['_LISTSECRETSRESPONSE']._serialized_end=7789 + _globals['_LISTALIASRUNNERSREQUEST']._serialized_start=7792 + _globals['_LISTALIASRUNNERSREQUEST']._serialized_end=7996 + _globals['_LISTALIASRUNNERSRESPONSE']._serialized_start=7998 + _globals['_LISTALIASRUNNERSRESPONSE']._serialized_end=8065 + _globals['_RUNNERINFO']._serialized_start=8068 + _globals['_RUNNERINFO']._serialized_end=8672 + _globals['_RUNNERINFO_STATE']._serialized_start=8401 + _globals['_RUNNERINFO_STATE']._serialized_end=8548 + _globals['_RUNNERINFO_REPLACESTATE']._serialized_start=8550 + _globals['_RUNNERINFO_REPLACESTATE']._serialized_end=8615 + _globals['_STOPRUNNERREQUEST']._serialized_start=8674 + _globals['_STOPRUNNERREQUEST']._serialized_end=8735 + _globals['_STOPRUNNERRESPONSE']._serialized_start=8737 + _globals['_STOPRUNNERRESPONSE']._serialized_end=8757 + _globals['_KILLRUNNERREQUEST']._serialized_start=8759 + _globals['_KILLRUNNERREQUEST']._serialized_end=8797 + _globals['_LISTRUNNERSREQUEST']._serialized_start=8800 + _globals['_LISTRUNNERSREQUEST']._serialized_end=8932 + _globals['_LISTRUNNERSRESPONSE']._serialized_start=8934 + _globals['_LISTRUNNERSRESPONSE']._serialized_end=8996 + _globals['_KILLRUNNERRESPONSE']._serialized_start=8998 + _globals['_KILLRUNNERRESPONSE']._serialized_end=9018 + _globals['_TERMINALSIZE']._serialized_start=9020 + _globals['_TERMINALSIZE']._serialized_end=9065 + _globals['_SHELLRUNNERINPUT']._serialized_start=9068 + _globals['_SHELLRUNNERINPUT']._serialized_end=9213 + _globals['_SHELLRUNNEROUTPUT']._serialized_start=9215 + _globals['_SHELLRUNNEROUTPUT']._serialized_end=9301 + _globals['_LISTENVIRONMENTSREQUEST']._serialized_start=9303 + _globals['_LISTENVIRONMENTSREQUEST']._serialized_end=9328 + _globals['_LISTENVIRONMENTSRESPONSE']._serialized_start=9330 + _globals['_LISTENVIRONMENTSRESPONSE']._serialized_end=9407 + _globals['_ENVIRONMENTINFO']._serialized_start=9410 + _globals['_ENVIRONMENTINFO']._serialized_end=9551 + _globals['_CREATEENVIRONMENTREQUEST']._serialized_start=9553 + _globals['_CREATEENVIRONMENTREQUEST']._serialized_end=9635 + _globals['_CREATEENVIRONMENTRESPONSE']._serialized_start=9637 + _globals['_CREATEENVIRONMENTRESPONSE']._serialized_end=9714 + _globals['_DELETEENVIRONMENTREQUEST']._serialized_start=9716 + _globals['_DELETEENVIRONMENTREQUEST']._serialized_end=9756 + _globals['_DELETEENVIRONMENTRESPONSE']._serialized_start=9758 + _globals['_DELETEENVIRONMENTRESPONSE']._serialized_end=9785 + _globals['_ISOLATECONTROLLER']._serialized_start=9986 + _globals['_ISOLATECONTROLLER']._serialized_end=12090 # @@protoc_insertion_point(module_scope) diff --git a/projects/isolate_proto/src/isolate_proto/controller_pb2.pyi b/projects/isolate_proto/src/isolate_proto/controller_pb2.pyi index 3858a3cb9..195a9caf3 100644 --- a/projects/isolate_proto/src/isolate_proto/controller_pb2.pyi +++ b/projects/isolate_proto/src/isolate_proto/controller_pb2.pyi @@ -647,6 +647,7 @@ class RegisterApplicationRequest(google.protobuf.message.Message): HEALTH_CHECK_CONFIG_FIELD_NUMBER: builtins.int SKIP_RETRY_CONDITIONS_FIELD_NUMBER: builtins.int TERMINATION_GRACE_PERIOD_SECONDS_FIELD_NUMBER: builtins.int + MOUNTED_SECRETS_FIELD_NUMBER: builtins.int @property def environments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[server_pb2.EnvironmentDefinition]: """Environment definitions.""" @@ -693,6 +694,9 @@ class RegisterApplicationRequest(google.protobuf.message.Message): """Skip retry on certain conditions""" termination_grace_period_seconds: builtins.int """Grace period in seconds before forced termination of runners after a shutdown request.""" + @property + def mounted_secrets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """Which secrets to mount. ["*"] means all, [] means none.""" def __init__( self, *, @@ -714,9 +718,10 @@ class RegisterApplicationRequest(google.protobuf.message.Message): health_check_config: global___ApplicationHealthCheckConfig | None = ..., skip_retry_conditions: collections.abc.Iterable[global___RetryCondition.ValueType] | None = ..., termination_grace_period_seconds: builtins.int | None = ..., + mounted_secrets: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["_application_name", b"_application_name", "_auth_mode", b"_auth_mode", "_deployment_strategy", b"_deployment_strategy", "_environment_name", b"_environment_name", "_health_check_config", b"_health_check_config", "_health_check_path", b"_health_check_path", "_machine_requirements", b"_machine_requirements", "_max_concurrency", b"_max_concurrency", "_metadata", b"_metadata", "_private_logs", b"_private_logs", "_scale", b"_scale", "_setup_func", b"_setup_func", "_source_code", b"_source_code", "_termination_grace_period_seconds", b"_termination_grace_period_seconds", "application_name", b"application_name", "auth_mode", b"auth_mode", "deployment_strategy", b"deployment_strategy", "environment_name", b"environment_name", "function", b"function", "health_check_config", b"health_check_config", "health_check_path", b"health_check_path", "machine_requirements", b"machine_requirements", "max_concurrency", b"max_concurrency", "metadata", b"metadata", "private_logs", b"private_logs", "scale", b"scale", "setup_func", b"setup_func", "source_code", b"source_code", "termination_grace_period_seconds", b"termination_grace_period_seconds"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_application_name", b"_application_name", "_auth_mode", b"_auth_mode", "_deployment_strategy", b"_deployment_strategy", "_environment_name", b"_environment_name", "_health_check_config", b"_health_check_config", "_health_check_path", b"_health_check_path", "_machine_requirements", b"_machine_requirements", "_max_concurrency", b"_max_concurrency", "_metadata", b"_metadata", "_private_logs", b"_private_logs", "_scale", b"_scale", "_setup_func", b"_setup_func", "_source_code", b"_source_code", "_termination_grace_period_seconds", b"_termination_grace_period_seconds", "application_name", b"application_name", "auth_mode", b"auth_mode", "deployment_strategy", b"deployment_strategy", "environment_name", b"environment_name", "environments", b"environments", "files", b"files", "function", b"function", "health_check_config", b"health_check_config", "health_check_path", b"health_check_path", "machine_requirements", b"machine_requirements", "max_concurrency", b"max_concurrency", "metadata", b"metadata", "private_logs", b"private_logs", "scale", b"scale", "setup_func", b"setup_func", "skip_retry_conditions", b"skip_retry_conditions", "source_code", b"source_code", "termination_grace_period_seconds", b"termination_grace_period_seconds"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["_application_name", b"_application_name", "_auth_mode", b"_auth_mode", "_deployment_strategy", b"_deployment_strategy", "_environment_name", b"_environment_name", "_health_check_config", b"_health_check_config", "_health_check_path", b"_health_check_path", "_machine_requirements", b"_machine_requirements", "_max_concurrency", b"_max_concurrency", "_metadata", b"_metadata", "_private_logs", b"_private_logs", "_scale", b"_scale", "_setup_func", b"_setup_func", "_source_code", b"_source_code", "_termination_grace_period_seconds", b"_termination_grace_period_seconds", "application_name", b"application_name", "auth_mode", b"auth_mode", "deployment_strategy", b"deployment_strategy", "environment_name", b"environment_name", "environments", b"environments", "files", b"files", "function", b"function", "health_check_config", b"health_check_config", "health_check_path", b"health_check_path", "machine_requirements", b"machine_requirements", "max_concurrency", b"max_concurrency", "metadata", b"metadata", "mounted_secrets", b"mounted_secrets", "private_logs", b"private_logs", "scale", b"scale", "setup_func", b"setup_func", "skip_retry_conditions", b"skip_retry_conditions", "source_code", b"source_code", "termination_grace_period_seconds", b"termination_grace_period_seconds"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_application_name", b"_application_name"]) -> typing_extensions.Literal["application_name"] | None: ... @typing.overload @@ -809,6 +814,7 @@ class UpdateApplicationRequest(google.protobuf.message.Message): CONCURRENCY_BUFFER_PERC_FIELD_NUMBER: builtins.int SCALING_DELAY_SECONDS_FIELD_NUMBER: builtins.int ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int + MOUNTED_SECRETS_FIELD_NUMBER: builtins.int application_name: builtins.str keep_alive: builtins.int max_multiplexing: builtins.int @@ -824,6 +830,9 @@ class UpdateApplicationRequest(google.protobuf.message.Message): concurrency_buffer_perc: builtins.int scaling_delay_seconds: builtins.int environment_name: builtins.str + @property + def mounted_secrets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """Which secrets to mount. ["*"] means all, [] means none.""" def __init__( self, *, @@ -840,9 +849,10 @@ class UpdateApplicationRequest(google.protobuf.message.Message): concurrency_buffer_perc: builtins.int | None = ..., scaling_delay_seconds: builtins.int | None = ..., environment_name: builtins.str | None = ..., + mounted_secrets: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_environment_name", b"_environment_name", "_keep_alive", b"_keep_alive", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "environment_name", b"environment_name", "keep_alive", b"keep_alive", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_environment_name", b"_environment_name", "_keep_alive", b"_keep_alive", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "application_name", b"application_name", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "environment_name", b"environment_name", "keep_alive", b"keep_alive", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout", "valid_regions", b"valid_regions"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_environment_name", b"_environment_name", "_keep_alive", b"_keep_alive", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "application_name", b"application_name", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "environment_name", b"environment_name", "keep_alive", b"keep_alive", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "mounted_secrets", b"mounted_secrets", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout", "valid_regions", b"valid_regions"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_concurrency_buffer", b"_concurrency_buffer"]) -> typing_extensions.Literal["concurrency_buffer"] | None: ... @typing.overload