-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
request_log.proto
91 lines (78 loc) · 3.45 KB
/
request_log.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// Copyright 2024 Google LLC
//
// 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 = "proto3";
package google.cloud.identitytoolkit.logging;
import "google/protobuf/struct.proto";
import "google/rpc/status.proto";
option go_package = "cloud.google.com/go/identitytoolkit/logging/loggingpb;loggingpb";
option java_multiple_files = true;
option java_outer_classname = "RequestLogProto";
option java_package = "com.google.cloud.identitytoolkit.logging";
// Log of a request to Identitytoolkit. This proto is modeled after
// google.cloud.audit.AuditLog so that consumers can easily query
// for requests regardless of whether those requests were logged via
// Cloud Audit Logging or Identitytoolkit request logging.
message RequestLog {
// The name of the service method or operation.
// For API calls, this should be the name of the API method.
// For example,
//
// "google.datastore.v1.Datastore.RunQuery"
// "google.logging.v1.LoggingService.DeleteLog"
string method_name = 1;
// The status of the overall operation.
google.rpc.Status status = 2;
// Metadata about the operation.
RequestMetadata request_metadata = 3;
// The operation request. This may not include all request parameters,
// such as those that are too large, privacy-sensitive, or duplicated
// elsewhere in the log record.
// It should never include user-generated data, such as file contents.
// When the JSON object represented here has a proto equivalent, the proto
// name will be indicated in the `@type` property.
google.protobuf.Struct request = 4;
// The operation response. This may not include all response elements,
// such as those that are too large, privacy-sensitive, or duplicated
// elsewhere in the log record.
// It should never include user-generated data, such as file contents.
// When the JSON object represented here has a proto equivalent, the proto
// name will be indicated in the `@type` property.
google.protobuf.Struct response = 5;
// The number of items returned from a List or Query API method,
// if applicable.
int64 num_response_items = 6;
// Other service-specific data about the request, response, and other
// information associated with the current event.
google.protobuf.Struct metadata = 7;
}
// Metadata about the request.
message RequestMetadata {
// The IP address of the caller.
string caller_ip = 1;
// The user agent of the caller.
// This information is not authenticated and should be treated
// accordingly.
//
// For example:
//
// + `google-api-python-client/1.4.0`:
// The request was made by the Google API client for Python.
// + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
// The request was made by the Google Cloud SDK CLI (gcloud).
// + `AppEngine-Google; (+http://code.google.com/appengine; appid:
// s~my-project`:
// The request was made from the `my-project` App Engine app.
// NOLINT
string caller_supplied_user_agent = 2;
}