1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.oslogin.common; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Worker 22*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.OsLogin.Common"; 23*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/oslogin/common/commonpb;commonpb"; 24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "OsLoginProto"; 25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.oslogin.common"; 26*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\OsLogin\\Common"; 27*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::OsLogin::Common"; 28*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 29*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/User" 30*d5c09012SAndroid Build Coastguard Worker pattern: "users/{user}" 31*d5c09012SAndroid Build Coastguard Worker}; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// The operating system options for account entries. 34*d5c09012SAndroid Build Coastguard Workerenum OperatingSystemType { 35*d5c09012SAndroid Build Coastguard Worker // The operating system type associated with the user account information is 36*d5c09012SAndroid Build Coastguard Worker // unspecified. 37*d5c09012SAndroid Build Coastguard Worker OPERATING_SYSTEM_TYPE_UNSPECIFIED = 0; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Linux user account information. 40*d5c09012SAndroid Build Coastguard Worker LINUX = 1; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Windows user account information. 43*d5c09012SAndroid Build Coastguard Worker WINDOWS = 2; 44*d5c09012SAndroid Build Coastguard Worker} 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker// The POSIX account information associated with a Google account. 47*d5c09012SAndroid Build Coastguard Workermessage PosixAccount { 48*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 49*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/PosixAccount" 50*d5c09012SAndroid Build Coastguard Worker pattern: "users/{user}/projects/{project}" 51*d5c09012SAndroid Build Coastguard Worker }; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Only one POSIX account can be marked as primary. 54*d5c09012SAndroid Build Coastguard Worker bool primary = 1; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // The username of the POSIX account. 57*d5c09012SAndroid Build Coastguard Worker string username = 2; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // The user ID. 60*d5c09012SAndroid Build Coastguard Worker int64 uid = 3; 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // The default group ID. 63*d5c09012SAndroid Build Coastguard Worker int64 gid = 4; 64*d5c09012SAndroid Build Coastguard Worker 65*d5c09012SAndroid Build Coastguard Worker // The path to the home directory for this account. 66*d5c09012SAndroid Build Coastguard Worker string home_directory = 5; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // The path to the logic shell for this account. 69*d5c09012SAndroid Build Coastguard Worker string shell = 6; 70*d5c09012SAndroid Build Coastguard Worker 71*d5c09012SAndroid Build Coastguard Worker // The GECOS (user information) entry for this account. 72*d5c09012SAndroid Build Coastguard Worker string gecos = 7; 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker // System identifier for which account the username or uid applies to. 75*d5c09012SAndroid Build Coastguard Worker // By default, the empty value is used. 76*d5c09012SAndroid Build Coastguard Worker string system_id = 8; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // Output only. A POSIX account identifier. 79*d5c09012SAndroid Build Coastguard Worker string account_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // The operating system type where this account applies. 82*d5c09012SAndroid Build Coastguard Worker OperatingSystemType operating_system_type = 10; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Output only. The canonical resource name. 85*d5c09012SAndroid Build Coastguard Worker string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 86*d5c09012SAndroid Build Coastguard Worker} 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker// The SSH public key information associated with a Google account. 89*d5c09012SAndroid Build Coastguard Workermessage SshPublicKey { 90*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 91*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/SshPublicKey" 92*d5c09012SAndroid Build Coastguard Worker pattern: "users/{user}/sshPublicKeys/{fingerprint}" 93*d5c09012SAndroid Build Coastguard Worker }; 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker // Public key text in SSH format, defined by 96*d5c09012SAndroid Build Coastguard Worker // <a href="https://www.ietf.org/rfc/rfc4253.txt" target="_blank">RFC4253</a> 97*d5c09012SAndroid Build Coastguard Worker // section 6.6. 98*d5c09012SAndroid Build Coastguard Worker string key = 1; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // An expiration time in microseconds since epoch. 101*d5c09012SAndroid Build Coastguard Worker int64 expiration_time_usec = 2; 102*d5c09012SAndroid Build Coastguard Worker 103*d5c09012SAndroid Build Coastguard Worker // Output only. The SHA-256 fingerprint of the SSH public key. 104*d5c09012SAndroid Build Coastguard Worker string fingerprint = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // Output only. The canonical resource name. 107*d5c09012SAndroid Build Coastguard Worker string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 108*d5c09012SAndroid Build Coastguard Worker} 109