blob: b4f1fd425882165b30553d87ebffe9b5e0bb90f8 [file] [log] [blame]
syntax = "proto3";
option cc_enable_arenas = true;
package vm_tools.container;
option go_package = "chromiumos/vm_tools/container_proto";
import "common.proto";
import "container_host.proto";
import "tremplin.proto";
import "vm_crash.proto";
// A proto representation of a grpc::Status
// A special message that contains all the possible inputs to the
// ContainerListener and TremplinListener services plus some controls over the
// call results.
//
// This is used for fuzz testing; we get some fuzzed examples of this message
// and then call the correct rpc handler based on which of the oneof is set.
message ContainerListenerFuzzerSingleAction {
// Next id: 62
// Skip [100-110]
oneof input {
// Calls to the ContainerListener service.
ContainerStartupInfo container_startup_info = 1;
ContainerShutdownInfo container_shutdown_info = 2;
UpdateApplicationListRequest update_application_list_request = 3;
OpenUrlRequest open_url_request = 4;
InstallLinuxPackageProgressInfo install_linux_package_progress_info = 5;
UninstallPackageProgressInfo uninstall_package_progress_info = 6;
OpenTerminalRequest open_terminal_request = 7;
UpdateMimeTypesRequest update_mime_types_request = 8;
PendingAppListUpdateCount pending_app_list_update_count = 27;
ApplyAnsiblePlaybookProgressInfo apply_ansible_playbook_progress_info = 28;
FileWatchTriggeredInfo file_watch_triggered_info = 45;
LowDiskSpaceTriggeredInfo low_disk_space_triggered_info = 49;
ForwardSecurityKeyMessageRequest forward_security_key_message_request = 50;
SelectFileRequest select_file_request = 51;
GetDiskInfoRequest get_disk_info_request = 52;
RequestSpaceRequest request_space_request = 53;
ReleaseSpaceRequest release_space_request = 54;
ReportMetricsRequest report_metrics_request = 57;
// Calls to the CrashListener service.
EmptyMessage metrics_consent_request = 33;
vm_tools.cicerone.CrashReport send_crash_report_request = 42;
vm_tools.cicerone.FailureReport send_failure_report_request = 46;
// Calls to the TremplinListener service.
vm_tools.tremplin.TremplinStartupInfo tremplin_startup_info = 100;
vm_tools.tremplin.ContainerCreationProgress container_creation_progress =
101;
vm_tools.tremplin.ContainerDeletionProgress container_deletion_progress =
102;
vm_tools.tremplin.ContainerStartProgress container_start_progress = 103;
vm_tools.tremplin.ContainerExportProgress container_export_progress = 104;
vm_tools.tremplin.ContainerImportProgress container_import_progress = 105;
vm_tools.tremplin.ContainerShutdownInfo tremplin_container_shutdown_info =
106;
vm_tools.tremplin.UpgradeContainerProgress upgrade_container_progress = 107;
vm_tools.tremplin.ListeningPortInfo update_listening_ports = 108;
vm_tools.tremplin.StartLxdProgress start_lxd_progress = 109;
vm_tools.tremplin.ContainerStopProgress container_stop_progress = 110;
}
// Claim all gRPC messages come from this address (overrides
// grpc::ServerContext::peer()).
string peer_address = 9;
// If true, return a non-null response from dbus CallMethodAndBlock.
bool return_dbus_response = 10;
// Controls the TremplinTestStub. These represent the status code and response
// protos for all the various Tremplin server calls.
int32 tremplin_create_container_status = 11;
vm_tools.tremplin.CreateContainerResponse tremplin_create_container_response =
12;
int32 tremplin_start_container_status = 13;
vm_tools.tremplin.StartContainerResponse tremplin_start_container_response =
14;
int32 tremplin_stop_container_status = 55;
vm_tools.tremplin.StopContainerResponse tremplin_stop_container_response = 56;
int32 tremplin_get_container_username_status = 15;
vm_tools.tremplin.GetContainerUsernameResponse
tremplin_get_container_username_response = 16;
int32 tremplin_set_up_user_status = 17;
vm_tools.tremplin.SetUpUserResponse tremplin_set_up_user_response = 18;
int32 tremplin_get_container_info_status = 19;
vm_tools.tremplin.GetContainerInfoResponse
tremplin_get_container_info_response = 20;
int32 tremplin_set_timezone_status = 21;
vm_tools.tremplin.SetTimezoneResponse tremplin_set_timezone_response = 22;
int32 tremplin_export_container_status = 23;
vm_tools.tremplin.ExportContainerResponse tremplin_export_container_response =
24;
int32 tremplin_import_container_status = 25;
vm_tools.tremplin.ImportContainerResponse tremplin_import_container_response =
26;
int32 tremplin_upgrade_container_status = 29;
vm_tools.tremplin.UpgradeContainerResponse
tremplin_upgrade_container_response = 30;
int32 tremplin_cancel_upgrade_container_status = 31;
vm_tools.tremplin.CancelUpgradeContainerResponse
tremplin_cancel_upgrade_container_response = 32;
int32 tremplin_delete_container_status = 34;
vm_tools.tremplin.DeleteContainerResponse tremplin_delete_container_response =
35;
int32 tremplin_cancel_export_container_status = 36;
vm_tools.tremplin.CancelExportContainerResponse
tremplin_cancel_export_container_response = 37;
int32 tremplin_cancel_import_container_status = 38;
vm_tools.tremplin.CancelImportContainerResponse
tremplin_cancel_import_container_response = 39;
int32 tremplin_host_network_changed_status = 40;
vm_tools.tremplin.HostNetworkChangedResponse
tremplin_host_network_changed_response = 41;
int32 tremplin_start_lxd_status = 43;
vm_tools.tremplin.StartLxdResponse tremplin_start_lxd_response = 44;
int32 tremplin_get_debug_info_status = 47;
vm_tools.tremplin.GetDebugInfoResponse tremplin_get_debug_info_response = 48;
int32 tremplin_attach_usb_to_container_status = 58;
vm_tools.tremplin.AttachUsbToContainerResponse
tremplin_attach_usb_to_container_response = 59;
int32 tremplin_detach_usb_from_container_status = 60;
vm_tools.tremplin.DetachUsbFromContainerResponse
tremplin_detach_usb_from_container_response = 61;
}
// A list of fuzzer actions. This is the actual input to the fuzzer.
message ContainerListenerFuzzerInput {
repeated ContainerListenerFuzzerSingleAction action = 1;
}