1// Copyright 2021 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.networking.trafficdirector.type; 18 19option csharp_namespace = "Google.Cloud.Networking.TrafficDirector.Type"; 20option go_package = "google.golang.org/genproto/googleapis/networking/trafficdirector/type"; 21option java_multiple_files = true; 22option java_outer_classname = "TrafficDirectorLogEntryProto"; 23option java_package = "com.google.networking.trafficdirector.type"; 24option objc_class_prefix = "TRFCD"; 25option php_namespace = "Google\\Cloud\\Networking\\TrafficDirector\\Type"; 26option ruby_package = "Google::Cloud::Networking::TrafficDirector::Type"; 27 28// A common proto for describing how the Traffic Director handles 29// xDS-connections/requests/responses. 30message TrafficDirectorLogEntry { 31 // Defines possible values of client type. 32 enum ClientType { 33 // Unspecified. 34 CLIENT_TYPE_UNSPECIFIED = 0; 35 36 // Envoy client. 37 ENVOY = 1; 38 39 // gRPC Java client. 40 GRPC_JAVA = 2; 41 42 // gRPC C++ client. 43 GRPC_CPP = 3; 44 45 // gRPC Python client. 46 GRPC_PYTHON = 4; 47 48 // gRPC Go client. 49 GRPC_GO = 5; 50 51 // gRPC Ruby client. 52 GRPC_RUBY = 6; 53 54 // gRPC Ruby client. 55 GRPC_PHP = 7; 56 57 // gRPC Node client. 58 GRPC_NODE = 8; 59 60 // gRPC CSharp client. 61 GRPC_CSHARP = 9; 62 63 // unknown client type. 64 UNKNOWN = 10; 65 } 66 67 // Defines possible values of API version. 68 enum TransportApiVersion { 69 // Unspecified. 70 TRANSPORT_API_VERSION_UNSPECIFIED = 0; 71 72 // v2 xDS version. 73 V2 = 1; 74 75 // v3 xDS version. 76 V3 = 2; 77 } 78 79 // An ID of xDS-client connecting to the Traffic Director. 80 string node_id = 1; 81 82 // The string representation of IPv4 or IPv6 address of xDS-client 83 // connecting to the Traffic Director. 84 // IPv4 address must be in the format defined in RFC791, four octets separated 85 // by a period. Size of a string is between 7-15 characters. Example: 1.2.3.4 86 // IPv6 address must be in one of the formats defined in RFC4291. Size of a 87 // string is between 7-39 characters. Example: 2001:DB8:0:0:8:800:200C:417A 88 string node_ip = 2; 89 90 // A free text describing details of the event. 91 string description = 4; 92 93 // Type of xDS-client connecting to Traffic Director 94 ClientType client_type = 5; 95 96 // The version of xDS-client connecting to Traffic Director. 97 string client_version = 6; 98 99 // The xDS API version used by xDS clients connecting to Traffic Director. 100 TransportApiVersion transport_api_version = 7; 101} 102