xref: /aosp_15_r20/system/server_configurable_flags/aconfigd/aconfigd.proto (revision 207333786ba243bc7d4d69ef6b05487aa7071806)
1*20733378SAndroid Build Coastguard Worker/*
2*20733378SAndroid Build Coastguard Worker * Copyright (C) 2024 The Android Open Source Project
3*20733378SAndroid Build Coastguard Worker *
4*20733378SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*20733378SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*20733378SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*20733378SAndroid Build Coastguard Worker *
8*20733378SAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*20733378SAndroid Build Coastguard Worker *
10*20733378SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*20733378SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*20733378SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*20733378SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*20733378SAndroid Build Coastguard Worker * limitations under the License.
15*20733378SAndroid Build Coastguard Worker */
16*20733378SAndroid Build Coastguard Worker
17*20733378SAndroid Build Coastguard Workersyntax = "proto2";
18*20733378SAndroid Build Coastguard Workerpackage android.aconfigd;
19*20733378SAndroid Build Coastguard Workeroption optimize_for = LITE_RUNTIME;
20*20733378SAndroid Build Coastguard Worker
21*20733378SAndroid Build Coastguard Workermessage PersistStorageRecord {
22*20733378SAndroid Build Coastguard Worker  optional uint32 version = 1;
23*20733378SAndroid Build Coastguard Worker  optional string container = 2;
24*20733378SAndroid Build Coastguard Worker  optional string package_map = 3;
25*20733378SAndroid Build Coastguard Worker  optional string flag_map = 4;
26*20733378SAndroid Build Coastguard Worker  optional string flag_val = 5;
27*20733378SAndroid Build Coastguard Worker  optional string digest = 6;
28*20733378SAndroid Build Coastguard Worker  optional string flag_info = 7;
29*20733378SAndroid Build Coastguard Worker}
30*20733378SAndroid Build Coastguard Worker
31*20733378SAndroid Build Coastguard Workermessage PersistStorageRecords {
32*20733378SAndroid Build Coastguard Worker  repeated PersistStorageRecord records = 1;
33*20733378SAndroid Build Coastguard Worker}
34*20733378SAndroid Build Coastguard Worker
35*20733378SAndroid Build Coastguard Workermessage FlagOverride {
36*20733378SAndroid Build Coastguard Worker  optional string package_name = 1;
37*20733378SAndroid Build Coastguard Worker  optional string flag_name = 2;
38*20733378SAndroid Build Coastguard Worker  optional string flag_value = 3;
39*20733378SAndroid Build Coastguard Worker}
40*20733378SAndroid Build Coastguard Worker
41*20733378SAndroid Build Coastguard Workermessage LocalFlagOverrides {
42*20733378SAndroid Build Coastguard Worker  repeated FlagOverride overrides = 1;
43*20733378SAndroid Build Coastguard Worker}
44*20733378SAndroid Build Coastguard Worker
45*20733378SAndroid Build Coastguard Worker// incoming request to aconfigd
46*20733378SAndroid Build Coastguard Workermessage StorageRequestMessage {
47*20733378SAndroid Build Coastguard Worker  // new storage notification
48*20733378SAndroid Build Coastguard Worker  message NewStorageMessage {
49*20733378SAndroid Build Coastguard Worker    optional string container = 1;
50*20733378SAndroid Build Coastguard Worker    optional string package_map = 2;
51*20733378SAndroid Build Coastguard Worker    optional string flag_map = 3;
52*20733378SAndroid Build Coastguard Worker    optional string flag_value = 4;
53*20733378SAndroid Build Coastguard Worker    optional string flag_info = 5;
54*20733378SAndroid Build Coastguard Worker  }
55*20733378SAndroid Build Coastguard Worker
56*20733378SAndroid Build Coastguard Worker  enum FlagOverrideType {
57*20733378SAndroid Build Coastguard Worker    LOCAL_IMMEDIATE = 1;
58*20733378SAndroid Build Coastguard Worker    LOCAL_ON_REBOOT = 2;
59*20733378SAndroid Build Coastguard Worker    SERVER_ON_REBOOT = 3;
60*20733378SAndroid Build Coastguard Worker  }
61*20733378SAndroid Build Coastguard Worker
62*20733378SAndroid Build Coastguard Worker  // request persistent flag value override
63*20733378SAndroid Build Coastguard Worker  message FlagOverrideMessage {
64*20733378SAndroid Build Coastguard Worker    optional string package_name = 1;
65*20733378SAndroid Build Coastguard Worker    optional string flag_name = 2;
66*20733378SAndroid Build Coastguard Worker    optional string flag_value = 3;
67*20733378SAndroid Build Coastguard Worker    optional FlagOverrideType override_type = 4;
68*20733378SAndroid Build Coastguard Worker  }
69*20733378SAndroid Build Coastguard Worker
70*20733378SAndroid Build Coastguard Worker  // request to stage ota flags
71*20733378SAndroid Build Coastguard Worker  message OTAFlagStagingMessage {
72*20733378SAndroid Build Coastguard Worker    optional string build_id = 1;
73*20733378SAndroid Build Coastguard Worker    repeated FlagOverride overrides = 2;
74*20733378SAndroid Build Coastguard Worker  }
75*20733378SAndroid Build Coastguard Worker
76*20733378SAndroid Build Coastguard Worker  enum RemoveOverrideType {
77*20733378SAndroid Build Coastguard Worker    REMOVE_LOCAL_IMMEDIATE = 1;
78*20733378SAndroid Build Coastguard Worker    REMOVE_LOCAL_ON_REBOOT = 2;
79*20733378SAndroid Build Coastguard Worker  }
80*20733378SAndroid Build Coastguard Worker
81*20733378SAndroid Build Coastguard Worker  // request to remove local flag override
82*20733378SAndroid Build Coastguard Worker  message RemoveLocalOverrideMessage {
83*20733378SAndroid Build Coastguard Worker    optional bool remove_all = 1;
84*20733378SAndroid Build Coastguard Worker    optional string package_name = 2;
85*20733378SAndroid Build Coastguard Worker    optional string flag_name = 3;
86*20733378SAndroid Build Coastguard Worker    optional RemoveFlagOverrideType remove_override_type = 4;
87*20733378SAndroid Build Coastguard Worker  }
88*20733378SAndroid Build Coastguard Worker
89*20733378SAndroid Build Coastguard Worker  // query persistent flag value and info
90*20733378SAndroid Build Coastguard Worker  message FlagQueryMessage {
91*20733378SAndroid Build Coastguard Worker    optional string package_name = 1;
92*20733378SAndroid Build Coastguard Worker    optional string flag_name = 2;
93*20733378SAndroid Build Coastguard Worker  }
94*20733378SAndroid Build Coastguard Worker
95*20733378SAndroid Build Coastguard Worker  // reset all storage
96*20733378SAndroid Build Coastguard Worker  message ResetStorageMessage {
97*20733378SAndroid Build Coastguard Worker    oneof msg {
98*20733378SAndroid Build Coastguard Worker      bool all = 1;
99*20733378SAndroid Build Coastguard Worker      string container = 2;
100*20733378SAndroid Build Coastguard Worker    }
101*20733378SAndroid Build Coastguard Worker  }
102*20733378SAndroid Build Coastguard Worker
103*20733378SAndroid Build Coastguard Worker  // list storage
104*20733378SAndroid Build Coastguard Worker  message ListStorageMessage {
105*20733378SAndroid Build Coastguard Worker    oneof msg {
106*20733378SAndroid Build Coastguard Worker      bool all = 1;
107*20733378SAndroid Build Coastguard Worker      string container = 2;
108*20733378SAndroid Build Coastguard Worker      string package_name = 3;
109*20733378SAndroid Build Coastguard Worker    }
110*20733378SAndroid Build Coastguard Worker  }
111*20733378SAndroid Build Coastguard Worker
112*20733378SAndroid Build Coastguard Worker  oneof msg {
113*20733378SAndroid Build Coastguard Worker    NewStorageMessage new_storage_message = 1;
114*20733378SAndroid Build Coastguard Worker    FlagOverrideMessage flag_override_message = 2;
115*20733378SAndroid Build Coastguard Worker    OTAFlagStagingMessage ota_staging_message = 3;
116*20733378SAndroid Build Coastguard Worker    FlagQueryMessage flag_query_message = 4;
117*20733378SAndroid Build Coastguard Worker    RemoveLocalOverrideMessage remove_local_override_message = 5;
118*20733378SAndroid Build Coastguard Worker    ResetStorageMessage reset_storage_message = 6;
119*20733378SAndroid Build Coastguard Worker    ListStorageMessage list_storage_message = 7;
120*20733378SAndroid Build Coastguard Worker  };
121*20733378SAndroid Build Coastguard Worker}
122*20733378SAndroid Build Coastguard Worker
123*20733378SAndroid Build Coastguard Workermessage StorageRequestMessages {
124*20733378SAndroid Build Coastguard Worker  repeated StorageRequestMessage msgs = 1;
125*20733378SAndroid Build Coastguard Worker}
126*20733378SAndroid Build Coastguard Worker
127*20733378SAndroid Build Coastguard Worker// aconfigd return to client
128*20733378SAndroid Build Coastguard Workermessage StorageReturnMessage {
129*20733378SAndroid Build Coastguard Worker  message NewStorageReturnMessage {
130*20733378SAndroid Build Coastguard Worker    optional bool storage_updated = 1;
131*20733378SAndroid Build Coastguard Worker  }
132*20733378SAndroid Build Coastguard Worker
133*20733378SAndroid Build Coastguard Worker  message FlagOverrideReturnMessage {}
134*20733378SAndroid Build Coastguard Worker
135*20733378SAndroid Build Coastguard Worker  message OTAFlagStagingReturnMessage {}
136*20733378SAndroid Build Coastguard Worker
137*20733378SAndroid Build Coastguard Worker  message FlagQueryReturnMessage {
138*20733378SAndroid Build Coastguard Worker    optional string package_name = 1;
139*20733378SAndroid Build Coastguard Worker    optional string flag_name = 2;
140*20733378SAndroid Build Coastguard Worker    optional string server_flag_value = 3;
141*20733378SAndroid Build Coastguard Worker    optional string local_flag_value = 4;
142*20733378SAndroid Build Coastguard Worker    optional string boot_flag_value = 5;
143*20733378SAndroid Build Coastguard Worker    optional string default_flag_value = 6;
144*20733378SAndroid Build Coastguard Worker    optional bool has_server_override = 7;
145*20733378SAndroid Build Coastguard Worker    optional bool is_readwrite = 8;
146*20733378SAndroid Build Coastguard Worker    optional bool has_local_override = 9;
147*20733378SAndroid Build Coastguard Worker    optional bool has_boot_local_override = 10;
148*20733378SAndroid Build Coastguard Worker    optional string container = 11;
149*20733378SAndroid Build Coastguard Worker  }
150*20733378SAndroid Build Coastguard Worker
151*20733378SAndroid Build Coastguard Worker  message RemoveLocalOverrideReturnMessage {}
152*20733378SAndroid Build Coastguard Worker
153*20733378SAndroid Build Coastguard Worker  message ResetStorageReturnMessage {}
154*20733378SAndroid Build Coastguard Worker
155*20733378SAndroid Build Coastguard Worker  message ListStorageReturnMessage {
156*20733378SAndroid Build Coastguard Worker    repeated FlagQueryReturnMessage flags = 1;
157*20733378SAndroid Build Coastguard Worker  }
158*20733378SAndroid Build Coastguard Worker
159*20733378SAndroid Build Coastguard Worker  oneof msg {
160*20733378SAndroid Build Coastguard Worker    NewStorageReturnMessage new_storage_message = 1;
161*20733378SAndroid Build Coastguard Worker    FlagOverrideReturnMessage flag_override_message = 2;
162*20733378SAndroid Build Coastguard Worker    OTAFlagStagingReturnMessage ota_staging_message = 3;
163*20733378SAndroid Build Coastguard Worker    FlagQueryReturnMessage flag_query_message = 4;
164*20733378SAndroid Build Coastguard Worker    RemoveLocalOverrideReturnMessage remove_local_override_message = 5;
165*20733378SAndroid Build Coastguard Worker    ResetStorageReturnMessage reset_storage_message = 6;
166*20733378SAndroid Build Coastguard Worker    ListStorageReturnMessage list_storage_message = 7;
167*20733378SAndroid Build Coastguard Worker    string error_message = 8;
168*20733378SAndroid Build Coastguard Worker  };
169*20733378SAndroid Build Coastguard Worker}
170*20733378SAndroid Build Coastguard Worker
171*20733378SAndroid Build Coastguard Workermessage StorageReturnMessages {
172*20733378SAndroid Build Coastguard Worker  repeated StorageReturnMessage msgs = 1;
173*20733378SAndroid Build Coastguard Worker}
174