xref: /aosp_15_r20/tools/acloud/internal/proto/user_config.proto (revision 800a58d989c669b8eb8a71d8df53b1ba3d411444)
1*800a58d9SAndroid Build Coastguard Worker// Copyright 2016 The Android Open Source Project
2*800a58d9SAndroid Build Coastguard Worker//
3*800a58d9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*800a58d9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*800a58d9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*800a58d9SAndroid Build Coastguard Worker//
7*800a58d9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*800a58d9SAndroid Build Coastguard Worker//
9*800a58d9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*800a58d9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*800a58d9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*800a58d9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*800a58d9SAndroid Build Coastguard Worker// limitations under the License.
14*800a58d9SAndroid Build Coastguard Worker
15*800a58d9SAndroid Build Coastguard Workersyntax = "proto2";
16*800a58d9SAndroid Build Coastguard Worker
17*800a58d9SAndroid Build Coastguard Workerpackage acloud.internal.proto;
18*800a58d9SAndroid Build Coastguard Worker
19*800a58d9SAndroid Build Coastguard Worker// Hold configurations from user.
20*800a58d9SAndroid Build Coastguard Workermessage UserConfig {
21*800a58d9SAndroid Build Coastguard Worker  // Account information for accessing Cloud API
22*800a58d9SAndroid Build Coastguard Worker  optional string service_account_name = 1;
23*800a58d9SAndroid Build Coastguard Worker  optional string service_account_private_key_path = 2;
24*800a58d9SAndroid Build Coastguard Worker
25*800a58d9SAndroid Build Coastguard Worker  // Compute Engine project name
26*800a58d9SAndroid Build Coastguard Worker  optional string project = 3;
27*800a58d9SAndroid Build Coastguard Worker  // Compute Engine zone name, e.g. "us-central1-f"
28*800a58d9SAndroid Build Coastguard Worker  optional string zone = 4;
29*800a58d9SAndroid Build Coastguard Worker  optional string machine_type = 5;
30*800a58d9SAndroid Build Coastguard Worker  // Compute Engine network name, e.g. "default"
31*800a58d9SAndroid Build Coastguard Worker  optional string network = 6;
32*800a58d9SAndroid Build Coastguard Worker
33*800a58d9SAndroid Build Coastguard Worker  // SSH key configuration
34*800a58d9SAndroid Build Coastguard Worker  optional string ssh_private_key_path = 7;
35*800a58d9SAndroid Build Coastguard Worker  optional string ssh_public_key_path = 8;
36*800a58d9SAndroid Build Coastguard Worker
37*800a58d9SAndroid Build Coastguard Worker  // Storage configuration
38*800a58d9SAndroid Build Coastguard Worker  optional string storage_bucket_name = 9;
39*800a58d9SAndroid Build Coastguard Worker
40*800a58d9SAndroid Build Coastguard Worker  // Desired orientation, e.g. 'portrait' or 'landscape'
41*800a58d9SAndroid Build Coastguard Worker  optional string orientation = 10;
42*800a58d9SAndroid Build Coastguard Worker  // Desired resolution
43*800a58d9SAndroid Build Coastguard Worker  optional string resolution = 11;
44*800a58d9SAndroid Build Coastguard Worker  // Size of extra data disk.
45*800a58d9SAndroid Build Coastguard Worker  optional int32 extra_data_disk_size_gb = 12;
46*800a58d9SAndroid Build Coastguard Worker  // Metadata for creating Compute Engine instance
47*800a58d9SAndroid Build Coastguard Worker  map <string, string>  metadata_variable = 13;
48*800a58d9SAndroid Build Coastguard Worker
49*800a58d9SAndroid Build Coastguard Worker  // client_id and client secret are required when user authenticates via
50*800a58d9SAndroid Build Coastguard Worker  // Oauth2 flow with their user account (not service account).
51*800a58d9SAndroid Build Coastguard Worker  //   * They are created in the cloud project console -> API manager.
52*800a58d9SAndroid Build Coastguard Worker  //   * They are used to authorize the app to talk to the cloud project
53*800a58d9SAndroid Build Coastguard Worker  //     on behalf of the user.
54*800a58d9SAndroid Build Coastguard Worker  //   * They by themselves do not authenticate the user.
55*800a58d9SAndroid Build Coastguard Worker  //   * They are stored as plain text in the configuration file so they are
56*800a58d9SAndroid Build Coastguard Worker  //     not that secret. Generally, we should not share it with people we
57*800a58d9SAndroid Build Coastguard Worker  //     don't trust.
58*800a58d9SAndroid Build Coastguard Worker  //   * All users talking to the same cloud project can share the same
59*800a58d9SAndroid Build Coastguard Worker  //     client_id and client_secret.
60*800a58d9SAndroid Build Coastguard Worker  optional string client_id = 14;
61*800a58d9SAndroid Build Coastguard Worker  optional string client_secret = 15;
62*800a58d9SAndroid Build Coastguard Worker
63*800a58d9SAndroid Build Coastguard Worker  // [CVD only] The name of the stable host image released by Cloud Android team
64*800a58d9SAndroid Build Coastguard Worker  optional string stable_host_image_name = 16;
65*800a58d9SAndroid Build Coastguard Worker  // [CVD only] The name of the host image family released by Cloud Android team
66*800a58d9SAndroid Build Coastguard Worker  optional string stable_host_image_family = 17;
67*800a58d9SAndroid Build Coastguard Worker  // [CVD only] The project that the stable host image is released to
68*800a58d9SAndroid Build Coastguard Worker  optional string stable_host_image_project = 18;
69*800a58d9SAndroid Build Coastguard Worker
70*800a58d9SAndroid Build Coastguard Worker  // [GOLDFISH only] The name of the stable host image released by Android
71*800a58d9SAndroid Build Coastguard Worker  // Emulator (emu-dev) team
72*800a58d9SAndroid Build Coastguard Worker  optional string stable_goldfish_host_image_name = 19;
73*800a58d9SAndroid Build Coastguard Worker  // [GOLDFISH only] The project that the stable goldfish host image is
74*800a58d9SAndroid Build Coastguard Worker  // released to (emu-dev-cts)
75*800a58d9SAndroid Build Coastguard Worker
76*800a58d9SAndroid Build Coastguard Worker  optional string stable_goldfish_host_image_project = 20;
77*800a58d9SAndroid Build Coastguard Worker
78*800a58d9SAndroid Build Coastguard Worker  // Account information for accessing Cloud API
79*800a58d9SAndroid Build Coastguard Worker  // This is the new way to provide service account auth.
80*800a58d9SAndroid Build Coastguard Worker  optional string service_account_json_private_key_path = 21;
81*800a58d9SAndroid Build Coastguard Worker
82*800a58d9SAndroid Build Coastguard Worker  // Desired hw_property
83*800a58d9SAndroid Build Coastguard Worker  optional string hw_property = 22;
84*800a58d9SAndroid Build Coastguard Worker
85*800a58d9SAndroid Build Coastguard Worker  // [CHEEPS only] The name of the stable host image released by the ARC
86*800a58d9SAndroid Build Coastguard Worker  // (arc-eng) team
87*800a58d9SAndroid Build Coastguard Worker  optional string stable_cheeps_host_image_name = 23;
88*800a58d9SAndroid Build Coastguard Worker  // [CHEEPS only] The project that the stable host image is released to
89*800a58d9SAndroid Build Coastguard Worker  optional string stable_cheeps_host_image_project = 24;
90*800a58d9SAndroid Build Coastguard Worker
91*800a58d9SAndroid Build Coastguard Worker  // [CVD only] It will get passed into the launch_cvd command if not empty.
92*800a58d9SAndroid Build Coastguard Worker  // In version 0.7.2 and later.
93*800a58d9SAndroid Build Coastguard Worker  optional string launch_args = 25;
94*800a58d9SAndroid Build Coastguard Worker
95*800a58d9SAndroid Build Coastguard Worker  // The pattern of the instance name, e.g. ins-{uuid}-{build_id}-{build_target}
96*800a58d9SAndroid Build Coastguard Worker  // the parts in {} will be automatically replaced with the actual value if
97*800a58d9SAndroid Build Coastguard Worker  // you specify them in the pattern, uuid will be automatically generated.
98*800a58d9SAndroid Build Coastguard Worker  optional string instance_name_pattern = 26;
99*800a58d9SAndroid Build Coastguard Worker
100*800a58d9SAndroid Build Coastguard Worker  // List of scopes that will be given to the instance
101*800a58d9SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes
102*800a58d9SAndroid Build Coastguard Worker  repeated string extra_scopes = 27;
103*800a58d9SAndroid Build Coastguard Worker
104*800a58d9SAndroid Build Coastguard Worker  // Provide some additional parameters to build the ssh tunnel.
105*800a58d9SAndroid Build Coastguard Worker  optional string extra_args_ssh_tunnel = 28;
106*800a58d9SAndroid Build Coastguard Worker
107*800a58d9SAndroid Build Coastguard Worker  // [CVD only] Version of fetch_cvd to use.
108*800a58d9SAndroid Build Coastguard Worker  optional string fetch_cvd_version = 29;
109*800a58d9SAndroid Build Coastguard Worker
110*800a58d9SAndroid Build Coastguard Worker  // [CVD only] Enable multi stage function.
111*800a58d9SAndroid Build Coastguard Worker  optional bool enable_multi_stage = 30;
112*800a58d9SAndroid Build Coastguard Worker
113*800a58d9SAndroid Build Coastguard Worker  // [CHEEPS only] The name of the L1 betty image (used with Cheeps controller)
114*800a58d9SAndroid Build Coastguard Worker  optional string betty_image = 31;
115*800a58d9SAndroid Build Coastguard Worker
116*800a58d9SAndroid Build Coastguard Worker  // [Oxygen only] The OAuth Credentials of API key.
117*800a58d9SAndroid Build Coastguard Worker  optional string api_key = 32;
118*800a58d9SAndroid Build Coastguard Worker
119*800a58d9SAndroid Build Coastguard Worker  // [Oxygen only] The API service url.
120*800a58d9SAndroid Build Coastguard Worker  optional string api_url = 33;
121*800a58d9SAndroid Build Coastguard Worker
122*800a58d9SAndroid Build Coastguard Worker  // [Oxygen only] The client to call oxygen api.
123*800a58d9SAndroid Build Coastguard Worker  optional string oxygen_client = 34;
124*800a58d9SAndroid Build Coastguard Worker
125*800a58d9SAndroid Build Coastguard Worker  // [Oxygen only] The args append to lease command.
126*800a58d9SAndroid Build Coastguard Worker  optional string oxygen_lease_args = 35;
127*800a58d9SAndroid Build Coastguard Worker
128*800a58d9SAndroid Build Coastguard Worker  // Storage options of created GCP instance, e.g. pd-standard, pd-ssd.
129*800a58d9SAndroid Build Coastguard Worker  optional string disk_type = 36;
130*800a58d9SAndroid Build Coastguard Worker
131*800a58d9SAndroid Build Coastguard Worker  // [CVD only] Ssh connect with hostname.
132*800a58d9SAndroid Build Coastguard Worker  optional bool connect_hostname = 37;
133*800a58d9SAndroid Build Coastguard Worker
134*800a58d9SAndroid Build Coastguard Worker  // [CVD only] [DEPRECATED].
135*800a58d9SAndroid Build Coastguard Worker  optional bool use_cvdr = 38;
136*800a58d9SAndroid Build Coastguard Worker
137*800a58d9SAndroid Build Coastguard Worker  // [CVD only] Opt out from using cvdr.
138*800a58d9SAndroid Build Coastguard Worker  optional bool use_legacy_acloud = 39;
139*800a58d9SAndroid Build Coastguard Worker}
140