// Copyright 2016 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 acloud.internal.proto; // Hold configurations from user. message UserConfig { // Account information for accessing Cloud API optional string service_account_name = 1; optional string service_account_private_key_path = 2; // Compute Engine project name optional string project = 3; // Compute Engine zone name, e.g. "us-central1-f" optional string zone = 4; optional string machine_type = 5; // Compute Engine network name, e.g. "default" optional string network = 6; // SSH key configuration optional string ssh_private_key_path = 7; optional string ssh_public_key_path = 8; // Storage configuration optional string storage_bucket_name = 9; // Desired orientation, e.g. 'portrait' or 'landscape' optional string orientation = 10; // Desired resolution optional string resolution = 11; // Size of extra data disk. optional int32 extra_data_disk_size_gb = 12; // Metadata for creating Compute Engine instance map <string, string> metadata_variable = 13; // client_id and client secret are required when user authenticates via // Oauth2 flow with their user account (not service account). // * They are created in the cloud project console -> API manager. // * They are used to authorize the app to talk to the cloud project // on behalf of the user. // * They by themselves do not authenticate the user. // * They are stored as plain text in the configuration file so they are // not that secret. Generally, we should not share it with people we // don't trust. // * All users talking to the same cloud project can share the same // client_id and client_secret. optional string client_id = 14; optional string client_secret = 15; }