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.asset.v1p1beta1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 22*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Asset.V1P1Beta1"; 23*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/asset/apiv1p1beta1/assetpb;assetpb"; 24*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 25*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AssetProto"; 26*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.asset.v1p1beta1"; 27*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Asset\\V1p1beta1"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Worker// The standard metadata of a cloud resource. 30*d5c09012SAndroid Build Coastguard Workermessage StandardResourceMetadata { 31*d5c09012SAndroid Build Coastguard Worker // The full resource name. For example: 32*d5c09012SAndroid Build Coastguard Worker // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. 33*d5c09012SAndroid Build Coastguard Worker // See [Resource 34*d5c09012SAndroid Build Coastguard Worker // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) 35*d5c09012SAndroid Build Coastguard Worker // for more information. 36*d5c09012SAndroid Build Coastguard Worker string name = 1; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker // The type of this resource. 39*d5c09012SAndroid Build Coastguard Worker // For example: "compute.googleapis.com/Disk". 40*d5c09012SAndroid Build Coastguard Worker string asset_type = 2; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // The project that this resource belongs to, in the form of 43*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}`. 44*d5c09012SAndroid Build Coastguard Worker string project = 3; 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker // The display name of this resource. 47*d5c09012SAndroid Build Coastguard Worker string display_name = 4; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // One or more paragraphs of text description of this resource. Maximum length 50*d5c09012SAndroid Build Coastguard Worker // could be up to 1M bytes. 51*d5c09012SAndroid Build Coastguard Worker string description = 5; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Additional searchable attributes of this resource. 54*d5c09012SAndroid Build Coastguard Worker // Informational only. The exact set of attributes is subject to change. 55*d5c09012SAndroid Build Coastguard Worker // For example: project id, DNS name etc. 56*d5c09012SAndroid Build Coastguard Worker repeated string additional_attributes = 10; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Location can be "global", regional like "us-east1", or zonal like 59*d5c09012SAndroid Build Coastguard Worker // "us-west1-b". 60*d5c09012SAndroid Build Coastguard Worker string location = 11; 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // Labels associated with this resource. See [Labelling and grouping Google 63*d5c09012SAndroid Build Coastguard Worker // Cloud 64*d5c09012SAndroid Build Coastguard Worker // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) 65*d5c09012SAndroid Build Coastguard Worker // for more information. 66*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 12; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // Network tags associated with this resource. Like labels, network tags are a 69*d5c09012SAndroid Build Coastguard Worker // type of annotations used to group Google Cloud resources. See [Labelling 70*d5c09012SAndroid Build Coastguard Worker // Google Cloud 71*d5c09012SAndroid Build Coastguard Worker // resources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) 72*d5c09012SAndroid Build Coastguard Worker // for more information. 73*d5c09012SAndroid Build Coastguard Worker repeated string network_tags = 13; 74*d5c09012SAndroid Build Coastguard Worker} 75*d5c09012SAndroid Build Coastguard Worker 76*d5c09012SAndroid Build Coastguard Worker// The result for an IAM policy search. 77*d5c09012SAndroid Build Coastguard Workermessage IamPolicySearchResult { 78*d5c09012SAndroid Build Coastguard Worker // Explanation about the IAM policy search result. 79*d5c09012SAndroid Build Coastguard Worker message Explanation { 80*d5c09012SAndroid Build Coastguard Worker // The map from roles to their included permission matching the permission 81*d5c09012SAndroid Build Coastguard Worker // query (e.g. containing `policy.role.permissions:`). Example role string: 82*d5c09012SAndroid Build Coastguard Worker // "roles/compute.instanceAdmin". The roles can also be found in the 83*d5c09012SAndroid Build Coastguard Worker // returned `policy` bindings. Note that the map is populated only if 84*d5c09012SAndroid Build Coastguard Worker // requesting with a permission query. 85*d5c09012SAndroid Build Coastguard Worker map<string, Permissions> matched_permissions = 1; 86*d5c09012SAndroid Build Coastguard Worker } 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // The 89*d5c09012SAndroid Build Coastguard Worker // [full resource 90*d5c09012SAndroid Build Coastguard Worker // name](https://cloud.google.com/apis/design/resource_names#full_resource_name) 91*d5c09012SAndroid Build Coastguard Worker // of the resource associated with this IAM policy. 92*d5c09012SAndroid Build Coastguard Worker string resource = 1; 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // The project that the associated Google Cloud resource belongs to, in the 95*d5c09012SAndroid Build Coastguard Worker // form of `projects/{project_number}`. If an IAM policy is set on a resource 96*d5c09012SAndroid Build Coastguard Worker // -- such as a Compute Engine instance or a Cloud Storage bucket -- the 97*d5c09012SAndroid Build Coastguard Worker // project field will indicate the project that contains the resource. If an 98*d5c09012SAndroid Build Coastguard Worker // IAM policy is set on a folder or orgnization, the project field will be 99*d5c09012SAndroid Build Coastguard Worker // empty. 100*d5c09012SAndroid Build Coastguard Worker string project = 3; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // The IAM policy attached to the specified resource. Note that the original 103*d5c09012SAndroid Build Coastguard Worker // IAM policy can contain multiple bindings. This only contains the bindings 104*d5c09012SAndroid Build Coastguard Worker // that match the given query. For queries that don't contain a constraint on 105*d5c09012SAndroid Build Coastguard Worker // policies (e.g. an empty query), this contains all the bindings. 106*d5c09012SAndroid Build Coastguard Worker google.iam.v1.Policy policy = 4; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Explanation about the IAM policy search result. It contains additional 109*d5c09012SAndroid Build Coastguard Worker // information that explains why the search result matches the query. 110*d5c09012SAndroid Build Coastguard Worker Explanation explanation = 5; 111*d5c09012SAndroid Build Coastguard Worker} 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker// IAM permissions. 114*d5c09012SAndroid Build Coastguard Workermessage Permissions { 115*d5c09012SAndroid Build Coastguard Worker // A list of permissions. Example permission string: "compute.disk.get". 116*d5c09012SAndroid Build Coastguard Worker repeated string permissions = 1; 117*d5c09012SAndroid Build Coastguard Worker} 118