xref: /aosp_15_r20/external/googleapis/google/cloud/networkanalyzer/logging/v1/analyzer_log.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.networkanalyzer.logging.v1;
18
19import "google/protobuf/timestamp.proto";
20
21option csharp_namespace = "Google.Cloud.NetworkAnalyzer.Logging.V1";
22option go_package = "cloud.google.com/go/networkanalyzer/logging/apiv1/loggingpb;loggingpb";
23option java_multiple_files = true;
24option java_outer_classname = "AnalyzerLogProto";
25option java_package = "com.google.cloud.networkanalyzer.logging.v1";
26option php_namespace = "Google\\Cloud\\NetworkAnalyzer\\Logging\\V1";
27option ruby_package = "Google::Cloud::NetworkAnalyzer::Logging::V1";
28
29enum ReportCauseCode {
30  REPORT_CAUSE_CODE_UNSPECIFIED = 0;
31
32  // VPC Basics
33  ROUTE_INVALID_NEXT_HOP_VM_IP_FORWARDING_DISABLED = 1;
34
35  ROUTE_INVALID_NEXT_HOP_VM_DELETED = 2;
36
37  ROUTE_INVALID_NEXT_HOP_VM_STOPPED = 3;
38
39  ROUTE_INVALID_NEXT_HOP_ILB_MISCONFIGURED = 4;
40
41  ROUTE_INVALID_NEXT_HOP_VPN_TUNNEL_DELETED = 5;
42
43  ROUTE_INVALID_NEXT_HOP_ILB_BACKEND_IP_FORWARDING_DISABLED = 6;
44
45  IP_UTILIZATION_IP_ALLOCATION_RATIO_HIGH = 20;
46
47  // Summary of ip utilization of all subnet ranges in the project.
48  IP_UTILIZATION_IP_ALLOCATION_SUMMARY = 21;
49
50  // Kubernetes Engine
51  GKE_NODE_TO_CONTROL_PLANE_BLOCKED_BY_ROUTING_ISSUE = 201;
52
53  GKE_NODE_TO_CONTROL_PLANE_PUBLIC_ENDPOINT_BLOCKED_BY_EGRESS_FIREWALL = 202;
54
55  GKE_NODE_TO_CONTROL_PLANE_PRIVATE_ENDPOINT_BLOCKED_BY_EGRESS_FIREWALL = 203;
56
57  GKE_CONTROL_PLANE_TO_NODE_BLOCKED_BY_ROUTING_ISSUE = 211;
58
59  GKE_CONTROL_PLANE_TO_NODE_BLOCKED_BY_INGRESS_FIREWALL_ON_NODE = 212;
60
61  GKE_IP_UTILIZATION_POD_RANGES_ALLOCATION_HIGH = 221;
62
63  GKE_IP_UTILIZATION_POD_RANGES_ALLOCATION_LIMITES_AUTOSCALING = 222;
64
65  GKE_NODE_SERVICE_ACCOUNT_SERVICE_ACCOUNT_DISABLED = 243;
66
67  GKE_NODE_SERVICE_ACCOUNT_DEFAULT_SERVICE_ACCOUNT_USED = 244;
68
69  GKE_NODE_SERVICE_ACCOUNT_BAD_OAUTH_SCOPES = 245;
70
71  // Managed Services
72  CLOUD_SQL_PRIVATE_IP_BLOCKED_BY_EGRESS_FIREWALL = 601;
73
74  CLOUD_SQL_PRIVATE_IP_BLOCKED_BY_ROUTING_ISSUE = 602;
75
76  CLOUD_SQL_PRIVATE_IP_INSTANCE_NOT_RUNNING = 603;
77
78  // Hybrid Connectivity
79  DYNAMIC_ROUTE_SHADOWED_FULLY_SHADOWED_BY_SUBNET_ROUTE = 801;
80
81  DYNAMIC_ROUTE_SHADOWED_FULLY_SHADOWED_BY_PEERING_SUBNET_ROUTE = 802;
82
83  DYNAMIC_ROUTE_SHADOWED_FULLY_SHADOWED_BY_STATIC_ROUTE = 803;
84
85  DYNAMIC_ROUTE_SHADOWED_FULLY_SHADOWED_BY_PEERING_STATIC_ROUTE = 804;
86
87  DYNAMIC_ROUTE_SHADOWED_PARTIALLY_SHADOWED_BY_SUBNET_ROUTE = 805;
88
89  DYNAMIC_ROUTE_SHADOWED_PARTIALLY_SHADOWED_BY_PEERING_SUBNET_ROUTE = 806;
90
91  DYNAMIC_ROUTE_SHADOWED_PARTIALLY_SHADOWED_BY_STATIC_ROUTE = 807;
92
93  DYNAMIC_ROUTE_SHADOWED_PARTIALLY_SHADOWED_BY_PEERING_STATIC_ROUTE = 808;
94
95  // Network Services
96  LOAD_BALANCER_HEALTH_CHECK_FIREWALL_HEALTH_CHECK_FIREWALL_NOT_CONFIGURED =
97      1001;
98
99  LOAD_BALANCER_HEALTH_CHECK_FIREWALL_HEALTH_CHECK_RANGE_BLOCKED = 1002;
100
101  LOAD_BALANCER_HEALTH_CHECK_FIREWALL_FIREWALL_CONFIG_INCONSISTENT = 1003;
102
103  LOAD_BALANCER_HEALTH_CHECK_FIREWALL_HEALTH_CHECK_RANGE_PARTIALLY_BLOCKED =
104      1004;
105
106  LOAD_BALANCER_BEST_PRACTICES_BACKEND_SERVICE_BALANCING_MODE_BREAKS_SESSION_AFFINITY =
107      1021;
108
109  LOAD_BALANCER_BEST_PRACTICES_BACKEND_SERVICE_HEALTH_CHECK_PORT_MISMATCH =
110      1024;
111}
112
113message IpUtilizationInfo {
114  message SubnetIpUtilization {
115    // URI of subnet.
116    string subnet_uri = 1;
117
118    // Secondary range name. If the range is the primary range of the subnet,
119    // this field is empty.
120    string secondary_range_name = 2;
121
122    // Total number of usable IP addresses in the IP range.
123    uint64 total_usable_addresses = 3;
124
125    // The ratio of allocated IP addresses from the total usable addresses.
126    double allocation_ratio = 4;
127  }
128
129  repeated SubnetIpUtilization subnet_ip_utilization = 1;
130}
131
132// Log entry that describes a report from Network Analyzer.
133message Report {
134  // Priority level of an report.
135  enum Priority {
136    SEVERITY_UNSPECIFIED = 0;
137
138    CRITICAL = 1;
139
140    HIGH = 2;
141
142    MEDIUM = 3;
143
144    LOW = 4;
145  }
146
147  // Type of an report.
148  enum Type {
149    REPORT_TYPE_UNSPECIFIED = 0;
150
151    INFO = 1;
152
153    WARNING = 2;
154
155    ERROR = 3;
156  }
157
158  // Status of an report.
159  enum ReportStatus {
160    REPORT_STATUS_UNSPECIFIED = 0;
161
162    ACTIVE = 1;
163
164    FIXED = 2;
165
166    DISMISSED = 3;
167  }
168
169  // Groups of an report.
170  enum ReportGroup {
171    CATEGORY_UNSPECIFIED = 0;
172
173    VPC_NETWORK = 1;
174
175    NETWORK_SERVICES = 2;
176
177    KUBERNETES_ENGINE = 3;
178
179    HYBRID_CONNECTIVITY = 4;
180
181    MANAGED_SERVICES = 5;
182  }
183
184  // The unique identifier of the report.
185  string id = 1;
186
187  // Priority of the report.
188  Priority priority = 2;
189
190  // Type of the report.
191  Type type = 3;
192
193  // Status of the report.
194  ReportStatus status = 4;
195
196  // The timestamp when the report was first discovered by Network Analyzer.
197  google.protobuf.Timestamp first_report_time = 9;
198
199  // Cause code of the report.
200  ReportCauseCode cause_code = 12;
201
202  // The resource that are reported with the report.
203  // Contains the fully qualified resource name.
204  // e.g.,
205  // `//compute.googleapis.com/projects/{project_id}/global/networks/{network}`
206  string resource_name = 15;
207
208  // Location associated with the report. It can be global or GCP regions
209  // and zones. e.g., https://cloud.google.com/compute/docs/regions-zones/
210  string location = 16;
211
212  // URI to the documentation of the report.
213  string report_documentation_uri = 17;
214
215  // The groups of the report. One report may be present in multiple groups.
216  repeated ReportGroup report_groups = 18;
217
218  oneof content {
219    IpUtilizationInfo ip_utilization_info = 19;
220  }
221}
222