blob: 26f84e1d4fb99342626b622e6eb20767e00e8076 [file] [log] [blame]
/*
* Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package android.aconfigd;
option optimize_for = LITE_RUNTIME;
message PersistStorageRecord {
optional uint32 version = 1;
optional string container = 2;
optional string package_map = 3;
optional string flag_map = 4;
optional string flag_val = 5;
optional string digest = 6;
optional string flag_info = 7;
}
message PersistStorageRecords {
repeated PersistStorageRecord records = 1;
}
message FlagOverride {
optional string package_name = 1;
optional string flag_name = 2;
optional string flag_value = 3;
}
message LocalFlagOverrides {
repeated FlagOverride overrides = 1;
}
// incoming request to aconfigd
message StorageRequestMessage {
// new storage notification
message NewStorageMessage {
optional string container = 1;
optional string package_map = 2;
optional string flag_map = 3;
optional string flag_value = 4;
optional string flag_info = 5;
}
enum FlagOverrideType {
LOCAL_IMMEDIATE = 1;
LOCAL_ON_REBOOT = 2;
SERVER_ON_REBOOT = 3;
}
// request persistent flag value override
message FlagOverrideMessage {
optional string package_name = 1;
optional string flag_name = 2;
optional string flag_value = 3;
optional FlagOverrideType override_type = 4;
}
// request to stage ota flags
message OTAFlagStagingMessage {
optional string build_id = 1;
repeated FlagOverride overrides = 2;
}
enum RemoveOverrideType {
REMOVE_LOCAL_IMMEDIATE = 1;
REMOVE_LOCAL_ON_REBOOT = 2;
}
// request to remove local flag override
message RemoveLocalOverrideMessage {
optional bool remove_all = 1;
optional string package_name = 2;
optional string flag_name = 3;
optional RemoveOverrideType remove_override_type = 4;
}
// query persistent flag value and info
message FlagQueryMessage {
optional string package_name = 1;
optional string flag_name = 2;
}
// reset all storage
message ResetStorageMessage {
oneof msg {
bool all = 1;
string container = 2;
}
}
// list storage
message ListStorageMessage {
oneof msg {
bool all = 1;
string container = 2;
string package_name = 3;
}
}
oneof msg {
NewStorageMessage new_storage_message = 1;
FlagOverrideMessage flag_override_message = 2;
OTAFlagStagingMessage ota_staging_message = 3;
FlagQueryMessage flag_query_message = 4;
RemoveLocalOverrideMessage remove_local_override_message = 5;
ResetStorageMessage reset_storage_message = 6;
ListStorageMessage list_storage_message = 7;
};
}
message StorageRequestMessages {
repeated StorageRequestMessage msgs = 1;
}
// aconfigd return to client
message StorageReturnMessage {
message NewStorageReturnMessage {
optional bool storage_updated = 1;
}
message FlagOverrideReturnMessage {}
message OTAFlagStagingReturnMessage {}
message FlagQueryReturnMessage {
optional string package_name = 1;
optional string flag_name = 2;
optional string server_flag_value = 3;
optional string local_flag_value = 4;
optional string boot_flag_value = 5;
optional string default_flag_value = 6;
optional bool has_server_override = 7;
optional bool is_readwrite = 8;
optional bool has_local_override = 9;
optional bool has_boot_local_override = 10;
optional string container = 11;
}
message RemoveLocalOverrideReturnMessage {}
message ResetStorageReturnMessage {}
message ListStorageReturnMessage {
repeated FlagQueryReturnMessage flags = 1;
}
oneof msg {
NewStorageReturnMessage new_storage_message = 1;
FlagOverrideReturnMessage flag_override_message = 2;
OTAFlagStagingReturnMessage ota_staging_message = 3;
FlagQueryReturnMessage flag_query_message = 4;
RemoveLocalOverrideReturnMessage remove_local_override_message = 5;
ResetStorageReturnMessage reset_storage_message = 6;
ListStorageReturnMessage list_storage_message = 7;
string error_message = 8;
};
}
message StorageReturnMessages {
repeated StorageReturnMessage msgs = 1;
}