xref: /aosp_15_r20/external/googleapis/google/cloud/asset/v1p1beta1/assets.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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