diff --git a/cloud/alloydbdata/data_test.go b/cloud/alloydbdata/data_test.go index b31c6de..27dd1a4 100644 --- a/cloud/alloydbdata/data_test.go +++ b/cloud/alloydbdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/alloydb/v1/events.proto package alloydbdata_test diff --git a/cloud/apigatewaydata/data_test.go b/cloud/apigatewaydata/data_test.go index 11e09d9..4c3a492 100644 --- a/cloud/apigatewaydata/data_test.go +++ b/cloud/apigatewaydata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/apigateway/v1/events.proto package apigatewaydata_test diff --git a/cloud/apigeeregistrydata/data_test.go b/cloud/apigeeregistrydata/data_test.go index 0fd68d9..12391ed 100644 --- a/cloud/apigeeregistrydata/data_test.go +++ b/cloud/apigeeregistrydata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/apigeeregistry/v1/events.proto package apigeeregistrydata_test diff --git a/cloud/auditdata/data_test.go b/cloud/auditdata/data_test.go index 54acbc4..911537b 100644 --- a/cloud/auditdata/data_test.go +++ b/cloud/auditdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/audit/v1/events.proto package auditdata_test diff --git a/cloud/beyondcorp/appconnectionsdata/data_test.go b/cloud/beyondcorp/appconnectionsdata/data_test.go index e30f8bf..95fc3de 100644 --- a/cloud/beyondcorp/appconnectionsdata/data_test.go +++ b/cloud/beyondcorp/appconnectionsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/beyondcorp/appconnections/v1/events.proto package appconnectionsdata_test diff --git a/cloud/beyondcorp/appconnectorsdata/data_test.go b/cloud/beyondcorp/appconnectorsdata/data_test.go index 894ea29..38ad41d 100644 --- a/cloud/beyondcorp/appconnectorsdata/data_test.go +++ b/cloud/beyondcorp/appconnectorsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/beyondcorp/appconnectors/v1/events.proto package appconnectorsdata_test diff --git a/cloud/beyondcorp/appgatewaysdata/data_test.go b/cloud/beyondcorp/appgatewaysdata/data_test.go index cefbe56..3d3b7fc 100644 --- a/cloud/beyondcorp/appgatewaysdata/data_test.go +++ b/cloud/beyondcorp/appgatewaysdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/beyondcorp/appgateways/v1/events.proto package appgatewaysdata_test diff --git a/cloud/beyondcorp/clientconnectorservicesdata/data_test.go b/cloud/beyondcorp/clientconnectorservicesdata/data_test.go index 31bf831..5a4e331 100644 --- a/cloud/beyondcorp/clientconnectorservicesdata/data_test.go +++ b/cloud/beyondcorp/clientconnectorservicesdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/beyondcorp/clientconnectorservices/v1/events.proto package clientconnectorservicesdata_test diff --git a/cloud/beyondcorp/clientgatewaysdata/data_test.go b/cloud/beyondcorp/clientgatewaysdata/data_test.go index 4b3217e..af3f518 100644 --- a/cloud/beyondcorp/clientgatewaysdata/data_test.go +++ b/cloud/beyondcorp/clientgatewaysdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/beyondcorp/clientgateways/v1/events.proto package clientgatewaysdata_test diff --git a/cloud/certificatemanagerdata/data_test.go b/cloud/certificatemanagerdata/data_test.go index 01be016..31afb33 100644 --- a/cloud/certificatemanagerdata/data_test.go +++ b/cloud/certificatemanagerdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/certificatemanager/v1/events.proto package certificatemanagerdata_test diff --git a/cloud/cloudbuilddata/data_test.go b/cloud/cloudbuilddata/data_test.go index a21580a..cdf4bef 100644 --- a/cloud/cloudbuilddata/data_test.go +++ b/cloud/cloudbuilddata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/cloudbuild/v1/events.proto package cloudbuilddata_test diff --git a/cloud/clouddmsdata/data_test.go b/cloud/clouddmsdata/data_test.go index d71c475..00b8a39 100644 --- a/cloud/clouddmsdata/data_test.go +++ b/cloud/clouddmsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/clouddms/v1/events.proto package clouddmsdata_test diff --git a/cloud/dataflowdatav1beta3/data_test.go b/cloud/dataflowdatav1beta3/data_test.go index f099f3d..4ab3659 100644 --- a/cloud/dataflowdatav1beta3/data_test.go +++ b/cloud/dataflowdatav1beta3/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/dataflow/v1beta3/events.proto package dataflowdatav1beta3_test diff --git a/cloud/datafusiondata/data_test.go b/cloud/datafusiondata/data_test.go index dc83881..cda2cee 100644 --- a/cloud/datafusiondata/data_test.go +++ b/cloud/datafusiondata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/datafusion/v1/events.proto package datafusiondata_test diff --git a/cloud/dataplexdata/data_test.go b/cloud/dataplexdata/data_test.go index 1eb8d65..7883230 100644 --- a/cloud/dataplexdata/data_test.go +++ b/cloud/dataplexdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/dataplex/v1/events.proto package dataplexdata_test diff --git a/cloud/datastoredata/data_test.go b/cloud/datastoredata/data_test.go index 60d5f97..a989fb0 100644 --- a/cloud/datastoredata/data_test.go +++ b/cloud/datastoredata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/datastore/v1/events.proto package datastoredata_test diff --git a/cloud/datastreamdata/data_test.go b/cloud/datastreamdata/data_test.go index 00d246e..d9d4849 100644 --- a/cloud/datastreamdata/data_test.go +++ b/cloud/datastreamdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/datastream/v1/events.proto package datastreamdata_test diff --git a/cloud/eventarcdata/data_test.go b/cloud/eventarcdata/data_test.go index 544118a..342769a 100644 --- a/cloud/eventarcdata/data_test.go +++ b/cloud/eventarcdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/eventarc/v1/events.proto package eventarcdata_test diff --git a/cloud/firestoredata/data_test.go b/cloud/firestoredata/data_test.go index 37ee2e4..63475a4 100644 --- a/cloud/firestoredata/data_test.go +++ b/cloud/firestoredata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/firestore/v1/events.proto package firestoredata_test diff --git a/cloud/functionsdatav2/data_test.go b/cloud/functionsdatav2/data_test.go index 3cf00c2..ebc2956 100644 --- a/cloud/functionsdatav2/data_test.go +++ b/cloud/functionsdatav2/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/functions/v2/events.proto package functionsdatav2_test diff --git a/cloud/gkebackupdata/data_test.go b/cloud/gkebackupdata/data_test.go index a32f8d6..01ecab8 100644 --- a/cloud/gkebackupdata/data_test.go +++ b/cloud/gkebackupdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/gkebackup/v1/events.proto package gkebackupdata_test diff --git a/cloud/gkehubdata/data.pb.go b/cloud/gkehubdata/data.pb.go index 7eea487..79ef09a 100644 --- a/cloud/gkehubdata/data.pb.go +++ b/cloud/gkehubdata/data.pb.go @@ -224,7 +224,7 @@ func (x ScopeLifecycleState_Code) Number() protoreflect.EnumNumber { // Deprecated: Use ScopeLifecycleState_Code.Descriptor instead. func (ScopeLifecycleState_Code) EnumDescriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{8, 0} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{7, 0} } // Code describes the state of a MembershipBinding resource. @@ -285,7 +285,7 @@ func (x MembershipBindingLifecycleState_Code) Number() protoreflect.EnumNumber { // Deprecated: Use MembershipBindingLifecycleState_Code.Descriptor instead. func (MembershipBindingLifecycleState_Code) EnumDescriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{10, 0} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{9, 0} } // ClusterType describes on prem cluster's type. @@ -346,7 +346,7 @@ func (x OnPremCluster_ClusterType) Number() protoreflect.EnumNumber { // Deprecated: Use OnPremCluster_ClusterType.Descriptor instead. func (OnPremCluster_ClusterType) EnumDescriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{17, 0} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{16, 0} } // Code describes the state of a Membership resource. @@ -411,7 +411,7 @@ func (x MembershipState_Code) Number() protoreflect.EnumNumber { // Deprecated: Use MembershipState_Code.Descriptor instead. func (MembershipState_Code) EnumDescriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{22, 0} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{21, 0} } // Feature represents the settings and status of any Hub Feature. @@ -427,25 +427,6 @@ type Feature struct { Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Output only. State of the Feature resource itself. ResourceState *FeatureResourceState `protobuf:"bytes,3,opt,name=resource_state,json=resourceState,proto3" json:"resource_state,omitempty"` - // Optional. Membership-specific configuration for this Feature. If this - // Feature does not support any per-Membership configuration, this field may - // be unused. - // - // The keys indicate which Membership the configuration is for, in the form: - // - // `projects/{p}/locations/{l}/memberships/{m}` - // - // Where {p} is the project, {l} is a valid location and {m} is a valid - // Membership in this project at that location. {p} WILL match the Feature's - // project. - // - // {p} will always be returned as the project number, but the project ID is - // also accepted during input. If the same Membership is specified in the map - // twice (using the project ID form, and the project number form), exactly - // ONE of the entries will be saved, with no guarantees as to which. For this - // reason, it is recommended the same format be used for all entries when - // mutating a Feature. - MembershipSpecs map[string]*MembershipFeatureSpec `protobuf:"bytes,5,rep,name=membership_specs,json=membershipSpecs,proto3" json:"membership_specs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Output only. The Hub-wide Feature state. State *CommonFeatureState `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` // Output only. Membership-specific Feature status. If this Feature does @@ -530,13 +511,6 @@ func (x *Feature) GetResourceState() *FeatureResourceState { return nil } -func (x *Feature) GetMembershipSpecs() map[string]*MembershipFeatureSpec { - if x != nil { - return x.MembershipSpecs - } - return nil -} - func (x *Feature) GetState() *CommonFeatureState { if x != nil { return x.State @@ -797,56 +771,6 @@ func (x *ScopeFeatureState) GetState() *FeatureState { return nil } -// MembershipFeatureSpec contains configuration information for a single -// Membership. -type MembershipFeatureSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // True if value of `feature_spec` was inherited from a fleet-level default. - FleetInherited bool `protobuf:"varint,1,opt,name=fleet_inherited,json=fleetInherited,proto3" json:"fleet_inherited,omitempty"` -} - -func (x *MembershipFeatureSpec) Reset() { - *x = MembershipFeatureSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MembershipFeatureSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MembershipFeatureSpec) ProtoMessage() {} - -func (x *MembershipFeatureSpec) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MembershipFeatureSpec.ProtoReflect.Descriptor instead. -func (*MembershipFeatureSpec) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{5} -} - -func (x *MembershipFeatureSpec) GetFleetInherited() bool { - if x != nil { - return x.FleetInherited - } - return false -} - // MembershipFeatureState contains Feature status information for a single // Membership. type MembershipFeatureState struct { @@ -861,7 +785,7 @@ type MembershipFeatureState struct { func (x *MembershipFeatureState) Reset() { *x = MembershipFeatureState{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[6] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -874,7 +798,7 @@ func (x *MembershipFeatureState) String() string { func (*MembershipFeatureState) ProtoMessage() {} func (x *MembershipFeatureState) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[6] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -887,7 +811,7 @@ func (x *MembershipFeatureState) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipFeatureState.ProtoReflect.Descriptor instead. func (*MembershipFeatureState) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{6} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{5} } func (x *MembershipFeatureState) GetState() *FeatureState { @@ -923,7 +847,7 @@ type Scope struct { func (x *Scope) Reset() { *x = Scope{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[7] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -936,7 +860,7 @@ func (x *Scope) String() string { func (*Scope) ProtoMessage() {} func (x *Scope) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[7] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -949,7 +873,7 @@ func (x *Scope) ProtoReflect() protoreflect.Message { // Deprecated: Use Scope.ProtoReflect.Descriptor instead. func (*Scope) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{7} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{6} } func (x *Scope) GetName() string { @@ -1007,7 +931,7 @@ type ScopeLifecycleState struct { func (x *ScopeLifecycleState) Reset() { *x = ScopeLifecycleState{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[8] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1020,7 +944,7 @@ func (x *ScopeLifecycleState) String() string { func (*ScopeLifecycleState) ProtoMessage() {} func (x *ScopeLifecycleState) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[8] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1033,7 +957,7 @@ func (x *ScopeLifecycleState) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopeLifecycleState.ProtoReflect.Descriptor instead. func (*ScopeLifecycleState) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{8} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{7} } func (x *ScopeLifecycleState) GetCode() ScopeLifecycleState_Code { @@ -1079,7 +1003,7 @@ type MembershipBinding struct { func (x *MembershipBinding) Reset() { *x = MembershipBinding{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[9] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1092,7 +1016,7 @@ func (x *MembershipBinding) String() string { func (*MembershipBinding) ProtoMessage() {} func (x *MembershipBinding) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[9] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1105,7 +1029,7 @@ func (x *MembershipBinding) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipBinding.ProtoReflect.Descriptor instead. func (*MembershipBinding) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{9} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{8} } func (m *MembershipBinding) GetTarget() isMembershipBinding_Target { @@ -1204,7 +1128,7 @@ type MembershipBindingLifecycleState struct { func (x *MembershipBindingLifecycleState) Reset() { *x = MembershipBindingLifecycleState{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[10] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1217,7 +1141,7 @@ func (x *MembershipBindingLifecycleState) String() string { func (*MembershipBindingLifecycleState) ProtoMessage() {} func (x *MembershipBindingLifecycleState) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[10] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1230,7 +1154,7 @@ func (x *MembershipBindingLifecycleState) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipBindingLifecycleState.ProtoReflect.Descriptor instead. func (*MembershipBindingLifecycleState) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{10} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{9} } func (x *MembershipBindingLifecycleState) GetCode() MembershipBindingLifecycleState_Code { @@ -1307,7 +1231,7 @@ type Membership struct { func (x *Membership) Reset() { *x = Membership{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[11] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1320,7 +1244,7 @@ func (x *Membership) String() string { func (*Membership) ProtoMessage() {} func (x *Membership) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[11] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1333,7 +1257,7 @@ func (x *Membership) ProtoReflect() protoreflect.Message { // Deprecated: Use Membership.ProtoReflect.Descriptor instead. func (*Membership) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{11} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{10} } func (m *Membership) GetType() isMembership_Type { @@ -1474,7 +1398,7 @@ type MembershipEndpoint struct { func (x *MembershipEndpoint) Reset() { *x = MembershipEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[12] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1487,7 +1411,7 @@ func (x *MembershipEndpoint) String() string { func (*MembershipEndpoint) ProtoMessage() {} func (x *MembershipEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[12] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1500,7 +1424,7 @@ func (x *MembershipEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipEndpoint.ProtoReflect.Descriptor instead. func (*MembershipEndpoint) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{12} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{11} } func (m *MembershipEndpoint) GetType() isMembershipEndpoint_Type { @@ -1639,7 +1563,7 @@ type KubernetesResource struct { func (x *KubernetesResource) Reset() { *x = KubernetesResource{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[13] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1652,7 +1576,7 @@ func (x *KubernetesResource) String() string { func (*KubernetesResource) ProtoMessage() {} func (x *KubernetesResource) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[13] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1665,7 +1589,7 @@ func (x *KubernetesResource) ProtoReflect() protoreflect.Message { // Deprecated: Use KubernetesResource.ProtoReflect.Descriptor instead. func (*KubernetesResource) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{13} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{12} } func (x *KubernetesResource) GetMembershipResources() []*ResourceManifest { @@ -1713,7 +1637,7 @@ type ResourceOptions struct { func (x *ResourceOptions) Reset() { *x = ResourceOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[14] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1726,7 +1650,7 @@ func (x *ResourceOptions) String() string { func (*ResourceOptions) ProtoMessage() {} func (x *ResourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[14] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1739,7 +1663,7 @@ func (x *ResourceOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceOptions.ProtoReflect.Descriptor instead. func (*ResourceOptions) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{14} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{13} } func (x *ResourceOptions) GetConnectVersion() string { @@ -1783,7 +1707,7 @@ type ResourceManifest struct { func (x *ResourceManifest) Reset() { *x = ResourceManifest{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[15] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1796,7 +1720,7 @@ func (x *ResourceManifest) String() string { func (*ResourceManifest) ProtoMessage() {} func (x *ResourceManifest) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[15] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1809,7 +1733,7 @@ func (x *ResourceManifest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceManifest.ProtoReflect.Descriptor instead. func (*ResourceManifest) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{15} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{14} } func (x *ResourceManifest) GetManifest() string { @@ -1846,7 +1770,7 @@ type GkeCluster struct { func (x *GkeCluster) Reset() { *x = GkeCluster{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[16] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1859,7 +1783,7 @@ func (x *GkeCluster) String() string { func (*GkeCluster) ProtoMessage() {} func (x *GkeCluster) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[16] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1872,7 +1796,7 @@ func (x *GkeCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use GkeCluster.ProtoReflect.Descriptor instead. func (*GkeCluster) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{16} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{15} } func (x *GkeCluster) GetResourceLink() string { @@ -1914,7 +1838,7 @@ type OnPremCluster struct { func (x *OnPremCluster) Reset() { *x = OnPremCluster{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[17] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1927,7 +1851,7 @@ func (x *OnPremCluster) String() string { func (*OnPremCluster) ProtoMessage() {} func (x *OnPremCluster) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[17] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1940,7 +1864,7 @@ func (x *OnPremCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use OnPremCluster.ProtoReflect.Descriptor instead. func (*OnPremCluster) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{17} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{16} } func (x *OnPremCluster) GetResourceLink() string { @@ -1993,7 +1917,7 @@ type MultiCloudCluster struct { func (x *MultiCloudCluster) Reset() { *x = MultiCloudCluster{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[18] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2006,7 +1930,7 @@ func (x *MultiCloudCluster) String() string { func (*MultiCloudCluster) ProtoMessage() {} func (x *MultiCloudCluster) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[18] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2019,7 +1943,7 @@ func (x *MultiCloudCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use MultiCloudCluster.ProtoReflect.Descriptor instead. func (*MultiCloudCluster) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{18} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{17} } func (x *MultiCloudCluster) GetResourceLink() string { @@ -2052,7 +1976,7 @@ type EdgeCluster struct { func (x *EdgeCluster) Reset() { *x = EdgeCluster{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[19] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2065,7 +1989,7 @@ func (x *EdgeCluster) String() string { func (*EdgeCluster) ProtoMessage() {} func (x *EdgeCluster) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[19] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2078,7 +2002,7 @@ func (x *EdgeCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use EdgeCluster.ProtoReflect.Descriptor instead. func (*EdgeCluster) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{19} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{18} } func (x *EdgeCluster) GetResourceLink() string { @@ -2105,7 +2029,7 @@ type ApplianceCluster struct { func (x *ApplianceCluster) Reset() { *x = ApplianceCluster{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[20] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2118,7 +2042,7 @@ func (x *ApplianceCluster) String() string { func (*ApplianceCluster) ProtoMessage() {} func (x *ApplianceCluster) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[20] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2131,7 +2055,7 @@ func (x *ApplianceCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplianceCluster.ProtoReflect.Descriptor instead. func (*ApplianceCluster) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{20} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{19} } func (x *ApplianceCluster) GetResourceLink() string { @@ -2172,7 +2096,7 @@ type KubernetesMetadata struct { func (x *KubernetesMetadata) Reset() { *x = KubernetesMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[21] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2185,7 +2109,7 @@ func (x *KubernetesMetadata) String() string { func (*KubernetesMetadata) ProtoMessage() {} func (x *KubernetesMetadata) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[21] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2198,7 +2122,7 @@ func (x *KubernetesMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use KubernetesMetadata.ProtoReflect.Descriptor instead. func (*KubernetesMetadata) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{21} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{20} } func (x *KubernetesMetadata) GetKubernetesApiServerVersion() string { @@ -2256,7 +2180,7 @@ type MembershipState struct { func (x *MembershipState) Reset() { *x = MembershipState{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[22] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2269,7 +2193,7 @@ func (x *MembershipState) String() string { func (*MembershipState) ProtoMessage() {} func (x *MembershipState) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[22] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2282,7 +2206,7 @@ func (x *MembershipState) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipState.ProtoReflect.Descriptor instead. func (*MembershipState) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{22} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{21} } func (x *MembershipState) GetCode() MembershipState_Code { @@ -2333,7 +2257,7 @@ type Authority struct { func (x *Authority) Reset() { *x = Authority{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[23] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2346,7 +2270,7 @@ func (x *Authority) String() string { func (*Authority) ProtoMessage() {} func (x *Authority) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[23] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2359,7 +2283,7 @@ func (x *Authority) ProtoReflect() protoreflect.Message { // Deprecated: Use Authority.ProtoReflect.Descriptor instead. func (*Authority) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{23} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{22} } func (x *Authority) GetIssuer() string { @@ -2403,7 +2327,7 @@ type ScopeEventData struct { func (x *ScopeEventData) Reset() { *x = ScopeEventData{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[24] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2416,7 +2340,7 @@ func (x *ScopeEventData) String() string { func (*ScopeEventData) ProtoMessage() {} func (x *ScopeEventData) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[24] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2429,7 +2353,7 @@ func (x *ScopeEventData) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopeEventData.ProtoReflect.Descriptor instead. func (*ScopeEventData) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{24} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{23} } func (x *ScopeEventData) GetPayload() *Scope { @@ -2452,7 +2376,7 @@ type MembershipEventData struct { func (x *MembershipEventData) Reset() { *x = MembershipEventData{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[25] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2465,7 +2389,7 @@ func (x *MembershipEventData) String() string { func (*MembershipEventData) ProtoMessage() {} func (x *MembershipEventData) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[25] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2478,7 +2402,7 @@ func (x *MembershipEventData) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipEventData.ProtoReflect.Descriptor instead. func (*MembershipEventData) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{25} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{24} } func (x *MembershipEventData) GetPayload() *Membership { @@ -2501,7 +2425,7 @@ type FeatureEventData struct { func (x *FeatureEventData) Reset() { *x = FeatureEventData{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[26] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2514,7 +2438,7 @@ func (x *FeatureEventData) String() string { func (*FeatureEventData) ProtoMessage() {} func (x *FeatureEventData) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[26] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2527,7 +2451,7 @@ func (x *FeatureEventData) ProtoReflect() protoreflect.Message { // Deprecated: Use FeatureEventData.ProtoReflect.Descriptor instead. func (*FeatureEventData) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{26} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{25} } func (x *FeatureEventData) GetPayload() *Feature { @@ -2550,7 +2474,7 @@ type MembershipBindingEventData struct { func (x *MembershipBindingEventData) Reset() { *x = MembershipBindingEventData{} if protoimpl.UnsafeEnabled { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[27] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2563,7 +2487,7 @@ func (x *MembershipBindingEventData) String() string { func (*MembershipBindingEventData) ProtoMessage() {} func (x *MembershipBindingEventData) ProtoReflect() protoreflect.Message { - mi := &file_cloud_gkehub_v1_data_proto_msgTypes[27] + mi := &file_cloud_gkehub_v1_data_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2576,7 +2500,7 @@ func (x *MembershipBindingEventData) ProtoReflect() protoreflect.Message { // Deprecated: Use MembershipBindingEventData.ProtoReflect.Descriptor instead. func (*MembershipBindingEventData) Descriptor() ([]byte, []int) { - return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{27} + return file_cloud_gkehub_v1_data_proto_rawDescGZIP(), []int{26} } func (x *MembershipBindingEventData) GetPayload() *MembershipBinding { @@ -2594,7 +2518,7 @@ var file_cloud_gkehub_v1_data_proto_rawDesc = []byte{ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x09, 0x0a, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x07, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, @@ -2607,420 +2531,401 @@ var file_cloud_gkehub_v1_data_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x69, 0x0a, + 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x5a, 0x0a, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, - 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x78, - 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x70, 0x0a, 0x10, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, - 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, 0x61, + 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x70, 0x0a, 0x10, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x14, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x22, 0x6b, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, - 0x53, 0x41, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49, - 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0xf1, 0x01, - 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x44, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x14, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x6b, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0xf1, 0x01, 0x0a, 0x0c, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, + 0x57, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x11, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x22, 0x5b, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xae, 0x02, + 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xb5, + 0x01, 0x0a, 0x13, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, - 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x22, 0x57, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, - 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x11, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x22, 0x40, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x66, - 0x6c, 0x65, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x68, 0x65, 0x72, - 0x69, 0x74, 0x65, 0x64, 0x22, 0x5b, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x80, 0x03, 0x0a, 0x11, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x1f, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, + 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x66, + 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, + 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0xf6, 0x05, 0x0a, 0x0a, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x4f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x22, 0xae, 0x02, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, - 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x66, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x66, 0x65, - 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, - 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, - 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, - 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x80, 0x03, 0x0a, 0x11, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x12, 0x16, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x6c, 0x65, 0x65, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xcd, 0x01, - 0x0a, 0x1f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x57, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, - 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0xf6, 0x05, - 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x4f, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x14, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, - 0x12, 0x4c, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0xc6, 0x05, 0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x67, 0x6b, 0x65, + 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x05, 0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4c, 0x0a, - 0x0b, 0x67, 0x6b, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x6b, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x0a, 0x67, 0x6b, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0f, 0x6f, - 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x6b, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x6b, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x65, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x65, 0x64, 0x67, 0x65, 0x5f, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, - 0x67, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x64, 0x67, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x6b, 0x75, 0x62, 0x65, - 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x13, - 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x4f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, + 0x52, 0x0d, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x62, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, + 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x6b, 0x75, - 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xb1, 0x02, 0x0a, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x13, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x7c, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x0a, 0x0b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5f, 0x63, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x43, 0x72, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x38, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x38, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x55, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x22, 0x5a, 0x0a, 0x0a, 0x47, 0x6b, 0x65, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x02, 0x0a, 0x0d, 0x4f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, + 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, 0x67, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41, 0x50, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, - 0x0a, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, - 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x22, 0x61, 0x0a, 0x11, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x32, 0x0a, 0x0b, 0x45, 0x64, - 0x67, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x37, - 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x13, 0x6b, 0x75, 0x62, 0x65, + 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x12, + 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x52, 0x13, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x7c, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5f, 0x63, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x43, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x6b, 0x38, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6b, 0x38, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, + 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x64, 0x22, 0x5a, 0x0a, 0x0a, 0x47, 0x6b, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x4b, 0x75, 0x62, 0x65, - 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, - 0x0a, 0x1d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, - 0x73, 0x41, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x64, - 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x63, - 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x76, 0x63, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x22, 0x67, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, - 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0xa3, 0x01, 0x0a, 0x09, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, - 0x34, 0x0a, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x69, 0x64, 0x63, 0x4a, 0x77, 0x6b, 0x73, 0x22, - 0x61, 0x0a, 0x0e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x43, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x22, 0xc0, 0x02, 0x0a, 0x0d, 0x4f, 0x6e, 0x50, 0x72, 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x50, 0x72, + 0x65, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, + 0x0a, 0x09, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41, 0x50, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, + 0x52, 0x10, 0x04, 0x22, 0x61, 0x0a, 0x11, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x27, 0x0a, + 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x32, 0x0a, 0x0b, 0x45, 0x64, 0x67, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x37, 0x0a, 0x10, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x1d, 0x6b, 0x75, + 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x1a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x70, 0x69, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, + 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x63, 0x70, 0x75, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x63, 0x70, 0x75, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, + 0x6d, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x4d, 0x62, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x67, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, + 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, + 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0xa3, 0x01, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x77, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x77, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x6f, 0x69, 0x64, 0x63, 0x4a, 0x77, 0x6b, 0x73, 0x22, 0x61, 0x0a, 0x0e, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x6b, + 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, + 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x65, 0x0a, 0x10, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x45, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x22, 0x6b, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x65, 0x0a, 0x10, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x79, 0x0a, 0x1a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x42, 0x29, 0xaa, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, 0x48, 0x75, 0x62, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x64, 0x22, 0x79, 0x0a, 0x1a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x4f, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x29, 0xaa, + 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, + 0x6b, 0x65, 0x48, 0x75, 0x62, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3036,7 +2941,7 @@ func file_cloud_gkehub_v1_data_proto_rawDescGZIP() []byte { } var file_cloud_gkehub_v1_data_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_cloud_gkehub_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_cloud_gkehub_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_cloud_gkehub_v1_data_proto_goTypes = []interface{}{ (FeatureResourceState_State)(0), // 0: google.events.cloud.gkehub.v1.FeatureResourceState.State (FeatureState_Code)(0), // 1: google.events.cloud.gkehub.v1.FeatureState.Code @@ -3049,95 +2954,91 @@ var file_cloud_gkehub_v1_data_proto_goTypes = []interface{}{ (*FeatureState)(nil), // 8: google.events.cloud.gkehub.v1.FeatureState (*CommonFeatureState)(nil), // 9: google.events.cloud.gkehub.v1.CommonFeatureState (*ScopeFeatureState)(nil), // 10: google.events.cloud.gkehub.v1.ScopeFeatureState - (*MembershipFeatureSpec)(nil), // 11: google.events.cloud.gkehub.v1.MembershipFeatureSpec - (*MembershipFeatureState)(nil), // 12: google.events.cloud.gkehub.v1.MembershipFeatureState - (*Scope)(nil), // 13: google.events.cloud.gkehub.v1.Scope - (*ScopeLifecycleState)(nil), // 14: google.events.cloud.gkehub.v1.ScopeLifecycleState - (*MembershipBinding)(nil), // 15: google.events.cloud.gkehub.v1.MembershipBinding - (*MembershipBindingLifecycleState)(nil), // 16: google.events.cloud.gkehub.v1.MembershipBindingLifecycleState - (*Membership)(nil), // 17: google.events.cloud.gkehub.v1.Membership - (*MembershipEndpoint)(nil), // 18: google.events.cloud.gkehub.v1.MembershipEndpoint - (*KubernetesResource)(nil), // 19: google.events.cloud.gkehub.v1.KubernetesResource - (*ResourceOptions)(nil), // 20: google.events.cloud.gkehub.v1.ResourceOptions - (*ResourceManifest)(nil), // 21: google.events.cloud.gkehub.v1.ResourceManifest - (*GkeCluster)(nil), // 22: google.events.cloud.gkehub.v1.GkeCluster - (*OnPremCluster)(nil), // 23: google.events.cloud.gkehub.v1.OnPremCluster - (*MultiCloudCluster)(nil), // 24: google.events.cloud.gkehub.v1.MultiCloudCluster - (*EdgeCluster)(nil), // 25: google.events.cloud.gkehub.v1.EdgeCluster - (*ApplianceCluster)(nil), // 26: google.events.cloud.gkehub.v1.ApplianceCluster - (*KubernetesMetadata)(nil), // 27: google.events.cloud.gkehub.v1.KubernetesMetadata - (*MembershipState)(nil), // 28: google.events.cloud.gkehub.v1.MembershipState - (*Authority)(nil), // 29: google.events.cloud.gkehub.v1.Authority - (*ScopeEventData)(nil), // 30: google.events.cloud.gkehub.v1.ScopeEventData - (*MembershipEventData)(nil), // 31: google.events.cloud.gkehub.v1.MembershipEventData - (*FeatureEventData)(nil), // 32: google.events.cloud.gkehub.v1.FeatureEventData - (*MembershipBindingEventData)(nil), // 33: google.events.cloud.gkehub.v1.MembershipBindingEventData - nil, // 34: google.events.cloud.gkehub.v1.Feature.LabelsEntry - nil, // 35: google.events.cloud.gkehub.v1.Feature.MembershipSpecsEntry - nil, // 36: google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry - nil, // 37: google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry - nil, // 38: google.events.cloud.gkehub.v1.Membership.LabelsEntry - (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*MembershipFeatureState)(nil), // 11: google.events.cloud.gkehub.v1.MembershipFeatureState + (*Scope)(nil), // 12: google.events.cloud.gkehub.v1.Scope + (*ScopeLifecycleState)(nil), // 13: google.events.cloud.gkehub.v1.ScopeLifecycleState + (*MembershipBinding)(nil), // 14: google.events.cloud.gkehub.v1.MembershipBinding + (*MembershipBindingLifecycleState)(nil), // 15: google.events.cloud.gkehub.v1.MembershipBindingLifecycleState + (*Membership)(nil), // 16: google.events.cloud.gkehub.v1.Membership + (*MembershipEndpoint)(nil), // 17: google.events.cloud.gkehub.v1.MembershipEndpoint + (*KubernetesResource)(nil), // 18: google.events.cloud.gkehub.v1.KubernetesResource + (*ResourceOptions)(nil), // 19: google.events.cloud.gkehub.v1.ResourceOptions + (*ResourceManifest)(nil), // 20: google.events.cloud.gkehub.v1.ResourceManifest + (*GkeCluster)(nil), // 21: google.events.cloud.gkehub.v1.GkeCluster + (*OnPremCluster)(nil), // 22: google.events.cloud.gkehub.v1.OnPremCluster + (*MultiCloudCluster)(nil), // 23: google.events.cloud.gkehub.v1.MultiCloudCluster + (*EdgeCluster)(nil), // 24: google.events.cloud.gkehub.v1.EdgeCluster + (*ApplianceCluster)(nil), // 25: google.events.cloud.gkehub.v1.ApplianceCluster + (*KubernetesMetadata)(nil), // 26: google.events.cloud.gkehub.v1.KubernetesMetadata + (*MembershipState)(nil), // 27: google.events.cloud.gkehub.v1.MembershipState + (*Authority)(nil), // 28: google.events.cloud.gkehub.v1.Authority + (*ScopeEventData)(nil), // 29: google.events.cloud.gkehub.v1.ScopeEventData + (*MembershipEventData)(nil), // 30: google.events.cloud.gkehub.v1.MembershipEventData + (*FeatureEventData)(nil), // 31: google.events.cloud.gkehub.v1.FeatureEventData + (*MembershipBindingEventData)(nil), // 32: google.events.cloud.gkehub.v1.MembershipBindingEventData + nil, // 33: google.events.cloud.gkehub.v1.Feature.LabelsEntry + nil, // 34: google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry + nil, // 35: google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry + nil, // 36: google.events.cloud.gkehub.v1.Membership.LabelsEntry + (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp } var file_cloud_gkehub_v1_data_proto_depIdxs = []int32{ - 34, // 0: google.events.cloud.gkehub.v1.Feature.labels:type_name -> google.events.cloud.gkehub.v1.Feature.LabelsEntry + 33, // 0: google.events.cloud.gkehub.v1.Feature.labels:type_name -> google.events.cloud.gkehub.v1.Feature.LabelsEntry 7, // 1: google.events.cloud.gkehub.v1.Feature.resource_state:type_name -> google.events.cloud.gkehub.v1.FeatureResourceState - 35, // 2: google.events.cloud.gkehub.v1.Feature.membership_specs:type_name -> google.events.cloud.gkehub.v1.Feature.MembershipSpecsEntry - 9, // 3: google.events.cloud.gkehub.v1.Feature.state:type_name -> google.events.cloud.gkehub.v1.CommonFeatureState - 36, // 4: google.events.cloud.gkehub.v1.Feature.membership_states:type_name -> google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry - 39, // 5: google.events.cloud.gkehub.v1.Feature.create_time:type_name -> google.protobuf.Timestamp - 39, // 6: google.events.cloud.gkehub.v1.Feature.update_time:type_name -> google.protobuf.Timestamp - 39, // 7: google.events.cloud.gkehub.v1.Feature.delete_time:type_name -> google.protobuf.Timestamp - 37, // 8: google.events.cloud.gkehub.v1.Feature.scope_states:type_name -> google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry - 0, // 9: google.events.cloud.gkehub.v1.FeatureResourceState.state:type_name -> google.events.cloud.gkehub.v1.FeatureResourceState.State - 1, // 10: google.events.cloud.gkehub.v1.FeatureState.code:type_name -> google.events.cloud.gkehub.v1.FeatureState.Code - 39, // 11: google.events.cloud.gkehub.v1.FeatureState.update_time:type_name -> google.protobuf.Timestamp - 8, // 12: google.events.cloud.gkehub.v1.CommonFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState - 8, // 13: google.events.cloud.gkehub.v1.ScopeFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState - 8, // 14: google.events.cloud.gkehub.v1.MembershipFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState - 39, // 15: google.events.cloud.gkehub.v1.Scope.create_time:type_name -> google.protobuf.Timestamp - 39, // 16: google.events.cloud.gkehub.v1.Scope.update_time:type_name -> google.protobuf.Timestamp - 39, // 17: google.events.cloud.gkehub.v1.Scope.delete_time:type_name -> google.protobuf.Timestamp - 14, // 18: google.events.cloud.gkehub.v1.Scope.state:type_name -> google.events.cloud.gkehub.v1.ScopeLifecycleState - 2, // 19: google.events.cloud.gkehub.v1.ScopeLifecycleState.code:type_name -> google.events.cloud.gkehub.v1.ScopeLifecycleState.Code - 39, // 20: google.events.cloud.gkehub.v1.MembershipBinding.create_time:type_name -> google.protobuf.Timestamp - 39, // 21: google.events.cloud.gkehub.v1.MembershipBinding.update_time:type_name -> google.protobuf.Timestamp - 39, // 22: google.events.cloud.gkehub.v1.MembershipBinding.delete_time:type_name -> google.protobuf.Timestamp - 16, // 23: google.events.cloud.gkehub.v1.MembershipBinding.state:type_name -> google.events.cloud.gkehub.v1.MembershipBindingLifecycleState - 3, // 24: google.events.cloud.gkehub.v1.MembershipBindingLifecycleState.code:type_name -> google.events.cloud.gkehub.v1.MembershipBindingLifecycleState.Code - 18, // 25: google.events.cloud.gkehub.v1.Membership.endpoint:type_name -> google.events.cloud.gkehub.v1.MembershipEndpoint - 38, // 26: google.events.cloud.gkehub.v1.Membership.labels:type_name -> google.events.cloud.gkehub.v1.Membership.LabelsEntry - 28, // 27: google.events.cloud.gkehub.v1.Membership.state:type_name -> google.events.cloud.gkehub.v1.MembershipState - 39, // 28: google.events.cloud.gkehub.v1.Membership.create_time:type_name -> google.protobuf.Timestamp - 39, // 29: google.events.cloud.gkehub.v1.Membership.update_time:type_name -> google.protobuf.Timestamp - 39, // 30: google.events.cloud.gkehub.v1.Membership.delete_time:type_name -> google.protobuf.Timestamp - 39, // 31: google.events.cloud.gkehub.v1.Membership.last_connection_time:type_name -> google.protobuf.Timestamp - 29, // 32: google.events.cloud.gkehub.v1.Membership.authority:type_name -> google.events.cloud.gkehub.v1.Authority - 22, // 33: google.events.cloud.gkehub.v1.MembershipEndpoint.gke_cluster:type_name -> google.events.cloud.gkehub.v1.GkeCluster - 23, // 34: google.events.cloud.gkehub.v1.MembershipEndpoint.on_prem_cluster:type_name -> google.events.cloud.gkehub.v1.OnPremCluster - 24, // 35: google.events.cloud.gkehub.v1.MembershipEndpoint.multi_cloud_cluster:type_name -> google.events.cloud.gkehub.v1.MultiCloudCluster - 25, // 36: google.events.cloud.gkehub.v1.MembershipEndpoint.edge_cluster:type_name -> google.events.cloud.gkehub.v1.EdgeCluster - 26, // 37: google.events.cloud.gkehub.v1.MembershipEndpoint.appliance_cluster:type_name -> google.events.cloud.gkehub.v1.ApplianceCluster - 27, // 38: google.events.cloud.gkehub.v1.MembershipEndpoint.kubernetes_metadata:type_name -> google.events.cloud.gkehub.v1.KubernetesMetadata - 19, // 39: google.events.cloud.gkehub.v1.MembershipEndpoint.kubernetes_resource:type_name -> google.events.cloud.gkehub.v1.KubernetesResource - 21, // 40: google.events.cloud.gkehub.v1.KubernetesResource.membership_resources:type_name -> google.events.cloud.gkehub.v1.ResourceManifest - 21, // 41: google.events.cloud.gkehub.v1.KubernetesResource.connect_resources:type_name -> google.events.cloud.gkehub.v1.ResourceManifest - 20, // 42: google.events.cloud.gkehub.v1.KubernetesResource.resource_options:type_name -> google.events.cloud.gkehub.v1.ResourceOptions - 4, // 43: google.events.cloud.gkehub.v1.OnPremCluster.cluster_type:type_name -> google.events.cloud.gkehub.v1.OnPremCluster.ClusterType - 39, // 44: google.events.cloud.gkehub.v1.KubernetesMetadata.update_time:type_name -> google.protobuf.Timestamp - 5, // 45: google.events.cloud.gkehub.v1.MembershipState.code:type_name -> google.events.cloud.gkehub.v1.MembershipState.Code - 13, // 46: google.events.cloud.gkehub.v1.ScopeEventData.payload:type_name -> google.events.cloud.gkehub.v1.Scope - 17, // 47: google.events.cloud.gkehub.v1.MembershipEventData.payload:type_name -> google.events.cloud.gkehub.v1.Membership - 6, // 48: google.events.cloud.gkehub.v1.FeatureEventData.payload:type_name -> google.events.cloud.gkehub.v1.Feature - 15, // 49: google.events.cloud.gkehub.v1.MembershipBindingEventData.payload:type_name -> google.events.cloud.gkehub.v1.MembershipBinding - 11, // 50: google.events.cloud.gkehub.v1.Feature.MembershipSpecsEntry.value:type_name -> google.events.cloud.gkehub.v1.MembershipFeatureSpec - 12, // 51: google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry.value:type_name -> google.events.cloud.gkehub.v1.MembershipFeatureState - 10, // 52: google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry.value:type_name -> google.events.cloud.gkehub.v1.ScopeFeatureState - 53, // [53:53] is the sub-list for method output_type - 53, // [53:53] is the sub-list for method input_type - 53, // [53:53] is the sub-list for extension type_name - 53, // [53:53] is the sub-list for extension extendee - 0, // [0:53] is the sub-list for field type_name + 9, // 2: google.events.cloud.gkehub.v1.Feature.state:type_name -> google.events.cloud.gkehub.v1.CommonFeatureState + 34, // 3: google.events.cloud.gkehub.v1.Feature.membership_states:type_name -> google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry + 37, // 4: google.events.cloud.gkehub.v1.Feature.create_time:type_name -> google.protobuf.Timestamp + 37, // 5: google.events.cloud.gkehub.v1.Feature.update_time:type_name -> google.protobuf.Timestamp + 37, // 6: google.events.cloud.gkehub.v1.Feature.delete_time:type_name -> google.protobuf.Timestamp + 35, // 7: google.events.cloud.gkehub.v1.Feature.scope_states:type_name -> google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry + 0, // 8: google.events.cloud.gkehub.v1.FeatureResourceState.state:type_name -> google.events.cloud.gkehub.v1.FeatureResourceState.State + 1, // 9: google.events.cloud.gkehub.v1.FeatureState.code:type_name -> google.events.cloud.gkehub.v1.FeatureState.Code + 37, // 10: google.events.cloud.gkehub.v1.FeatureState.update_time:type_name -> google.protobuf.Timestamp + 8, // 11: google.events.cloud.gkehub.v1.CommonFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState + 8, // 12: google.events.cloud.gkehub.v1.ScopeFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState + 8, // 13: google.events.cloud.gkehub.v1.MembershipFeatureState.state:type_name -> google.events.cloud.gkehub.v1.FeatureState + 37, // 14: google.events.cloud.gkehub.v1.Scope.create_time:type_name -> google.protobuf.Timestamp + 37, // 15: google.events.cloud.gkehub.v1.Scope.update_time:type_name -> google.protobuf.Timestamp + 37, // 16: google.events.cloud.gkehub.v1.Scope.delete_time:type_name -> google.protobuf.Timestamp + 13, // 17: google.events.cloud.gkehub.v1.Scope.state:type_name -> google.events.cloud.gkehub.v1.ScopeLifecycleState + 2, // 18: google.events.cloud.gkehub.v1.ScopeLifecycleState.code:type_name -> google.events.cloud.gkehub.v1.ScopeLifecycleState.Code + 37, // 19: google.events.cloud.gkehub.v1.MembershipBinding.create_time:type_name -> google.protobuf.Timestamp + 37, // 20: google.events.cloud.gkehub.v1.MembershipBinding.update_time:type_name -> google.protobuf.Timestamp + 37, // 21: google.events.cloud.gkehub.v1.MembershipBinding.delete_time:type_name -> google.protobuf.Timestamp + 15, // 22: google.events.cloud.gkehub.v1.MembershipBinding.state:type_name -> google.events.cloud.gkehub.v1.MembershipBindingLifecycleState + 3, // 23: google.events.cloud.gkehub.v1.MembershipBindingLifecycleState.code:type_name -> google.events.cloud.gkehub.v1.MembershipBindingLifecycleState.Code + 17, // 24: google.events.cloud.gkehub.v1.Membership.endpoint:type_name -> google.events.cloud.gkehub.v1.MembershipEndpoint + 36, // 25: google.events.cloud.gkehub.v1.Membership.labels:type_name -> google.events.cloud.gkehub.v1.Membership.LabelsEntry + 27, // 26: google.events.cloud.gkehub.v1.Membership.state:type_name -> google.events.cloud.gkehub.v1.MembershipState + 37, // 27: google.events.cloud.gkehub.v1.Membership.create_time:type_name -> google.protobuf.Timestamp + 37, // 28: google.events.cloud.gkehub.v1.Membership.update_time:type_name -> google.protobuf.Timestamp + 37, // 29: google.events.cloud.gkehub.v1.Membership.delete_time:type_name -> google.protobuf.Timestamp + 37, // 30: google.events.cloud.gkehub.v1.Membership.last_connection_time:type_name -> google.protobuf.Timestamp + 28, // 31: google.events.cloud.gkehub.v1.Membership.authority:type_name -> google.events.cloud.gkehub.v1.Authority + 21, // 32: google.events.cloud.gkehub.v1.MembershipEndpoint.gke_cluster:type_name -> google.events.cloud.gkehub.v1.GkeCluster + 22, // 33: google.events.cloud.gkehub.v1.MembershipEndpoint.on_prem_cluster:type_name -> google.events.cloud.gkehub.v1.OnPremCluster + 23, // 34: google.events.cloud.gkehub.v1.MembershipEndpoint.multi_cloud_cluster:type_name -> google.events.cloud.gkehub.v1.MultiCloudCluster + 24, // 35: google.events.cloud.gkehub.v1.MembershipEndpoint.edge_cluster:type_name -> google.events.cloud.gkehub.v1.EdgeCluster + 25, // 36: google.events.cloud.gkehub.v1.MembershipEndpoint.appliance_cluster:type_name -> google.events.cloud.gkehub.v1.ApplianceCluster + 26, // 37: google.events.cloud.gkehub.v1.MembershipEndpoint.kubernetes_metadata:type_name -> google.events.cloud.gkehub.v1.KubernetesMetadata + 18, // 38: google.events.cloud.gkehub.v1.MembershipEndpoint.kubernetes_resource:type_name -> google.events.cloud.gkehub.v1.KubernetesResource + 20, // 39: google.events.cloud.gkehub.v1.KubernetesResource.membership_resources:type_name -> google.events.cloud.gkehub.v1.ResourceManifest + 20, // 40: google.events.cloud.gkehub.v1.KubernetesResource.connect_resources:type_name -> google.events.cloud.gkehub.v1.ResourceManifest + 19, // 41: google.events.cloud.gkehub.v1.KubernetesResource.resource_options:type_name -> google.events.cloud.gkehub.v1.ResourceOptions + 4, // 42: google.events.cloud.gkehub.v1.OnPremCluster.cluster_type:type_name -> google.events.cloud.gkehub.v1.OnPremCluster.ClusterType + 37, // 43: google.events.cloud.gkehub.v1.KubernetesMetadata.update_time:type_name -> google.protobuf.Timestamp + 5, // 44: google.events.cloud.gkehub.v1.MembershipState.code:type_name -> google.events.cloud.gkehub.v1.MembershipState.Code + 12, // 45: google.events.cloud.gkehub.v1.ScopeEventData.payload:type_name -> google.events.cloud.gkehub.v1.Scope + 16, // 46: google.events.cloud.gkehub.v1.MembershipEventData.payload:type_name -> google.events.cloud.gkehub.v1.Membership + 6, // 47: google.events.cloud.gkehub.v1.FeatureEventData.payload:type_name -> google.events.cloud.gkehub.v1.Feature + 14, // 48: google.events.cloud.gkehub.v1.MembershipBindingEventData.payload:type_name -> google.events.cloud.gkehub.v1.MembershipBinding + 11, // 49: google.events.cloud.gkehub.v1.Feature.MembershipStatesEntry.value:type_name -> google.events.cloud.gkehub.v1.MembershipFeatureState + 10, // 50: google.events.cloud.gkehub.v1.Feature.ScopeStatesEntry.value:type_name -> google.events.cloud.gkehub.v1.ScopeFeatureState + 51, // [51:51] is the sub-list for method output_type + 51, // [51:51] is the sub-list for method input_type + 51, // [51:51] is the sub-list for extension type_name + 51, // [51:51] is the sub-list for extension extendee + 0, // [0:51] is the sub-list for field type_name } func init() { file_cloud_gkehub_v1_data_proto_init() } @@ -3207,18 +3108,6 @@ func file_cloud_gkehub_v1_data_proto_init() { } } file_cloud_gkehub_v1_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MembershipFeatureSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cloud_gkehub_v1_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipFeatureState); i { case 0: return &v.state @@ -3230,7 +3119,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Scope); i { case 0: return &v.state @@ -3242,7 +3131,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopeLifecycleState); i { case 0: return &v.state @@ -3254,7 +3143,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipBinding); i { case 0: return &v.state @@ -3266,7 +3155,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipBindingLifecycleState); i { case 0: return &v.state @@ -3278,7 +3167,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Membership); i { case 0: return &v.state @@ -3290,7 +3179,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipEndpoint); i { case 0: return &v.state @@ -3302,7 +3191,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KubernetesResource); i { case 0: return &v.state @@ -3314,7 +3203,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceOptions); i { case 0: return &v.state @@ -3326,7 +3215,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceManifest); i { case 0: return &v.state @@ -3338,7 +3227,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GkeCluster); i { case 0: return &v.state @@ -3350,7 +3239,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnPremCluster); i { case 0: return &v.state @@ -3362,7 +3251,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiCloudCluster); i { case 0: return &v.state @@ -3374,7 +3263,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EdgeCluster); i { case 0: return &v.state @@ -3386,7 +3275,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplianceCluster); i { case 0: return &v.state @@ -3398,7 +3287,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KubernetesMetadata); i { case 0: return &v.state @@ -3410,7 +3299,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipState); i { case 0: return &v.state @@ -3422,7 +3311,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Authority); i { case 0: return &v.state @@ -3434,7 +3323,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopeEventData); i { case 0: return &v.state @@ -3446,7 +3335,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipEventData); i { case 0: return &v.state @@ -3458,7 +3347,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeatureEventData); i { case 0: return &v.state @@ -3470,7 +3359,7 @@ func file_cloud_gkehub_v1_data_proto_init() { return nil } } - file_cloud_gkehub_v1_data_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cloud_gkehub_v1_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MembershipBindingEventData); i { case 0: return &v.state @@ -3483,31 +3372,31 @@ func file_cloud_gkehub_v1_data_proto_init() { } } } - file_cloud_gkehub_v1_data_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_cloud_gkehub_v1_data_proto_msgTypes[8].OneofWrappers = []interface{}{ (*MembershipBinding_Scope)(nil), (*MembershipBinding_Fleet)(nil), } - file_cloud_gkehub_v1_data_proto_msgTypes[11].OneofWrappers = []interface{}{ + file_cloud_gkehub_v1_data_proto_msgTypes[10].OneofWrappers = []interface{}{ (*Membership_Endpoint)(nil), } - file_cloud_gkehub_v1_data_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_cloud_gkehub_v1_data_proto_msgTypes[11].OneofWrappers = []interface{}{ (*MembershipEndpoint_GkeCluster)(nil), (*MembershipEndpoint_OnPremCluster)(nil), (*MembershipEndpoint_MultiCloudCluster)(nil), (*MembershipEndpoint_EdgeCluster)(nil), (*MembershipEndpoint_ApplianceCluster)(nil), } + file_cloud_gkehub_v1_data_proto_msgTypes[23].OneofWrappers = []interface{}{} file_cloud_gkehub_v1_data_proto_msgTypes[24].OneofWrappers = []interface{}{} file_cloud_gkehub_v1_data_proto_msgTypes[25].OneofWrappers = []interface{}{} file_cloud_gkehub_v1_data_proto_msgTypes[26].OneofWrappers = []interface{}{} - file_cloud_gkehub_v1_data_proto_msgTypes[27].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cloud_gkehub_v1_data_proto_rawDesc, NumEnums: 6, - NumMessages: 33, + NumMessages: 31, NumExtensions: 0, NumServices: 0, }, diff --git a/cloud/gkehubdata/data_test.go b/cloud/gkehubdata/data_test.go index f37c86b..f8612ed 100644 --- a/cloud/gkehubdata/data_test.go +++ b/cloud/gkehubdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/gkehub/v1/events.proto package gkehubdata_test diff --git a/cloud/iotdata/data_test.go b/cloud/iotdata/data_test.go index c9e3487..e9b6255 100644 --- a/cloud/iotdata/data_test.go +++ b/cloud/iotdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/iot/v1/events.proto package iotdata_test diff --git a/cloud/memcachedata/data_test.go b/cloud/memcachedata/data_test.go index 33cd480..75cc749 100644 --- a/cloud/memcachedata/data_test.go +++ b/cloud/memcachedata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/memcache/v1/events.proto package memcachedata_test diff --git a/cloud/metastoredata/data_test.go b/cloud/metastoredata/data_test.go index 8e27d9a..1176cfa 100644 --- a/cloud/metastoredata/data_test.go +++ b/cloud/metastoredata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/metastore/v1/events.proto package metastoredata_test diff --git a/cloud/networkconnectivitydata/data_test.go b/cloud/networkconnectivitydata/data_test.go index a34f130..9fecfa6 100644 --- a/cloud/networkconnectivitydata/data_test.go +++ b/cloud/networkconnectivitydata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/networkconnectivity/v1/events.proto package networkconnectivitydata_test diff --git a/cloud/networkmanagementdata/data.pb.go b/cloud/networkmanagementdata/data.pb.go new file mode 100644 index 0000000..c344e9a --- /dev/null +++ b/cloud/networkmanagementdata/data.pb.go @@ -0,0 +1,5766 @@ +// Copyright 2023 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 +// +// https://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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.21.6 +// source: cloud/networkmanagement/v1/data.proto + +package networkmanagementdata + +import ( + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Type of states that are defined in the network state machine. +// Each step in the packet trace is in a specific state. +type Step_State int32 + +const ( + // Unspecified state. + Step_STATE_UNSPECIFIED Step_State = 0 + // Initial state: packet originating from a Compute Engine instance. + // An InstanceInfo is populated with starting instance information. + Step_START_FROM_INSTANCE Step_State = 1 + // Initial state: packet originating from the internet. + // The endpoint information is populated. + Step_START_FROM_INTERNET Step_State = 2 + // Initial state: packet originating from a Google service. Some Google + // services, such as health check probers or Identity Aware Proxy use + // special routes, outside VPC routing configuration to reach Compute Engine + // Instances. + Step_START_FROM_GOOGLE_SERVICE Step_State = 27 + // Initial state: packet originating from a VPC or on-premises network + // with internal source IP. + // If the source is a VPC network visible to the user, a NetworkInfo + // is populated with details of the network. + Step_START_FROM_PRIVATE_NETWORK Step_State = 3 + // Initial state: packet originating from a Google Kubernetes Engine cluster + // master. A GKEMasterInfo is populated with starting instance information. + Step_START_FROM_GKE_MASTER Step_State = 21 + // Initial state: packet originating from a Cloud SQL instance. + // A CloudSQLInstanceInfo is populated with starting instance information. + Step_START_FROM_CLOUD_SQL_INSTANCE Step_State = 22 + // Initial state: packet originating from a Cloud Function. + // A CloudFunctionInfo is populated with starting function information. + Step_START_FROM_CLOUD_FUNCTION Step_State = 23 + // Initial state: packet originating from an App Engine service version. + // An AppEngineVersionInfo is populated with starting version information. + Step_START_FROM_APP_ENGINE_VERSION Step_State = 25 + // Initial state: packet originating from a Cloud Run revision. + // A CloudRunRevisionInfo is populated with starting revision information. + Step_START_FROM_CLOUD_RUN_REVISION Step_State = 26 + // Config checking state: verify ingress firewall rule. + Step_APPLY_INGRESS_FIREWALL_RULE Step_State = 4 + // Config checking state: verify egress firewall rule. + Step_APPLY_EGRESS_FIREWALL_RULE Step_State = 5 + // Config checking state: verify route. + Step_APPLY_ROUTE Step_State = 6 + // Config checking state: match forwarding rule. + Step_APPLY_FORWARDING_RULE Step_State = 7 + // Config checking state: packet sent or received under foreign IP + // address and allowed. + Step_SPOOFING_APPROVED Step_State = 8 + // Forwarding state: arriving at a Compute Engine instance. + Step_ARRIVE_AT_INSTANCE Step_State = 9 + // Forwarding state: arriving at a Compute Engine internal load balancer. + Step_ARRIVE_AT_INTERNAL_LOAD_BALANCER Step_State = 10 + // Forwarding state: arriving at a Compute Engine external load balancer. + Step_ARRIVE_AT_EXTERNAL_LOAD_BALANCER Step_State = 11 + // Forwarding state: arriving at a Cloud VPN gateway. + Step_ARRIVE_AT_VPN_GATEWAY Step_State = 12 + // Forwarding state: arriving at a Cloud VPN tunnel. + Step_ARRIVE_AT_VPN_TUNNEL Step_State = 13 + // Forwarding state: arriving at a VPC connector. + Step_ARRIVE_AT_VPC_CONNECTOR Step_State = 24 + // Transition state: packet header translated. + Step_NAT Step_State = 14 + // Transition state: original connection is terminated and a new proxied + // connection is initiated. + Step_PROXY_CONNECTION Step_State = 15 + // Final state: packet could be delivered. + Step_DELIVER Step_State = 16 + // Final state: packet could be dropped. + Step_DROP Step_State = 17 + // Final state: packet could be forwarded to a network with an unknown + // configuration. + Step_FORWARD Step_State = 18 + // Final state: analysis is aborted. + Step_ABORT Step_State = 19 + // Special state: viewer of the test result does not have permission to + // see the configuration in this step. + Step_VIEWER_PERMISSION_MISSING Step_State = 20 +) + +// Enum value maps for Step_State. +var ( + Step_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "START_FROM_INSTANCE", + 2: "START_FROM_INTERNET", + 27: "START_FROM_GOOGLE_SERVICE", + 3: "START_FROM_PRIVATE_NETWORK", + 21: "START_FROM_GKE_MASTER", + 22: "START_FROM_CLOUD_SQL_INSTANCE", + 23: "START_FROM_CLOUD_FUNCTION", + 25: "START_FROM_APP_ENGINE_VERSION", + 26: "START_FROM_CLOUD_RUN_REVISION", + 4: "APPLY_INGRESS_FIREWALL_RULE", + 5: "APPLY_EGRESS_FIREWALL_RULE", + 6: "APPLY_ROUTE", + 7: "APPLY_FORWARDING_RULE", + 8: "SPOOFING_APPROVED", + 9: "ARRIVE_AT_INSTANCE", + 10: "ARRIVE_AT_INTERNAL_LOAD_BALANCER", + 11: "ARRIVE_AT_EXTERNAL_LOAD_BALANCER", + 12: "ARRIVE_AT_VPN_GATEWAY", + 13: "ARRIVE_AT_VPN_TUNNEL", + 24: "ARRIVE_AT_VPC_CONNECTOR", + 14: "NAT", + 15: "PROXY_CONNECTION", + 16: "DELIVER", + 17: "DROP", + 18: "FORWARD", + 19: "ABORT", + 20: "VIEWER_PERMISSION_MISSING", + } + Step_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "START_FROM_INSTANCE": 1, + "START_FROM_INTERNET": 2, + "START_FROM_GOOGLE_SERVICE": 27, + "START_FROM_PRIVATE_NETWORK": 3, + "START_FROM_GKE_MASTER": 21, + "START_FROM_CLOUD_SQL_INSTANCE": 22, + "START_FROM_CLOUD_FUNCTION": 23, + "START_FROM_APP_ENGINE_VERSION": 25, + "START_FROM_CLOUD_RUN_REVISION": 26, + "APPLY_INGRESS_FIREWALL_RULE": 4, + "APPLY_EGRESS_FIREWALL_RULE": 5, + "APPLY_ROUTE": 6, + "APPLY_FORWARDING_RULE": 7, + "SPOOFING_APPROVED": 8, + "ARRIVE_AT_INSTANCE": 9, + "ARRIVE_AT_INTERNAL_LOAD_BALANCER": 10, + "ARRIVE_AT_EXTERNAL_LOAD_BALANCER": 11, + "ARRIVE_AT_VPN_GATEWAY": 12, + "ARRIVE_AT_VPN_TUNNEL": 13, + "ARRIVE_AT_VPC_CONNECTOR": 24, + "NAT": 14, + "PROXY_CONNECTION": 15, + "DELIVER": 16, + "DROP": 17, + "FORWARD": 18, + "ABORT": 19, + "VIEWER_PERMISSION_MISSING": 20, + } +) + +func (x Step_State) Enum() *Step_State { + p := new(Step_State) + *p = x + return p +} + +func (x Step_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Step_State) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[0].Descriptor() +} + +func (Step_State) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[0] +} + +func (x Step_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Step_State.Descriptor instead. +func (Step_State) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{1, 0} +} + +// The firewall rule's type. +type FirewallInfo_FirewallRuleType int32 + +const ( + // Unspecified type. + FirewallInfo_FIREWALL_RULE_TYPE_UNSPECIFIED FirewallInfo_FirewallRuleType = 0 + // Hierarchical firewall policy rule. For details, see + // [Hierarchical firewall policies + // overview](https://cloud.google.com/vpc/docs/firewall-policies). + FirewallInfo_HIERARCHICAL_FIREWALL_POLICY_RULE FirewallInfo_FirewallRuleType = 1 + // VPC firewall rule. For details, see + // [VPC firewall rules + // overview](https://cloud.google.com/vpc/docs/firewalls). + FirewallInfo_VPC_FIREWALL_RULE FirewallInfo_FirewallRuleType = 2 + // Implied VPC firewall rule. For details, see + // [Implied + // rules](https://cloud.google.com/vpc/docs/firewalls#default_firewall_rules). + FirewallInfo_IMPLIED_VPC_FIREWALL_RULE FirewallInfo_FirewallRuleType = 3 + // Implicit firewall rules that are managed by serverless VPC access to + // allow ingress access. They are not visible in the Google Cloud console. + // For details, see [VPC connector's implicit + // rules](https://cloud.google.com/functions/docs/networking/connecting-vpc#restrict-access). + FirewallInfo_SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE FirewallInfo_FirewallRuleType = 4 + // Global network firewall policy rule. + // For details, see [Network firewall + // policies](https://cloud.google.com/vpc/docs/network-firewall-policies). + FirewallInfo_NETWORK_FIREWALL_POLICY_RULE FirewallInfo_FirewallRuleType = 5 +) + +// Enum value maps for FirewallInfo_FirewallRuleType. +var ( + FirewallInfo_FirewallRuleType_name = map[int32]string{ + 0: "FIREWALL_RULE_TYPE_UNSPECIFIED", + 1: "HIERARCHICAL_FIREWALL_POLICY_RULE", + 2: "VPC_FIREWALL_RULE", + 3: "IMPLIED_VPC_FIREWALL_RULE", + 4: "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE", + 5: "NETWORK_FIREWALL_POLICY_RULE", + } + FirewallInfo_FirewallRuleType_value = map[string]int32{ + "FIREWALL_RULE_TYPE_UNSPECIFIED": 0, + "HIERARCHICAL_FIREWALL_POLICY_RULE": 1, + "VPC_FIREWALL_RULE": 2, + "IMPLIED_VPC_FIREWALL_RULE": 3, + "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE": 4, + "NETWORK_FIREWALL_POLICY_RULE": 5, + } +) + +func (x FirewallInfo_FirewallRuleType) Enum() *FirewallInfo_FirewallRuleType { + p := new(FirewallInfo_FirewallRuleType) + *p = x + return p +} + +func (x FirewallInfo_FirewallRuleType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FirewallInfo_FirewallRuleType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[1].Descriptor() +} + +func (FirewallInfo_FirewallRuleType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[1] +} + +func (x FirewallInfo_FirewallRuleType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FirewallInfo_FirewallRuleType.Descriptor instead. +func (FirewallInfo_FirewallRuleType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{4, 0} +} + +// Type of route: +type RouteInfo_RouteType int32 + +const ( + // Unspecified type. Default value. + RouteInfo_ROUTE_TYPE_UNSPECIFIED RouteInfo_RouteType = 0 + // Route is a subnet route automatically created by the system. + RouteInfo_SUBNET RouteInfo_RouteType = 1 + // Static route created by the user, including the default route to the + // internet. + RouteInfo_STATIC RouteInfo_RouteType = 2 + // Dynamic route exchanged between BGP peers. + RouteInfo_DYNAMIC RouteInfo_RouteType = 3 + // A subnet route received from peering network. + RouteInfo_PEERING_SUBNET RouteInfo_RouteType = 4 + // A static route received from peering network. + RouteInfo_PEERING_STATIC RouteInfo_RouteType = 5 + // A dynamic route received from peering network. + RouteInfo_PEERING_DYNAMIC RouteInfo_RouteType = 6 + // Policy based route. + RouteInfo_POLICY_BASED RouteInfo_RouteType = 7 +) + +// Enum value maps for RouteInfo_RouteType. +var ( + RouteInfo_RouteType_name = map[int32]string{ + 0: "ROUTE_TYPE_UNSPECIFIED", + 1: "SUBNET", + 2: "STATIC", + 3: "DYNAMIC", + 4: "PEERING_SUBNET", + 5: "PEERING_STATIC", + 6: "PEERING_DYNAMIC", + 7: "POLICY_BASED", + } + RouteInfo_RouteType_value = map[string]int32{ + "ROUTE_TYPE_UNSPECIFIED": 0, + "SUBNET": 1, + "STATIC": 2, + "DYNAMIC": 3, + "PEERING_SUBNET": 4, + "PEERING_STATIC": 5, + "PEERING_DYNAMIC": 6, + "POLICY_BASED": 7, + } +) + +func (x RouteInfo_RouteType) Enum() *RouteInfo_RouteType { + p := new(RouteInfo_RouteType) + *p = x + return p +} + +func (x RouteInfo_RouteType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouteInfo_RouteType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[2].Descriptor() +} + +func (RouteInfo_RouteType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[2] +} + +func (x RouteInfo_RouteType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteInfo_RouteType.Descriptor instead. +func (RouteInfo_RouteType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{5, 0} +} + +// Type of next hop: +type RouteInfo_NextHopType int32 + +const ( + // Unspecified type. Default value. + RouteInfo_NEXT_HOP_TYPE_UNSPECIFIED RouteInfo_NextHopType = 0 + // Next hop is an IP address. + RouteInfo_NEXT_HOP_IP RouteInfo_NextHopType = 1 + // Next hop is a Compute Engine instance. + RouteInfo_NEXT_HOP_INSTANCE RouteInfo_NextHopType = 2 + // Next hop is a VPC network gateway. + RouteInfo_NEXT_HOP_NETWORK RouteInfo_NextHopType = 3 + // Next hop is a peering VPC. + RouteInfo_NEXT_HOP_PEERING RouteInfo_NextHopType = 4 + // Next hop is an interconnect. + RouteInfo_NEXT_HOP_INTERCONNECT RouteInfo_NextHopType = 5 + // Next hop is a VPN tunnel. + RouteInfo_NEXT_HOP_VPN_TUNNEL RouteInfo_NextHopType = 6 + // Next hop is a VPN gateway. This scenario only happens when tracing + // connectivity from an on-premises network to Google Cloud through a VPN. + // The analysis simulates a packet departing from the on-premises network + // through a VPN tunnel and arriving at a Cloud VPN gateway. + RouteInfo_NEXT_HOP_VPN_GATEWAY RouteInfo_NextHopType = 7 + // Next hop is an internet gateway. + RouteInfo_NEXT_HOP_INTERNET_GATEWAY RouteInfo_NextHopType = 8 + // Next hop is blackhole; that is, the next hop either does not exist or is + // not running. + RouteInfo_NEXT_HOP_BLACKHOLE RouteInfo_NextHopType = 9 + // Next hop is the forwarding rule of an Internal Load Balancer. + RouteInfo_NEXT_HOP_ILB RouteInfo_NextHopType = 10 + // Next hop is a + // [router appliance + // instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview). + RouteInfo_NEXT_HOP_ROUTER_APPLIANCE RouteInfo_NextHopType = 11 +) + +// Enum value maps for RouteInfo_NextHopType. +var ( + RouteInfo_NextHopType_name = map[int32]string{ + 0: "NEXT_HOP_TYPE_UNSPECIFIED", + 1: "NEXT_HOP_IP", + 2: "NEXT_HOP_INSTANCE", + 3: "NEXT_HOP_NETWORK", + 4: "NEXT_HOP_PEERING", + 5: "NEXT_HOP_INTERCONNECT", + 6: "NEXT_HOP_VPN_TUNNEL", + 7: "NEXT_HOP_VPN_GATEWAY", + 8: "NEXT_HOP_INTERNET_GATEWAY", + 9: "NEXT_HOP_BLACKHOLE", + 10: "NEXT_HOP_ILB", + 11: "NEXT_HOP_ROUTER_APPLIANCE", + } + RouteInfo_NextHopType_value = map[string]int32{ + "NEXT_HOP_TYPE_UNSPECIFIED": 0, + "NEXT_HOP_IP": 1, + "NEXT_HOP_INSTANCE": 2, + "NEXT_HOP_NETWORK": 3, + "NEXT_HOP_PEERING": 4, + "NEXT_HOP_INTERCONNECT": 5, + "NEXT_HOP_VPN_TUNNEL": 6, + "NEXT_HOP_VPN_GATEWAY": 7, + "NEXT_HOP_INTERNET_GATEWAY": 8, + "NEXT_HOP_BLACKHOLE": 9, + "NEXT_HOP_ILB": 10, + "NEXT_HOP_ROUTER_APPLIANCE": 11, + } +) + +func (x RouteInfo_NextHopType) Enum() *RouteInfo_NextHopType { + p := new(RouteInfo_NextHopType) + *p = x + return p +} + +func (x RouteInfo_NextHopType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouteInfo_NextHopType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[3].Descriptor() +} + +func (RouteInfo_NextHopType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[3] +} + +func (x RouteInfo_NextHopType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteInfo_NextHopType.Descriptor instead. +func (RouteInfo_NextHopType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{5, 1} +} + +// Recognized type of a Google Service. +type GoogleServiceInfo_GoogleServiceType int32 + +const ( + // Unspecified Google Service. Includes most of Google APIs and services. + GoogleServiceInfo_GOOGLE_SERVICE_TYPE_UNSPECIFIED GoogleServiceInfo_GoogleServiceType = 0 + // Identity aware proxy. + // https://cloud.google.com/iap/docs/using-tcp-forwarding + GoogleServiceInfo_IAP GoogleServiceInfo_GoogleServiceType = 1 + // One of two services sharing IP ranges: + // * Load Balancer proxy + // * Centralized Health Check prober + // https://cloud.google.com/load-balancing/docs/firewall-rules + GoogleServiceInfo_GFE_PROXY_OR_HEALTH_CHECK_PROBER GoogleServiceInfo_GoogleServiceType = 2 + // Connectivity from Cloud DNS to forwarding targets or alternate name + // servers that use private routing. + // https://cloud.google.com/dns/docs/zones/forwarding-zones#firewall-rules + // https://cloud.google.com/dns/docs/policies#firewall-rules + GoogleServiceInfo_CLOUD_DNS GoogleServiceInfo_GoogleServiceType = 3 +) + +// Enum value maps for GoogleServiceInfo_GoogleServiceType. +var ( + GoogleServiceInfo_GoogleServiceType_name = map[int32]string{ + 0: "GOOGLE_SERVICE_TYPE_UNSPECIFIED", + 1: "IAP", + 2: "GFE_PROXY_OR_HEALTH_CHECK_PROBER", + 3: "CLOUD_DNS", + } + GoogleServiceInfo_GoogleServiceType_value = map[string]int32{ + "GOOGLE_SERVICE_TYPE_UNSPECIFIED": 0, + "IAP": 1, + "GFE_PROXY_OR_HEALTH_CHECK_PROBER": 2, + "CLOUD_DNS": 3, + } +) + +func (x GoogleServiceInfo_GoogleServiceType) Enum() *GoogleServiceInfo_GoogleServiceType { + p := new(GoogleServiceInfo_GoogleServiceType) + *p = x + return p +} + +func (x GoogleServiceInfo_GoogleServiceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GoogleServiceInfo_GoogleServiceType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[4].Descriptor() +} + +func (GoogleServiceInfo_GoogleServiceType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[4] +} + +func (x GoogleServiceInfo_GoogleServiceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GoogleServiceInfo_GoogleServiceType.Descriptor instead. +func (GoogleServiceInfo_GoogleServiceType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{6, 0} +} + +// The type definition for a load balancer: +type LoadBalancerInfo_LoadBalancerType int32 + +const ( + // Type is unspecified. + LoadBalancerInfo_LOAD_BALANCER_TYPE_UNSPECIFIED LoadBalancerInfo_LoadBalancerType = 0 + // Internal TCP/UDP load balancer. + LoadBalancerInfo_INTERNAL_TCP_UDP LoadBalancerInfo_LoadBalancerType = 1 + // Network TCP/UDP load balancer. + LoadBalancerInfo_NETWORK_TCP_UDP LoadBalancerInfo_LoadBalancerType = 2 + // HTTP(S) proxy load balancer. + LoadBalancerInfo_HTTP_PROXY LoadBalancerInfo_LoadBalancerType = 3 + // TCP proxy load balancer. + LoadBalancerInfo_TCP_PROXY LoadBalancerInfo_LoadBalancerType = 4 + // SSL proxy load balancer. + LoadBalancerInfo_SSL_PROXY LoadBalancerInfo_LoadBalancerType = 5 +) + +// Enum value maps for LoadBalancerInfo_LoadBalancerType. +var ( + LoadBalancerInfo_LoadBalancerType_name = map[int32]string{ + 0: "LOAD_BALANCER_TYPE_UNSPECIFIED", + 1: "INTERNAL_TCP_UDP", + 2: "NETWORK_TCP_UDP", + 3: "HTTP_PROXY", + 4: "TCP_PROXY", + 5: "SSL_PROXY", + } + LoadBalancerInfo_LoadBalancerType_value = map[string]int32{ + "LOAD_BALANCER_TYPE_UNSPECIFIED": 0, + "INTERNAL_TCP_UDP": 1, + "NETWORK_TCP_UDP": 2, + "HTTP_PROXY": 3, + "TCP_PROXY": 4, + "SSL_PROXY": 5, + } +) + +func (x LoadBalancerInfo_LoadBalancerType) Enum() *LoadBalancerInfo_LoadBalancerType { + p := new(LoadBalancerInfo_LoadBalancerType) + *p = x + return p +} + +func (x LoadBalancerInfo_LoadBalancerType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LoadBalancerInfo_LoadBalancerType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[5].Descriptor() +} + +func (LoadBalancerInfo_LoadBalancerType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[5] +} + +func (x LoadBalancerInfo_LoadBalancerType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LoadBalancerInfo_LoadBalancerType.Descriptor instead. +func (LoadBalancerInfo_LoadBalancerType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{8, 0} +} + +// The type definition for a load balancer backend configuration: +type LoadBalancerInfo_BackendType int32 + +const ( + // Type is unspecified. + LoadBalancerInfo_BACKEND_TYPE_UNSPECIFIED LoadBalancerInfo_BackendType = 0 + // Backend Service as the load balancer's backend. + LoadBalancerInfo_BACKEND_SERVICE LoadBalancerInfo_BackendType = 1 + // Target Pool as the load balancer's backend. + LoadBalancerInfo_TARGET_POOL LoadBalancerInfo_BackendType = 2 + // Target Instance as the load balancer's backend. + LoadBalancerInfo_TARGET_INSTANCE LoadBalancerInfo_BackendType = 3 +) + +// Enum value maps for LoadBalancerInfo_BackendType. +var ( + LoadBalancerInfo_BackendType_name = map[int32]string{ + 0: "BACKEND_TYPE_UNSPECIFIED", + 1: "BACKEND_SERVICE", + 2: "TARGET_POOL", + 3: "TARGET_INSTANCE", + } + LoadBalancerInfo_BackendType_value = map[string]int32{ + "BACKEND_TYPE_UNSPECIFIED": 0, + "BACKEND_SERVICE": 1, + "TARGET_POOL": 2, + "TARGET_INSTANCE": 3, + } +) + +func (x LoadBalancerInfo_BackendType) Enum() *LoadBalancerInfo_BackendType { + p := new(LoadBalancerInfo_BackendType) + *p = x + return p +} + +func (x LoadBalancerInfo_BackendType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LoadBalancerInfo_BackendType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[6].Descriptor() +} + +func (LoadBalancerInfo_BackendType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[6] +} + +func (x LoadBalancerInfo_BackendType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LoadBalancerInfo_BackendType.Descriptor instead. +func (LoadBalancerInfo_BackendType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{8, 1} +} + +// State of a health check firewall configuration: +type LoadBalancerBackend_HealthCheckFirewallState int32 + +const ( + // State is unspecified. Default state if not populated. + LoadBalancerBackend_HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED LoadBalancerBackend_HealthCheckFirewallState = 0 + // There are configured firewall rules to allow health check probes to the + // backend. + LoadBalancerBackend_CONFIGURED LoadBalancerBackend_HealthCheckFirewallState = 1 + // There are firewall rules configured to allow partial health check ranges + // or block all health check ranges. + // If a health check probe is sent from denied IP ranges, + // the health check to the backend will fail. Then, the backend will be + // marked unhealthy and will not receive traffic sent to the load balancer. + LoadBalancerBackend_MISCONFIGURED LoadBalancerBackend_HealthCheckFirewallState = 2 +) + +// Enum value maps for LoadBalancerBackend_HealthCheckFirewallState. +var ( + LoadBalancerBackend_HealthCheckFirewallState_name = map[int32]string{ + 0: "HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED", + 1: "CONFIGURED", + 2: "MISCONFIGURED", + } + LoadBalancerBackend_HealthCheckFirewallState_value = map[string]int32{ + "HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED": 0, + "CONFIGURED": 1, + "MISCONFIGURED": 2, + } +) + +func (x LoadBalancerBackend_HealthCheckFirewallState) Enum() *LoadBalancerBackend_HealthCheckFirewallState { + p := new(LoadBalancerBackend_HealthCheckFirewallState) + *p = x + return p +} + +func (x LoadBalancerBackend_HealthCheckFirewallState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LoadBalancerBackend_HealthCheckFirewallState) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[7].Descriptor() +} + +func (LoadBalancerBackend_HealthCheckFirewallState) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[7] +} + +func (x LoadBalancerBackend_HealthCheckFirewallState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LoadBalancerBackend_HealthCheckFirewallState.Descriptor instead. +func (LoadBalancerBackend_HealthCheckFirewallState) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{9, 0} +} + +// Types of VPN routing policy. For details, refer to [Networks and Tunnel +// routing](https://cloud.google.com/network-connectivity/docs/vpn/concepts/choosing-networks-routing/). +type VpnTunnelInfo_RoutingType int32 + +const ( + // Unspecified type. Default value. + VpnTunnelInfo_ROUTING_TYPE_UNSPECIFIED VpnTunnelInfo_RoutingType = 0 + // Route based VPN. + VpnTunnelInfo_ROUTE_BASED VpnTunnelInfo_RoutingType = 1 + // Policy based routing. + VpnTunnelInfo_POLICY_BASED VpnTunnelInfo_RoutingType = 2 + // Dynamic (BGP) routing. + VpnTunnelInfo_DYNAMIC VpnTunnelInfo_RoutingType = 3 +) + +// Enum value maps for VpnTunnelInfo_RoutingType. +var ( + VpnTunnelInfo_RoutingType_name = map[int32]string{ + 0: "ROUTING_TYPE_UNSPECIFIED", + 1: "ROUTE_BASED", + 2: "POLICY_BASED", + 3: "DYNAMIC", + } + VpnTunnelInfo_RoutingType_value = map[string]int32{ + "ROUTING_TYPE_UNSPECIFIED": 0, + "ROUTE_BASED": 1, + "POLICY_BASED": 2, + "DYNAMIC": 3, + } +) + +func (x VpnTunnelInfo_RoutingType) Enum() *VpnTunnelInfo_RoutingType { + p := new(VpnTunnelInfo_RoutingType) + *p = x + return p +} + +func (x VpnTunnelInfo_RoutingType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VpnTunnelInfo_RoutingType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[8].Descriptor() +} + +func (VpnTunnelInfo_RoutingType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[8] +} + +func (x VpnTunnelInfo_RoutingType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VpnTunnelInfo_RoutingType.Descriptor instead. +func (VpnTunnelInfo_RoutingType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{11, 0} +} + +// Deliver target types: +type DeliverInfo_Target int32 + +const ( + // Target not specified. + DeliverInfo_TARGET_UNSPECIFIED DeliverInfo_Target = 0 + // Target is a Compute Engine instance. + DeliverInfo_INSTANCE DeliverInfo_Target = 1 + // Target is the internet. + DeliverInfo_INTERNET DeliverInfo_Target = 2 + // Target is a Google API. + DeliverInfo_GOOGLE_API DeliverInfo_Target = 3 + // Target is a Google Kubernetes Engine cluster master. + DeliverInfo_GKE_MASTER DeliverInfo_Target = 4 + // Target is a Cloud SQL instance. + DeliverInfo_CLOUD_SQL_INSTANCE DeliverInfo_Target = 5 + // Target is a published service that uses [Private Service + // Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services). + DeliverInfo_PSC_PUBLISHED_SERVICE DeliverInfo_Target = 6 + // Target is all Google APIs that use [Private Service + // Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis). + DeliverInfo_PSC_GOOGLE_API DeliverInfo_Target = 7 + // Target is a VPC-SC that uses [Private Service + // Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis). + DeliverInfo_PSC_VPC_SC DeliverInfo_Target = 8 +) + +// Enum value maps for DeliverInfo_Target. +var ( + DeliverInfo_Target_name = map[int32]string{ + 0: "TARGET_UNSPECIFIED", + 1: "INSTANCE", + 2: "INTERNET", + 3: "GOOGLE_API", + 4: "GKE_MASTER", + 5: "CLOUD_SQL_INSTANCE", + 6: "PSC_PUBLISHED_SERVICE", + 7: "PSC_GOOGLE_API", + 8: "PSC_VPC_SC", + } + DeliverInfo_Target_value = map[string]int32{ + "TARGET_UNSPECIFIED": 0, + "INSTANCE": 1, + "INTERNET": 2, + "GOOGLE_API": 3, + "GKE_MASTER": 4, + "CLOUD_SQL_INSTANCE": 5, + "PSC_PUBLISHED_SERVICE": 6, + "PSC_GOOGLE_API": 7, + "PSC_VPC_SC": 8, + } +) + +func (x DeliverInfo_Target) Enum() *DeliverInfo_Target { + p := new(DeliverInfo_Target) + *p = x + return p +} + +func (x DeliverInfo_Target) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeliverInfo_Target) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[9].Descriptor() +} + +func (DeliverInfo_Target) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[9] +} + +func (x DeliverInfo_Target) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeliverInfo_Target.Descriptor instead. +func (DeliverInfo_Target) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{13, 0} +} + +// Forward target types. +type ForwardInfo_Target int32 + +const ( + // Target not specified. + ForwardInfo_TARGET_UNSPECIFIED ForwardInfo_Target = 0 + // Forwarded to a VPC peering network. + ForwardInfo_PEERING_VPC ForwardInfo_Target = 1 + // Forwarded to a Cloud VPN gateway. + ForwardInfo_VPN_GATEWAY ForwardInfo_Target = 2 + // Forwarded to a Cloud Interconnect connection. + ForwardInfo_INTERCONNECT ForwardInfo_Target = 3 + // Forwarded to a Google Kubernetes Engine Container cluster master. + ForwardInfo_GKE_MASTER ForwardInfo_Target = 4 + // Forwarded to the next hop of a custom route imported from a peering VPC. + ForwardInfo_IMPORTED_CUSTOM_ROUTE_NEXT_HOP ForwardInfo_Target = 5 + // Forwarded to a Cloud SQL instance. + ForwardInfo_CLOUD_SQL_INSTANCE ForwardInfo_Target = 6 + // Forwarded to a VPC network in another project. + ForwardInfo_ANOTHER_PROJECT ForwardInfo_Target = 7 +) + +// Enum value maps for ForwardInfo_Target. +var ( + ForwardInfo_Target_name = map[int32]string{ + 0: "TARGET_UNSPECIFIED", + 1: "PEERING_VPC", + 2: "VPN_GATEWAY", + 3: "INTERCONNECT", + 4: "GKE_MASTER", + 5: "IMPORTED_CUSTOM_ROUTE_NEXT_HOP", + 6: "CLOUD_SQL_INSTANCE", + 7: "ANOTHER_PROJECT", + } + ForwardInfo_Target_value = map[string]int32{ + "TARGET_UNSPECIFIED": 0, + "PEERING_VPC": 1, + "VPN_GATEWAY": 2, + "INTERCONNECT": 3, + "GKE_MASTER": 4, + "IMPORTED_CUSTOM_ROUTE_NEXT_HOP": 5, + "CLOUD_SQL_INSTANCE": 6, + "ANOTHER_PROJECT": 7, + } +) + +func (x ForwardInfo_Target) Enum() *ForwardInfo_Target { + p := new(ForwardInfo_Target) + *p = x + return p +} + +func (x ForwardInfo_Target) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ForwardInfo_Target) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[10].Descriptor() +} + +func (ForwardInfo_Target) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[10] +} + +func (x ForwardInfo_Target) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ForwardInfo_Target.Descriptor instead. +func (ForwardInfo_Target) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{14, 0} +} + +// Abort cause types: +type AbortInfo_Cause int32 + +const ( + // Cause is unspecified. + AbortInfo_CAUSE_UNSPECIFIED AbortInfo_Cause = 0 + // Aborted due to unknown network. + // The reachability analysis cannot proceed because the user does not have + // access to the host project's network configurations, including firewall + // rules and routes. This happens when the project is a service project and + // the endpoints being traced are in the host project's network. + AbortInfo_UNKNOWN_NETWORK AbortInfo_Cause = 1 + // Aborted because the IP address(es) are unknown. + AbortInfo_UNKNOWN_IP AbortInfo_Cause = 2 + // Aborted because no project information can be derived from the test + // input. + AbortInfo_UNKNOWN_PROJECT AbortInfo_Cause = 3 + // Aborted because the user lacks the permission to access all or part of + // the network configurations required to run the test. + AbortInfo_PERMISSION_DENIED AbortInfo_Cause = 4 + // Aborted because no valid source endpoint is derived from the input test + // request. + AbortInfo_NO_SOURCE_LOCATION AbortInfo_Cause = 5 + // Aborted because the source and/or destination endpoint specified in + // the test are invalid. The possible reasons that an endpoint is + // invalid include: malformed IP address; nonexistent instance or + // network URI; IP address not in the range of specified network URI; and + // instance not owning the network interface in the specified network. + AbortInfo_INVALID_ARGUMENT AbortInfo_Cause = 6 + // Aborted because traffic is sent from a public IP to an instance without + // an external IP. + AbortInfo_NO_EXTERNAL_IP AbortInfo_Cause = 7 + // Aborted because none of the traces matches destination information + // specified in the input test request. + AbortInfo_UNINTENDED_DESTINATION AbortInfo_Cause = 8 + // Aborted because the number of steps in the trace exceeding a certain + // limit which may be caused by routing loop. + AbortInfo_TRACE_TOO_LONG AbortInfo_Cause = 9 + // Aborted due to internal server error. + AbortInfo_INTERNAL_ERROR AbortInfo_Cause = 10 + // Aborted because the source endpoint could not be found. + AbortInfo_SOURCE_ENDPOINT_NOT_FOUND AbortInfo_Cause = 11 + // Aborted because the source network does not match the source endpoint. + AbortInfo_MISMATCHED_SOURCE_NETWORK AbortInfo_Cause = 12 + // Aborted because the destination endpoint could not be found. + AbortInfo_DESTINATION_ENDPOINT_NOT_FOUND AbortInfo_Cause = 13 + // Aborted because the destination network does not match the destination + // endpoint. + AbortInfo_MISMATCHED_DESTINATION_NETWORK AbortInfo_Cause = 14 + // Aborted because the test scenario is not supported. + AbortInfo_UNSUPPORTED AbortInfo_Cause = 15 + // Aborted because the source and destination resources have no common IP + // version. + AbortInfo_MISMATCHED_IP_VERSION AbortInfo_Cause = 16 + // Aborted because the connection between the control plane and the node of + // the source cluster is initiated by the node and managed by the + // Konnectivity proxy. + AbortInfo_GKE_KONNECTIVITY_PROXY_UNSUPPORTED AbortInfo_Cause = 17 + // Aborted because expected resource configuration was missing. + AbortInfo_RESOURCE_CONFIG_NOT_FOUND AbortInfo_Cause = 18 +) + +// Enum value maps for AbortInfo_Cause. +var ( + AbortInfo_Cause_name = map[int32]string{ + 0: "CAUSE_UNSPECIFIED", + 1: "UNKNOWN_NETWORK", + 2: "UNKNOWN_IP", + 3: "UNKNOWN_PROJECT", + 4: "PERMISSION_DENIED", + 5: "NO_SOURCE_LOCATION", + 6: "INVALID_ARGUMENT", + 7: "NO_EXTERNAL_IP", + 8: "UNINTENDED_DESTINATION", + 9: "TRACE_TOO_LONG", + 10: "INTERNAL_ERROR", + 11: "SOURCE_ENDPOINT_NOT_FOUND", + 12: "MISMATCHED_SOURCE_NETWORK", + 13: "DESTINATION_ENDPOINT_NOT_FOUND", + 14: "MISMATCHED_DESTINATION_NETWORK", + 15: "UNSUPPORTED", + 16: "MISMATCHED_IP_VERSION", + 17: "GKE_KONNECTIVITY_PROXY_UNSUPPORTED", + 18: "RESOURCE_CONFIG_NOT_FOUND", + } + AbortInfo_Cause_value = map[string]int32{ + "CAUSE_UNSPECIFIED": 0, + "UNKNOWN_NETWORK": 1, + "UNKNOWN_IP": 2, + "UNKNOWN_PROJECT": 3, + "PERMISSION_DENIED": 4, + "NO_SOURCE_LOCATION": 5, + "INVALID_ARGUMENT": 6, + "NO_EXTERNAL_IP": 7, + "UNINTENDED_DESTINATION": 8, + "TRACE_TOO_LONG": 9, + "INTERNAL_ERROR": 10, + "SOURCE_ENDPOINT_NOT_FOUND": 11, + "MISMATCHED_SOURCE_NETWORK": 12, + "DESTINATION_ENDPOINT_NOT_FOUND": 13, + "MISMATCHED_DESTINATION_NETWORK": 14, + "UNSUPPORTED": 15, + "MISMATCHED_IP_VERSION": 16, + "GKE_KONNECTIVITY_PROXY_UNSUPPORTED": 17, + "RESOURCE_CONFIG_NOT_FOUND": 18, + } +) + +func (x AbortInfo_Cause) Enum() *AbortInfo_Cause { + p := new(AbortInfo_Cause) + *p = x + return p +} + +func (x AbortInfo_Cause) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AbortInfo_Cause) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[11].Descriptor() +} + +func (AbortInfo_Cause) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[11] +} + +func (x AbortInfo_Cause) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AbortInfo_Cause.Descriptor instead. +func (AbortInfo_Cause) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{15, 0} +} + +// Drop cause types: +type DropInfo_Cause int32 + +const ( + // Cause is unspecified. + DropInfo_CAUSE_UNSPECIFIED DropInfo_Cause = 0 + // Destination external address cannot be resolved to a known target. If + // the address is used in a Google Cloud project, provide the project ID + // as test input. + DropInfo_UNKNOWN_EXTERNAL_ADDRESS DropInfo_Cause = 1 + // A Compute Engine instance can only send or receive a packet with a + // foreign IP address if ip_forward is enabled. + DropInfo_FOREIGN_IP_DISALLOWED DropInfo_Cause = 2 + // Dropped due to a firewall rule, unless allowed due to connection + // tracking. + DropInfo_FIREWALL_RULE DropInfo_Cause = 3 + // Dropped due to no routes. + DropInfo_NO_ROUTE DropInfo_Cause = 4 + // Dropped due to invalid route. Route's next hop is a blackhole. + DropInfo_ROUTE_BLACKHOLE DropInfo_Cause = 5 + // Packet is sent to a wrong (unintended) network. Example: you trace a + // packet from VM1:Network1 to VM2:Network2, however, the route configured + // in Network1 sends the packet destined for VM2's IP addresss to Network3. + DropInfo_ROUTE_WRONG_NETWORK DropInfo_Cause = 6 + // Packet with internal destination address sent to the internet gateway. + DropInfo_PRIVATE_TRAFFIC_TO_INTERNET DropInfo_Cause = 7 + // Instance with only an internal IP address tries to access Google API and + // services, but private Google access is not enabled. + DropInfo_PRIVATE_GOOGLE_ACCESS_DISALLOWED DropInfo_Cause = 8 + // Instance with only an internal IP address tries to access external hosts, + // but Cloud NAT is not enabled in the subnet, unless special configurations + // on a VM allow this connection. + DropInfo_NO_EXTERNAL_ADDRESS DropInfo_Cause = 9 + // Destination internal address cannot be resolved to a known target. If + // this is a shared VPC scenario, verify if the service project ID is + // provided as test input. Otherwise, verify if the IP address is being + // used in the project. + DropInfo_UNKNOWN_INTERNAL_ADDRESS DropInfo_Cause = 10 + // Forwarding rule's protocol and ports do not match the packet header. + DropInfo_FORWARDING_RULE_MISMATCH DropInfo_Cause = 11 + // Packet could be dropped because it was sent from a different region + // to a regional forwarding without global access. + DropInfo_FORWARDING_RULE_REGION_MISMATCH DropInfo_Cause = 25 + // Forwarding rule does not have backends configured. + DropInfo_FORWARDING_RULE_NO_INSTANCES DropInfo_Cause = 12 + // Firewalls block the health check probes to the backends and cause + // the backends to be unavailable for traffic from the load balancer. + // For more details, see [Health check firewall + // rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules). + DropInfo_FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK DropInfo_Cause = 13 + // Packet is sent from or to a Compute Engine instance that is not in a + // running state. + DropInfo_INSTANCE_NOT_RUNNING DropInfo_Cause = 14 + // Packet sent from or to a GKE cluster that is not in running state. + DropInfo_GKE_CLUSTER_NOT_RUNNING DropInfo_Cause = 27 + // Packet sent from or to a Cloud SQL instance that is not in running state. + DropInfo_CLOUD_SQL_INSTANCE_NOT_RUNNING DropInfo_Cause = 28 + // The type of traffic is blocked and the user cannot configure a firewall + // rule to enable it. See [Always blocked + // traffic](https://cloud.google.com/vpc/docs/firewalls#blockedtraffic) for + // more details. + DropInfo_TRAFFIC_TYPE_BLOCKED DropInfo_Cause = 15 + // Access to Google Kubernetes Engine cluster master's endpoint is not + // authorized. See [Access to the cluster + // endpoints](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#access_to_the_cluster_endpoints) + // for more details. + DropInfo_GKE_MASTER_UNAUTHORIZED_ACCESS DropInfo_Cause = 16 + // Access to the Cloud SQL instance endpoint is not authorized. + // See [Authorizing with authorized + // networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for + // more details. + DropInfo_CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS DropInfo_Cause = 17 + // Packet was dropped inside Google Kubernetes Engine Service. + DropInfo_DROPPED_INSIDE_GKE_SERVICE DropInfo_Cause = 18 + // Packet was dropped inside Cloud SQL Service. + DropInfo_DROPPED_INSIDE_CLOUD_SQL_SERVICE DropInfo_Cause = 19 + // Packet was dropped because there is no peering between the originating + // network and the Google Managed Services Network. + DropInfo_GOOGLE_MANAGED_SERVICE_NO_PEERING DropInfo_Cause = 20 + // Packet was dropped because the Google-managed service uses Private + // Service Connect (PSC), but the PSC endpoint is not found in the project. + DropInfo_GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT DropInfo_Cause = 38 + // Packet was dropped because the GKE cluster uses Private Service Connect + // (PSC), but the PSC endpoint is not found in the project. + DropInfo_GKE_PSC_ENDPOINT_MISSING DropInfo_Cause = 36 + // Packet was dropped because the Cloud SQL instance has neither a private + // nor a public IP address. + DropInfo_CLOUD_SQL_INSTANCE_NO_IP_ADDRESS DropInfo_Cause = 21 + // Packet was dropped because a GKE cluster private endpoint is + // unreachable from a region different from the cluster's region. + DropInfo_GKE_CONTROL_PLANE_REGION_MISMATCH DropInfo_Cause = 30 + // Packet sent from a public GKE cluster control plane to a private + // IP address. + DropInfo_PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION DropInfo_Cause = 31 + // Packet was dropped because there is no route from a GKE cluster + // control plane to a destination network. + DropInfo_GKE_CONTROL_PLANE_NO_ROUTE DropInfo_Cause = 32 + // Packet sent from a Cloud SQL instance to an external IP address is not + // allowed. The Cloud SQL instance is not configured to send packets to + // external IP addresses. + DropInfo_CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC DropInfo_Cause = 33 + // Packet sent from a Cloud SQL instance with only a public IP address to a + // private IP address. + DropInfo_PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION DropInfo_Cause = 34 + // Packet was dropped because there is no route from a Cloud SQL + // instance to a destination network. + DropInfo_CLOUD_SQL_INSTANCE_NO_ROUTE DropInfo_Cause = 35 + // Packet could be dropped because the Cloud Function is not in an active + // status. + DropInfo_CLOUD_FUNCTION_NOT_ACTIVE DropInfo_Cause = 22 + // Packet could be dropped because no VPC connector is set. + DropInfo_VPC_CONNECTOR_NOT_SET DropInfo_Cause = 23 + // Packet could be dropped because the VPC connector is not in a running + // state. + DropInfo_VPC_CONNECTOR_NOT_RUNNING DropInfo_Cause = 24 + // The Private Service Connect endpoint is in a project that is not approved + // to connect to the service. + DropInfo_PSC_CONNECTION_NOT_ACCEPTED DropInfo_Cause = 26 + // Packet sent from a Cloud Run revision that is not ready. + DropInfo_CLOUD_RUN_REVISION_NOT_READY DropInfo_Cause = 29 + // Packet was dropped inside Private Service Connect service producer. + DropInfo_DROPPED_INSIDE_PSC_SERVICE_PRODUCER DropInfo_Cause = 37 + // Packet sent to a load balancer, which requires a proxy-only subnet and + // the subnet is not found. + DropInfo_LOAD_BALANCER_HAS_NO_PROXY_SUBNET DropInfo_Cause = 39 +) + +// Enum value maps for DropInfo_Cause. +var ( + DropInfo_Cause_name = map[int32]string{ + 0: "CAUSE_UNSPECIFIED", + 1: "UNKNOWN_EXTERNAL_ADDRESS", + 2: "FOREIGN_IP_DISALLOWED", + 3: "FIREWALL_RULE", + 4: "NO_ROUTE", + 5: "ROUTE_BLACKHOLE", + 6: "ROUTE_WRONG_NETWORK", + 7: "PRIVATE_TRAFFIC_TO_INTERNET", + 8: "PRIVATE_GOOGLE_ACCESS_DISALLOWED", + 9: "NO_EXTERNAL_ADDRESS", + 10: "UNKNOWN_INTERNAL_ADDRESS", + 11: "FORWARDING_RULE_MISMATCH", + 25: "FORWARDING_RULE_REGION_MISMATCH", + 12: "FORWARDING_RULE_NO_INSTANCES", + 13: "FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK", + 14: "INSTANCE_NOT_RUNNING", + 27: "GKE_CLUSTER_NOT_RUNNING", + 28: "CLOUD_SQL_INSTANCE_NOT_RUNNING", + 15: "TRAFFIC_TYPE_BLOCKED", + 16: "GKE_MASTER_UNAUTHORIZED_ACCESS", + 17: "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", + 18: "DROPPED_INSIDE_GKE_SERVICE", + 19: "DROPPED_INSIDE_CLOUD_SQL_SERVICE", + 20: "GOOGLE_MANAGED_SERVICE_NO_PEERING", + 38: "GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT", + 36: "GKE_PSC_ENDPOINT_MISSING", + 21: "CLOUD_SQL_INSTANCE_NO_IP_ADDRESS", + 30: "GKE_CONTROL_PLANE_REGION_MISMATCH", + 31: "PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION", + 32: "GKE_CONTROL_PLANE_NO_ROUTE", + 33: "CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC", + 34: "PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION", + 35: "CLOUD_SQL_INSTANCE_NO_ROUTE", + 22: "CLOUD_FUNCTION_NOT_ACTIVE", + 23: "VPC_CONNECTOR_NOT_SET", + 24: "VPC_CONNECTOR_NOT_RUNNING", + 26: "PSC_CONNECTION_NOT_ACCEPTED", + 29: "CLOUD_RUN_REVISION_NOT_READY", + 37: "DROPPED_INSIDE_PSC_SERVICE_PRODUCER", + 39: "LOAD_BALANCER_HAS_NO_PROXY_SUBNET", + } + DropInfo_Cause_value = map[string]int32{ + "CAUSE_UNSPECIFIED": 0, + "UNKNOWN_EXTERNAL_ADDRESS": 1, + "FOREIGN_IP_DISALLOWED": 2, + "FIREWALL_RULE": 3, + "NO_ROUTE": 4, + "ROUTE_BLACKHOLE": 5, + "ROUTE_WRONG_NETWORK": 6, + "PRIVATE_TRAFFIC_TO_INTERNET": 7, + "PRIVATE_GOOGLE_ACCESS_DISALLOWED": 8, + "NO_EXTERNAL_ADDRESS": 9, + "UNKNOWN_INTERNAL_ADDRESS": 10, + "FORWARDING_RULE_MISMATCH": 11, + "FORWARDING_RULE_REGION_MISMATCH": 25, + "FORWARDING_RULE_NO_INSTANCES": 12, + "FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK": 13, + "INSTANCE_NOT_RUNNING": 14, + "GKE_CLUSTER_NOT_RUNNING": 27, + "CLOUD_SQL_INSTANCE_NOT_RUNNING": 28, + "TRAFFIC_TYPE_BLOCKED": 15, + "GKE_MASTER_UNAUTHORIZED_ACCESS": 16, + "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS": 17, + "DROPPED_INSIDE_GKE_SERVICE": 18, + "DROPPED_INSIDE_CLOUD_SQL_SERVICE": 19, + "GOOGLE_MANAGED_SERVICE_NO_PEERING": 20, + "GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT": 38, + "GKE_PSC_ENDPOINT_MISSING": 36, + "CLOUD_SQL_INSTANCE_NO_IP_ADDRESS": 21, + "GKE_CONTROL_PLANE_REGION_MISMATCH": 30, + "PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION": 31, + "GKE_CONTROL_PLANE_NO_ROUTE": 32, + "CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC": 33, + "PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION": 34, + "CLOUD_SQL_INSTANCE_NO_ROUTE": 35, + "CLOUD_FUNCTION_NOT_ACTIVE": 22, + "VPC_CONNECTOR_NOT_SET": 23, + "VPC_CONNECTOR_NOT_RUNNING": 24, + "PSC_CONNECTION_NOT_ACCEPTED": 26, + "CLOUD_RUN_REVISION_NOT_READY": 29, + "DROPPED_INSIDE_PSC_SERVICE_PRODUCER": 37, + "LOAD_BALANCER_HAS_NO_PROXY_SUBNET": 39, + } +) + +func (x DropInfo_Cause) Enum() *DropInfo_Cause { + p := new(DropInfo_Cause) + *p = x + return p +} + +func (x DropInfo_Cause) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DropInfo_Cause) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[12].Descriptor() +} + +func (DropInfo_Cause) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[12] +} + +func (x DropInfo_Cause) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DropInfo_Cause.Descriptor instead. +func (DropInfo_Cause) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{16, 0} +} + +// The type definition of an endpoint's network. Use one of the +// following choices: +type Endpoint_NetworkType int32 + +const ( + // Default type if unspecified. + Endpoint_NETWORK_TYPE_UNSPECIFIED Endpoint_NetworkType = 0 + // A network hosted within Google Cloud. + // To receive more detailed output, specify the URI for the source or + // destination network. + Endpoint_GCP_NETWORK Endpoint_NetworkType = 1 + // A network hosted outside of Google Cloud. + // This can be an on-premises network, or a network hosted by another cloud + // provider. + Endpoint_NON_GCP_NETWORK Endpoint_NetworkType = 2 +) + +// Enum value maps for Endpoint_NetworkType. +var ( + Endpoint_NetworkType_name = map[int32]string{ + 0: "NETWORK_TYPE_UNSPECIFIED", + 1: "GCP_NETWORK", + 2: "NON_GCP_NETWORK", + } + Endpoint_NetworkType_value = map[string]int32{ + "NETWORK_TYPE_UNSPECIFIED": 0, + "GCP_NETWORK": 1, + "NON_GCP_NETWORK": 2, + } +) + +func (x Endpoint_NetworkType) Enum() *Endpoint_NetworkType { + p := new(Endpoint_NetworkType) + *p = x + return p +} + +func (x Endpoint_NetworkType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Endpoint_NetworkType) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[13].Descriptor() +} + +func (Endpoint_NetworkType) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[13] +} + +func (x Endpoint_NetworkType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Endpoint_NetworkType.Descriptor instead. +func (Endpoint_NetworkType) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{24, 0} +} + +// The overall result of the test's configuration analysis. +type ReachabilityDetails_Result int32 + +const ( + // No result was specified. + ReachabilityDetails_RESULT_UNSPECIFIED ReachabilityDetails_Result = 0 + // Possible scenarios are: + // + // - The configuration analysis determined that a packet originating from + // the source is expected to reach the destination. + // - The analysis didn't complete because the user lacks permission for + // some of the resources in the trace. However, at the time the user's + // permission became insufficient, the trace had been successful so far. + ReachabilityDetails_REACHABLE ReachabilityDetails_Result = 1 + // A packet originating from the source is expected to be dropped before + // reaching the destination. + ReachabilityDetails_UNREACHABLE ReachabilityDetails_Result = 2 + // The source and destination endpoints do not uniquely identify + // the test location in the network, and the reachability result contains + // multiple traces. For some traces, a packet could be delivered, and for + // others, it would not be. + ReachabilityDetails_AMBIGUOUS ReachabilityDetails_Result = 4 + // The configuration analysis did not complete. Possible reasons are: + // + // - A permissions error occurred--for example, the user might not have + // read permission for all of the resources named in the test. + // - An internal error occurred. + // - The analyzer received an invalid or unsupported argument or was unable + // to identify a known endpoint. + ReachabilityDetails_UNDETERMINED ReachabilityDetails_Result = 5 +) + +// Enum value maps for ReachabilityDetails_Result. +var ( + ReachabilityDetails_Result_name = map[int32]string{ + 0: "RESULT_UNSPECIFIED", + 1: "REACHABLE", + 2: "UNREACHABLE", + 4: "AMBIGUOUS", + 5: "UNDETERMINED", + } + ReachabilityDetails_Result_value = map[string]int32{ + "RESULT_UNSPECIFIED": 0, + "REACHABLE": 1, + "UNREACHABLE": 2, + "AMBIGUOUS": 4, + "UNDETERMINED": 5, + } +) + +func (x ReachabilityDetails_Result) Enum() *ReachabilityDetails_Result { + p := new(ReachabilityDetails_Result) + *p = x + return p +} + +func (x ReachabilityDetails_Result) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ReachabilityDetails_Result) Descriptor() protoreflect.EnumDescriptor { + return file_cloud_networkmanagement_v1_data_proto_enumTypes[14].Descriptor() +} + +func (ReachabilityDetails_Result) Type() protoreflect.EnumType { + return &file_cloud_networkmanagement_v1_data_proto_enumTypes[14] +} + +func (x ReachabilityDetails_Result) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ReachabilityDetails_Result.Descriptor instead. +func (ReachabilityDetails_Result) EnumDescriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{25, 0} +} + +// Trace represents one simulated packet forwarding path. +// +// - Each trace contains multiple ordered steps. +// - Each step is in a particular state with associated configuration. +// - State is categorized as final or non-final states. +// - Each final state has a reason associated. +// - Each trace must end with a final state (the last step). +// +// ``` +// +// |---------------------Trace----------------------| +// Step1(State) Step2(State) --- StepN(State(final)) +// +// ``` +type Trace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Derived from the source and destination endpoints definition specified by + // user request, and validated by the data plane model. + // If there are multiple traces starting from different source locations, then + // the endpoint_info may be different between traces. + EndpointInfo *EndpointInfo `protobuf:"bytes,1,opt,name=endpoint_info,json=endpointInfo,proto3" json:"endpoint_info,omitempty"` + // A trace of a test contains multiple steps from the initial state to the + // final state (delivered, dropped, forwarded, or aborted). + // + // The steps are ordered by the processing sequence within the simulated + // network state machine. It is critical to preserve the order of the steps + // and avoid reordering or sorting them. + Steps []*Step `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` +} + +func (x *Trace) Reset() { + *x = Trace{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Trace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Trace) ProtoMessage() {} + +func (x *Trace) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Trace.ProtoReflect.Descriptor instead. +func (*Trace) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{0} +} + +func (x *Trace) GetEndpointInfo() *EndpointInfo { + if x != nil { + return x.EndpointInfo + } + return nil +} + +func (x *Trace) GetSteps() []*Step { + if x != nil { + return x.Steps + } + return nil +} + +// A simulated forwarding path is composed of multiple steps. +// Each step has a well-defined state and an associated configuration. +type Step struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A description of the step. Usually this is a summary of the state. + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + // Each step is in one of the pre-defined states. + State Step_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.events.cloud.networkmanagement.v1.Step_State" json:"state,omitempty"` + // This is a step that leads to the final state Drop. + CausesDrop bool `protobuf:"varint,3,opt,name=causes_drop,json=causesDrop,proto3" json:"causes_drop,omitempty"` + // Project ID that contains the configuration this step is validating. + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Configuration or metadata associated with each step. + // The configuration is filtered based on viewer's permission. If a viewer + // has no permission to view the configuration in this step, for non-final + // states a special state is populated (VIEWER_PERMISSION_MISSING), and for + // final state the configuration is cleared. + // + // Types that are assignable to StepInfo: + // + // *Step_Instance + // *Step_Firewall + // *Step_Route + // *Step_Endpoint + // *Step_GoogleService + // *Step_ForwardingRule + // *Step_VpnGateway + // *Step_VpnTunnel + // *Step_VpcConnector + // *Step_Deliver + // *Step_Forward + // *Step_Abort + // *Step_Drop + // *Step_LoadBalancer + // *Step_Network + // *Step_GkeMaster + // *Step_CloudSqlInstance + // *Step_CloudFunction + // *Step_AppEngineVersion + // *Step_CloudRunRevision + StepInfo isStep_StepInfo `protobuf_oneof:"step_info"` +} + +func (x *Step) Reset() { + *x = Step{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Step) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Step) ProtoMessage() {} + +func (x *Step) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Step.ProtoReflect.Descriptor instead. +func (*Step) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{1} +} + +func (x *Step) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Step) GetState() Step_State { + if x != nil { + return x.State + } + return Step_STATE_UNSPECIFIED +} + +func (x *Step) GetCausesDrop() bool { + if x != nil { + return x.CausesDrop + } + return false +} + +func (x *Step) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (m *Step) GetStepInfo() isStep_StepInfo { + if m != nil { + return m.StepInfo + } + return nil +} + +func (x *Step) GetInstance() *InstanceInfo { + if x, ok := x.GetStepInfo().(*Step_Instance); ok { + return x.Instance + } + return nil +} + +func (x *Step) GetFirewall() *FirewallInfo { + if x, ok := x.GetStepInfo().(*Step_Firewall); ok { + return x.Firewall + } + return nil +} + +func (x *Step) GetRoute() *RouteInfo { + if x, ok := x.GetStepInfo().(*Step_Route); ok { + return x.Route + } + return nil +} + +func (x *Step) GetEndpoint() *EndpointInfo { + if x, ok := x.GetStepInfo().(*Step_Endpoint); ok { + return x.Endpoint + } + return nil +} + +func (x *Step) GetGoogleService() *GoogleServiceInfo { + if x, ok := x.GetStepInfo().(*Step_GoogleService); ok { + return x.GoogleService + } + return nil +} + +func (x *Step) GetForwardingRule() *ForwardingRuleInfo { + if x, ok := x.GetStepInfo().(*Step_ForwardingRule); ok { + return x.ForwardingRule + } + return nil +} + +func (x *Step) GetVpnGateway() *VpnGatewayInfo { + if x, ok := x.GetStepInfo().(*Step_VpnGateway); ok { + return x.VpnGateway + } + return nil +} + +func (x *Step) GetVpnTunnel() *VpnTunnelInfo { + if x, ok := x.GetStepInfo().(*Step_VpnTunnel); ok { + return x.VpnTunnel + } + return nil +} + +func (x *Step) GetVpcConnector() *VpcConnectorInfo { + if x, ok := x.GetStepInfo().(*Step_VpcConnector); ok { + return x.VpcConnector + } + return nil +} + +func (x *Step) GetDeliver() *DeliverInfo { + if x, ok := x.GetStepInfo().(*Step_Deliver); ok { + return x.Deliver + } + return nil +} + +func (x *Step) GetForward() *ForwardInfo { + if x, ok := x.GetStepInfo().(*Step_Forward); ok { + return x.Forward + } + return nil +} + +func (x *Step) GetAbort() *AbortInfo { + if x, ok := x.GetStepInfo().(*Step_Abort); ok { + return x.Abort + } + return nil +} + +func (x *Step) GetDrop() *DropInfo { + if x, ok := x.GetStepInfo().(*Step_Drop); ok { + return x.Drop + } + return nil +} + +func (x *Step) GetLoadBalancer() *LoadBalancerInfo { + if x, ok := x.GetStepInfo().(*Step_LoadBalancer); ok { + return x.LoadBalancer + } + return nil +} + +func (x *Step) GetNetwork() *NetworkInfo { + if x, ok := x.GetStepInfo().(*Step_Network); ok { + return x.Network + } + return nil +} + +func (x *Step) GetGkeMaster() *GKEMasterInfo { + if x, ok := x.GetStepInfo().(*Step_GkeMaster); ok { + return x.GkeMaster + } + return nil +} + +func (x *Step) GetCloudSqlInstance() *CloudSQLInstanceInfo { + if x, ok := x.GetStepInfo().(*Step_CloudSqlInstance); ok { + return x.CloudSqlInstance + } + return nil +} + +func (x *Step) GetCloudFunction() *CloudFunctionInfo { + if x, ok := x.GetStepInfo().(*Step_CloudFunction); ok { + return x.CloudFunction + } + return nil +} + +func (x *Step) GetAppEngineVersion() *AppEngineVersionInfo { + if x, ok := x.GetStepInfo().(*Step_AppEngineVersion); ok { + return x.AppEngineVersion + } + return nil +} + +func (x *Step) GetCloudRunRevision() *CloudRunRevisionInfo { + if x, ok := x.GetStepInfo().(*Step_CloudRunRevision); ok { + return x.CloudRunRevision + } + return nil +} + +type isStep_StepInfo interface { + isStep_StepInfo() +} + +type Step_Instance struct { + // Display information of a Compute Engine instance. + Instance *InstanceInfo `protobuf:"bytes,5,opt,name=instance,proto3,oneof"` +} + +type Step_Firewall struct { + // Display information of a Compute Engine firewall rule. + Firewall *FirewallInfo `protobuf:"bytes,6,opt,name=firewall,proto3,oneof"` +} + +type Step_Route struct { + // Display information of a Compute Engine route. + Route *RouteInfo `protobuf:"bytes,7,opt,name=route,proto3,oneof"` +} + +type Step_Endpoint struct { + // Display information of the source and destination under analysis. + // The endpoint information in an intermediate state may differ with the + // initial input, as it might be modified by state like NAT, + // or Connection Proxy. + Endpoint *EndpointInfo `protobuf:"bytes,8,opt,name=endpoint,proto3,oneof"` +} + +type Step_GoogleService struct { + // Display information of a Google service + GoogleService *GoogleServiceInfo `protobuf:"bytes,24,opt,name=google_service,json=googleService,proto3,oneof"` +} + +type Step_ForwardingRule struct { + // Display information of a Compute Engine forwarding rule. + ForwardingRule *ForwardingRuleInfo `protobuf:"bytes,9,opt,name=forwarding_rule,json=forwardingRule,proto3,oneof"` +} + +type Step_VpnGateway struct { + // Display information of a Compute Engine VPN gateway. + VpnGateway *VpnGatewayInfo `protobuf:"bytes,10,opt,name=vpn_gateway,json=vpnGateway,proto3,oneof"` +} + +type Step_VpnTunnel struct { + // Display information of a Compute Engine VPN tunnel. + VpnTunnel *VpnTunnelInfo `protobuf:"bytes,11,opt,name=vpn_tunnel,json=vpnTunnel,proto3,oneof"` +} + +type Step_VpcConnector struct { + // Display information of a VPC connector. + VpcConnector *VpcConnectorInfo `protobuf:"bytes,21,opt,name=vpc_connector,json=vpcConnector,proto3,oneof"` +} + +type Step_Deliver struct { + // Display information of the final state "deliver" and reason. + Deliver *DeliverInfo `protobuf:"bytes,12,opt,name=deliver,proto3,oneof"` +} + +type Step_Forward struct { + // Display information of the final state "forward" and reason. + Forward *ForwardInfo `protobuf:"bytes,13,opt,name=forward,proto3,oneof"` +} + +type Step_Abort struct { + // Display information of the final state "abort" and reason. + Abort *AbortInfo `protobuf:"bytes,14,opt,name=abort,proto3,oneof"` +} + +type Step_Drop struct { + // Display information of the final state "drop" and reason. + Drop *DropInfo `protobuf:"bytes,15,opt,name=drop,proto3,oneof"` +} + +type Step_LoadBalancer struct { + // Display information of the load balancers. + LoadBalancer *LoadBalancerInfo `protobuf:"bytes,16,opt,name=load_balancer,json=loadBalancer,proto3,oneof"` +} + +type Step_Network struct { + // Display information of a Google Cloud network. + Network *NetworkInfo `protobuf:"bytes,17,opt,name=network,proto3,oneof"` +} + +type Step_GkeMaster struct { + // Display information of a Google Kubernetes Engine cluster master. + GkeMaster *GKEMasterInfo `protobuf:"bytes,18,opt,name=gke_master,json=gkeMaster,proto3,oneof"` +} + +type Step_CloudSqlInstance struct { + // Display information of a Cloud SQL instance. + CloudSqlInstance *CloudSQLInstanceInfo `protobuf:"bytes,19,opt,name=cloud_sql_instance,json=cloudSqlInstance,proto3,oneof"` +} + +type Step_CloudFunction struct { + // Display information of a Cloud Function. + CloudFunction *CloudFunctionInfo `protobuf:"bytes,20,opt,name=cloud_function,json=cloudFunction,proto3,oneof"` +} + +type Step_AppEngineVersion struct { + // Display information of an App Engine service version. + AppEngineVersion *AppEngineVersionInfo `protobuf:"bytes,22,opt,name=app_engine_version,json=appEngineVersion,proto3,oneof"` +} + +type Step_CloudRunRevision struct { + // Display information of a Cloud Run revision. + CloudRunRevision *CloudRunRevisionInfo `protobuf:"bytes,23,opt,name=cloud_run_revision,json=cloudRunRevision,proto3,oneof"` +} + +func (*Step_Instance) isStep_StepInfo() {} + +func (*Step_Firewall) isStep_StepInfo() {} + +func (*Step_Route) isStep_StepInfo() {} + +func (*Step_Endpoint) isStep_StepInfo() {} + +func (*Step_GoogleService) isStep_StepInfo() {} + +func (*Step_ForwardingRule) isStep_StepInfo() {} + +func (*Step_VpnGateway) isStep_StepInfo() {} + +func (*Step_VpnTunnel) isStep_StepInfo() {} + +func (*Step_VpcConnector) isStep_StepInfo() {} + +func (*Step_Deliver) isStep_StepInfo() {} + +func (*Step_Forward) isStep_StepInfo() {} + +func (*Step_Abort) isStep_StepInfo() {} + +func (*Step_Drop) isStep_StepInfo() {} + +func (*Step_LoadBalancer) isStep_StepInfo() {} + +func (*Step_Network) isStep_StepInfo() {} + +func (*Step_GkeMaster) isStep_StepInfo() {} + +func (*Step_CloudSqlInstance) isStep_StepInfo() {} + +func (*Step_CloudFunction) isStep_StepInfo() {} + +func (*Step_AppEngineVersion) isStep_StepInfo() {} + +func (*Step_CloudRunRevision) isStep_StepInfo() {} + +// For display only. Metadata associated with a Compute Engine instance. +type InstanceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Compute Engine instance. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Compute Engine instance. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Name of the network interface of a Compute Engine instance. + Interface string `protobuf:"bytes,3,opt,name=interface,proto3" json:"interface,omitempty"` + // URI of a Compute Engine network. + NetworkUri string `protobuf:"bytes,4,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // Internal IP address of the network interface. + InternalIp string `protobuf:"bytes,5,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // External IP address of the network interface. + ExternalIp string `protobuf:"bytes,6,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` + // Network tags configured on the instance. + NetworkTags []string `protobuf:"bytes,7,rep,name=network_tags,json=networkTags,proto3" json:"network_tags,omitempty"` + // Service account authorized for the instance. + ServiceAccount string `protobuf:"bytes,8,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` +} + +func (x *InstanceInfo) Reset() { + *x = InstanceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceInfo) ProtoMessage() {} + +func (x *InstanceInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceInfo.ProtoReflect.Descriptor instead. +func (*InstanceInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{2} +} + +func (x *InstanceInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *InstanceInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *InstanceInfo) GetInterface() string { + if x != nil { + return x.Interface + } + return "" +} + +func (x *InstanceInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *InstanceInfo) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *InstanceInfo) GetExternalIp() string { + if x != nil { + return x.ExternalIp + } + return "" +} + +func (x *InstanceInfo) GetNetworkTags() []string { + if x != nil { + return x.NetworkTags + } + return nil +} + +func (x *InstanceInfo) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +// For display only. Metadata associated with a Compute Engine network. +type NetworkInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Compute Engine network. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Compute Engine network. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // The IP range that matches the test. + MatchedIpRange string `protobuf:"bytes,4,opt,name=matched_ip_range,json=matchedIpRange,proto3" json:"matched_ip_range,omitempty"` +} + +func (x *NetworkInfo) Reset() { + *x = NetworkInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkInfo) ProtoMessage() {} + +func (x *NetworkInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkInfo.ProtoReflect.Descriptor instead. +func (*NetworkInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{3} +} + +func (x *NetworkInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NetworkInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *NetworkInfo) GetMatchedIpRange() string { + if x != nil { + return x.MatchedIpRange + } + return "" +} + +// For display only. Metadata associated with a VPC firewall rule, an implied +// VPC firewall rule, or a hierarchical firewall policy rule. +type FirewallInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The display name of the VPC firewall rule. This field is not applicable + // to hierarchical firewall policy rules. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The URI of the VPC firewall rule. This field is not applicable to + // implied firewall rules or hierarchical firewall policy rules. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Possible values: INGRESS, EGRESS + Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` + // Possible values: ALLOW, DENY + Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"` + // The priority of the firewall rule. + Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` + // The URI of the VPC network that the firewall rule is associated with. + // This field is not applicable to hierarchical firewall policy rules. + NetworkUri string `protobuf:"bytes,6,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // The target tags defined by the VPC firewall rule. This field is not + // applicable to hierarchical firewall policy rules. + TargetTags []string `protobuf:"bytes,7,rep,name=target_tags,json=targetTags,proto3" json:"target_tags,omitempty"` + // The target service accounts specified by the firewall rule. + TargetServiceAccounts []string `protobuf:"bytes,8,rep,name=target_service_accounts,json=targetServiceAccounts,proto3" json:"target_service_accounts,omitempty"` + // The hierarchical firewall policy that this rule is associated with. + // This field is not applicable to VPC firewall rules. + Policy string `protobuf:"bytes,9,opt,name=policy,proto3" json:"policy,omitempty"` + // The firewall rule's type. + FirewallRuleType FirewallInfo_FirewallRuleType `protobuf:"varint,10,opt,name=firewall_rule_type,json=firewallRuleType,proto3,enum=google.events.cloud.networkmanagement.v1.FirewallInfo_FirewallRuleType" json:"firewall_rule_type,omitempty"` +} + +func (x *FirewallInfo) Reset() { + *x = FirewallInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FirewallInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FirewallInfo) ProtoMessage() {} + +func (x *FirewallInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FirewallInfo.ProtoReflect.Descriptor instead. +func (*FirewallInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{4} +} + +func (x *FirewallInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *FirewallInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *FirewallInfo) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *FirewallInfo) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *FirewallInfo) GetPriority() int32 { + if x != nil { + return x.Priority + } + return 0 +} + +func (x *FirewallInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *FirewallInfo) GetTargetTags() []string { + if x != nil { + return x.TargetTags + } + return nil +} + +func (x *FirewallInfo) GetTargetServiceAccounts() []string { + if x != nil { + return x.TargetServiceAccounts + } + return nil +} + +func (x *FirewallInfo) GetPolicy() string { + if x != nil { + return x.Policy + } + return "" +} + +func (x *FirewallInfo) GetFirewallRuleType() FirewallInfo_FirewallRuleType { + if x != nil { + return x.FirewallRuleType + } + return FirewallInfo_FIREWALL_RULE_TYPE_UNSPECIFIED +} + +// For display only. Metadata associated with a Compute Engine route. +type RouteInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of route. + RouteType RouteInfo_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,proto3,enum=google.events.cloud.networkmanagement.v1.RouteInfo_RouteType" json:"route_type,omitempty"` + // Type of next hop. + NextHopType RouteInfo_NextHopType `protobuf:"varint,9,opt,name=next_hop_type,json=nextHopType,proto3,enum=google.events.cloud.networkmanagement.v1.RouteInfo_NextHopType" json:"next_hop_type,omitempty"` + // Name of a Compute Engine route. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Compute Engine route. + // Dynamic route from cloud router does not have a URI. + // Advertised route from Google Cloud VPC to on-premises network also does + // not have a URI. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Destination IP range of the route. + DestIpRange string `protobuf:"bytes,3,opt,name=dest_ip_range,json=destIpRange,proto3" json:"dest_ip_range,omitempty"` + // Next hop of the route. + NextHop string `protobuf:"bytes,4,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` + // URI of a Compute Engine network. + NetworkUri string `protobuf:"bytes,5,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // Priority of the route. + Priority int32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` + // Instance tags of the route. + InstanceTags []string `protobuf:"bytes,7,rep,name=instance_tags,json=instanceTags,proto3" json:"instance_tags,omitempty"` + // Source IP address range of the route. Policy based routes only. + SrcIpRange string `protobuf:"bytes,10,opt,name=src_ip_range,json=srcIpRange,proto3" json:"src_ip_range,omitempty"` + // Destination port ranges of the route. Policy based routes only. + DestPortRanges []string `protobuf:"bytes,11,rep,name=dest_port_ranges,json=destPortRanges,proto3" json:"dest_port_ranges,omitempty"` + // Source port ranges of the route. Policy based routes only. + SrcPortRanges []string `protobuf:"bytes,12,rep,name=src_port_ranges,json=srcPortRanges,proto3" json:"src_port_ranges,omitempty"` + // Protocols of the route. Policy based routes only. + Protocols []string `protobuf:"bytes,13,rep,name=protocols,proto3" json:"protocols,omitempty"` +} + +func (x *RouteInfo) Reset() { + *x = RouteInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteInfo) ProtoMessage() {} + +func (x *RouteInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteInfo.ProtoReflect.Descriptor instead. +func (*RouteInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{5} +} + +func (x *RouteInfo) GetRouteType() RouteInfo_RouteType { + if x != nil { + return x.RouteType + } + return RouteInfo_ROUTE_TYPE_UNSPECIFIED +} + +func (x *RouteInfo) GetNextHopType() RouteInfo_NextHopType { + if x != nil { + return x.NextHopType + } + return RouteInfo_NEXT_HOP_TYPE_UNSPECIFIED +} + +func (x *RouteInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *RouteInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *RouteInfo) GetDestIpRange() string { + if x != nil { + return x.DestIpRange + } + return "" +} + +func (x *RouteInfo) GetNextHop() string { + if x != nil { + return x.NextHop + } + return "" +} + +func (x *RouteInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *RouteInfo) GetPriority() int32 { + if x != nil { + return x.Priority + } + return 0 +} + +func (x *RouteInfo) GetInstanceTags() []string { + if x != nil { + return x.InstanceTags + } + return nil +} + +func (x *RouteInfo) GetSrcIpRange() string { + if x != nil { + return x.SrcIpRange + } + return "" +} + +func (x *RouteInfo) GetDestPortRanges() []string { + if x != nil { + return x.DestPortRanges + } + return nil +} + +func (x *RouteInfo) GetSrcPortRanges() []string { + if x != nil { + return x.SrcPortRanges + } + return nil +} + +func (x *RouteInfo) GetProtocols() []string { + if x != nil { + return x.Protocols + } + return nil +} + +// For display only. Details of a Google Service sending packets to a +// VPC network. Although the source IP might be a publicly routable address, +// some Google Services use special routes within Google production +// infrastructure to reach Compute Engine Instances. +// https://cloud.google.com/vpc/docs/routes#special_return_paths +type GoogleServiceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Source IP address. + SourceIp string `protobuf:"bytes,1,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"` + // Recognized type of a Google Service. + GoogleServiceType GoogleServiceInfo_GoogleServiceType `protobuf:"varint,2,opt,name=google_service_type,json=googleServiceType,proto3,enum=google.events.cloud.networkmanagement.v1.GoogleServiceInfo_GoogleServiceType" json:"google_service_type,omitempty"` +} + +func (x *GoogleServiceInfo) Reset() { + *x = GoogleServiceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleServiceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleServiceInfo) ProtoMessage() {} + +func (x *GoogleServiceInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleServiceInfo.ProtoReflect.Descriptor instead. +func (*GoogleServiceInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{6} +} + +func (x *GoogleServiceInfo) GetSourceIp() string { + if x != nil { + return x.SourceIp + } + return "" +} + +func (x *GoogleServiceInfo) GetGoogleServiceType() GoogleServiceInfo_GoogleServiceType { + if x != nil { + return x.GoogleServiceType + } + return GoogleServiceInfo_GOOGLE_SERVICE_TYPE_UNSPECIFIED +} + +// For display only. Metadata associated with a Compute Engine forwarding rule. +type ForwardingRuleInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Compute Engine forwarding rule. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Compute Engine forwarding rule. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Protocol defined in the forwarding rule that matches the test. + MatchedProtocol string `protobuf:"bytes,3,opt,name=matched_protocol,json=matchedProtocol,proto3" json:"matched_protocol,omitempty"` + // Port range defined in the forwarding rule that matches the test. + MatchedPortRange string `protobuf:"bytes,6,opt,name=matched_port_range,json=matchedPortRange,proto3" json:"matched_port_range,omitempty"` + // VIP of the forwarding rule. + Vip string `protobuf:"bytes,4,opt,name=vip,proto3" json:"vip,omitempty"` + // Target type of the forwarding rule. + Target string `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` + // Network URI. Only valid for Internal Load Balancer. + NetworkUri string `protobuf:"bytes,7,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` +} + +func (x *ForwardingRuleInfo) Reset() { + *x = ForwardingRuleInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForwardingRuleInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForwardingRuleInfo) ProtoMessage() {} + +func (x *ForwardingRuleInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForwardingRuleInfo.ProtoReflect.Descriptor instead. +func (*ForwardingRuleInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{7} +} + +func (x *ForwardingRuleInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ForwardingRuleInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *ForwardingRuleInfo) GetMatchedProtocol() string { + if x != nil { + return x.MatchedProtocol + } + return "" +} + +func (x *ForwardingRuleInfo) GetMatchedPortRange() string { + if x != nil { + return x.MatchedPortRange + } + return "" +} + +func (x *ForwardingRuleInfo) GetVip() string { + if x != nil { + return x.Vip + } + return "" +} + +func (x *ForwardingRuleInfo) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *ForwardingRuleInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +// For display only. Metadata associated with a load balancer. +type LoadBalancerInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the load balancer. + LoadBalancerType LoadBalancerInfo_LoadBalancerType `protobuf:"varint,1,opt,name=load_balancer_type,json=loadBalancerType,proto3,enum=google.events.cloud.networkmanagement.v1.LoadBalancerInfo_LoadBalancerType" json:"load_balancer_type,omitempty"` + // URI of the health check for the load balancer. + HealthCheckUri string `protobuf:"bytes,2,opt,name=health_check_uri,json=healthCheckUri,proto3" json:"health_check_uri,omitempty"` + // Information for the loadbalancer backends. + Backends []*LoadBalancerBackend `protobuf:"bytes,3,rep,name=backends,proto3" json:"backends,omitempty"` + // Type of load balancer's backend configuration. + BackendType LoadBalancerInfo_BackendType `protobuf:"varint,4,opt,name=backend_type,json=backendType,proto3,enum=google.events.cloud.networkmanagement.v1.LoadBalancerInfo_BackendType" json:"backend_type,omitempty"` + // Backend configuration URI. + BackendUri string `protobuf:"bytes,5,opt,name=backend_uri,json=backendUri,proto3" json:"backend_uri,omitempty"` +} + +func (x *LoadBalancerInfo) Reset() { + *x = LoadBalancerInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerInfo) ProtoMessage() {} + +func (x *LoadBalancerInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerInfo.ProtoReflect.Descriptor instead. +func (*LoadBalancerInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{8} +} + +func (x *LoadBalancerInfo) GetLoadBalancerType() LoadBalancerInfo_LoadBalancerType { + if x != nil { + return x.LoadBalancerType + } + return LoadBalancerInfo_LOAD_BALANCER_TYPE_UNSPECIFIED +} + +func (x *LoadBalancerInfo) GetHealthCheckUri() string { + if x != nil { + return x.HealthCheckUri + } + return "" +} + +func (x *LoadBalancerInfo) GetBackends() []*LoadBalancerBackend { + if x != nil { + return x.Backends + } + return nil +} + +func (x *LoadBalancerInfo) GetBackendType() LoadBalancerInfo_BackendType { + if x != nil { + return x.BackendType + } + return LoadBalancerInfo_BACKEND_TYPE_UNSPECIFIED +} + +func (x *LoadBalancerInfo) GetBackendUri() string { + if x != nil { + return x.BackendUri + } + return "" +} + +// For display only. Metadata associated with a specific load balancer backend. +type LoadBalancerBackend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Compute Engine instance or network endpoint. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Compute Engine instance or network endpoint. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // State of the health check firewall configuration. + HealthCheckFirewallState LoadBalancerBackend_HealthCheckFirewallState `protobuf:"varint,3,opt,name=health_check_firewall_state,json=healthCheckFirewallState,proto3,enum=google.events.cloud.networkmanagement.v1.LoadBalancerBackend_HealthCheckFirewallState" json:"health_check_firewall_state,omitempty"` + // A list of firewall rule URIs allowing probes from health check IP ranges. + HealthCheckAllowingFirewallRules []string `protobuf:"bytes,4,rep,name=health_check_allowing_firewall_rules,json=healthCheckAllowingFirewallRules,proto3" json:"health_check_allowing_firewall_rules,omitempty"` + // A list of firewall rule URIs blocking probes from health check IP ranges. + HealthCheckBlockingFirewallRules []string `protobuf:"bytes,5,rep,name=health_check_blocking_firewall_rules,json=healthCheckBlockingFirewallRules,proto3" json:"health_check_blocking_firewall_rules,omitempty"` +} + +func (x *LoadBalancerBackend) Reset() { + *x = LoadBalancerBackend{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerBackend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerBackend) ProtoMessage() {} + +func (x *LoadBalancerBackend) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerBackend.ProtoReflect.Descriptor instead. +func (*LoadBalancerBackend) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{9} +} + +func (x *LoadBalancerBackend) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *LoadBalancerBackend) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *LoadBalancerBackend) GetHealthCheckFirewallState() LoadBalancerBackend_HealthCheckFirewallState { + if x != nil { + return x.HealthCheckFirewallState + } + return LoadBalancerBackend_HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED +} + +func (x *LoadBalancerBackend) GetHealthCheckAllowingFirewallRules() []string { + if x != nil { + return x.HealthCheckAllowingFirewallRules + } + return nil +} + +func (x *LoadBalancerBackend) GetHealthCheckBlockingFirewallRules() []string { + if x != nil { + return x.HealthCheckBlockingFirewallRules + } + return nil +} + +// For display only. Metadata associated with a Compute Engine VPN gateway. +type VpnGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a VPN gateway. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a VPN gateway. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // URI of a Compute Engine network where the VPN gateway is configured. + NetworkUri string `protobuf:"bytes,3,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // IP address of the VPN gateway. + IpAddress string `protobuf:"bytes,4,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + // A VPN tunnel that is associated with this VPN gateway. + // There may be multiple VPN tunnels configured on a VPN gateway, and only + // the one relevant to the test is displayed. + VpnTunnelUri string `protobuf:"bytes,5,opt,name=vpn_tunnel_uri,json=vpnTunnelUri,proto3" json:"vpn_tunnel_uri,omitempty"` + // Name of a Google Cloud region where this VPN gateway is configured. + Region string `protobuf:"bytes,6,opt,name=region,proto3" json:"region,omitempty"` +} + +func (x *VpnGatewayInfo) Reset() { + *x = VpnGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VpnGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VpnGatewayInfo) ProtoMessage() {} + +func (x *VpnGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VpnGatewayInfo.ProtoReflect.Descriptor instead. +func (*VpnGatewayInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{10} +} + +func (x *VpnGatewayInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *VpnGatewayInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *VpnGatewayInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *VpnGatewayInfo) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *VpnGatewayInfo) GetVpnTunnelUri() string { + if x != nil { + return x.VpnTunnelUri + } + return "" +} + +func (x *VpnGatewayInfo) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +// For display only. Metadata associated with a Compute Engine VPN tunnel. +type VpnTunnelInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a VPN tunnel. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a VPN tunnel. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // URI of the VPN gateway at local end of the tunnel. + SourceGateway string `protobuf:"bytes,3,opt,name=source_gateway,json=sourceGateway,proto3" json:"source_gateway,omitempty"` + // URI of a VPN gateway at remote end of the tunnel. + RemoteGateway string `protobuf:"bytes,4,opt,name=remote_gateway,json=remoteGateway,proto3" json:"remote_gateway,omitempty"` + // Remote VPN gateway's IP address. + RemoteGatewayIp string `protobuf:"bytes,5,opt,name=remote_gateway_ip,json=remoteGatewayIp,proto3" json:"remote_gateway_ip,omitempty"` + // Local VPN gateway's IP address. + SourceGatewayIp string `protobuf:"bytes,6,opt,name=source_gateway_ip,json=sourceGatewayIp,proto3" json:"source_gateway_ip,omitempty"` + // URI of a Compute Engine network where the VPN tunnel is configured. + NetworkUri string `protobuf:"bytes,7,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // Name of a Google Cloud region where this VPN tunnel is configured. + Region string `protobuf:"bytes,8,opt,name=region,proto3" json:"region,omitempty"` + // Type of the routing policy. + RoutingType VpnTunnelInfo_RoutingType `protobuf:"varint,9,opt,name=routing_type,json=routingType,proto3,enum=google.events.cloud.networkmanagement.v1.VpnTunnelInfo_RoutingType" json:"routing_type,omitempty"` +} + +func (x *VpnTunnelInfo) Reset() { + *x = VpnTunnelInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VpnTunnelInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VpnTunnelInfo) ProtoMessage() {} + +func (x *VpnTunnelInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VpnTunnelInfo.ProtoReflect.Descriptor instead. +func (*VpnTunnelInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{11} +} + +func (x *VpnTunnelInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *VpnTunnelInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *VpnTunnelInfo) GetSourceGateway() string { + if x != nil { + return x.SourceGateway + } + return "" +} + +func (x *VpnTunnelInfo) GetRemoteGateway() string { + if x != nil { + return x.RemoteGateway + } + return "" +} + +func (x *VpnTunnelInfo) GetRemoteGatewayIp() string { + if x != nil { + return x.RemoteGatewayIp + } + return "" +} + +func (x *VpnTunnelInfo) GetSourceGatewayIp() string { + if x != nil { + return x.SourceGatewayIp + } + return "" +} + +func (x *VpnTunnelInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *VpnTunnelInfo) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *VpnTunnelInfo) GetRoutingType() VpnTunnelInfo_RoutingType { + if x != nil { + return x.RoutingType + } + return VpnTunnelInfo_ROUTING_TYPE_UNSPECIFIED +} + +// For display only. The specification of the endpoints for the test. +// EndpointInfo is derived from source and destination Endpoint and validated +// by the backend data plane model. +type EndpointInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Source IP address. + SourceIp string `protobuf:"bytes,1,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"` + // Destination IP address. + DestinationIp string `protobuf:"bytes,2,opt,name=destination_ip,json=destinationIp,proto3" json:"destination_ip,omitempty"` + // IP protocol in string format, for example: "TCP", "UDP", "ICMP". + Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` + // Source port. Only valid when protocol is TCP or UDP. + SourcePort int32 `protobuf:"varint,4,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` + // Destination port. Only valid when protocol is TCP or UDP. + DestinationPort int32 `protobuf:"varint,5,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + // URI of the network where this packet originates from. + SourceNetworkUri string `protobuf:"bytes,6,opt,name=source_network_uri,json=sourceNetworkUri,proto3" json:"source_network_uri,omitempty"` + // URI of the network where this packet is sent to. + DestinationNetworkUri string `protobuf:"bytes,7,opt,name=destination_network_uri,json=destinationNetworkUri,proto3" json:"destination_network_uri,omitempty"` +} + +func (x *EndpointInfo) Reset() { + *x = EndpointInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EndpointInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndpointInfo) ProtoMessage() {} + +func (x *EndpointInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndpointInfo.ProtoReflect.Descriptor instead. +func (*EndpointInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{12} +} + +func (x *EndpointInfo) GetSourceIp() string { + if x != nil { + return x.SourceIp + } + return "" +} + +func (x *EndpointInfo) GetDestinationIp() string { + if x != nil { + return x.DestinationIp + } + return "" +} + +func (x *EndpointInfo) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *EndpointInfo) GetSourcePort() int32 { + if x != nil { + return x.SourcePort + } + return 0 +} + +func (x *EndpointInfo) GetDestinationPort() int32 { + if x != nil { + return x.DestinationPort + } + return 0 +} + +func (x *EndpointInfo) GetSourceNetworkUri() string { + if x != nil { + return x.SourceNetworkUri + } + return "" +} + +func (x *EndpointInfo) GetDestinationNetworkUri() string { + if x != nil { + return x.DestinationNetworkUri + } + return "" +} + +// Details of the final state "deliver" and associated resource. +type DeliverInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Target type where the packet is delivered to. + Target DeliverInfo_Target `protobuf:"varint,1,opt,name=target,proto3,enum=google.events.cloud.networkmanagement.v1.DeliverInfo_Target" json:"target,omitempty"` + // URI of the resource that the packet is delivered to. + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` +} + +func (x *DeliverInfo) Reset() { + *x = DeliverInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeliverInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeliverInfo) ProtoMessage() {} + +func (x *DeliverInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeliverInfo.ProtoReflect.Descriptor instead. +func (*DeliverInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{13} +} + +func (x *DeliverInfo) GetTarget() DeliverInfo_Target { + if x != nil { + return x.Target + } + return DeliverInfo_TARGET_UNSPECIFIED +} + +func (x *DeliverInfo) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +// Details of the final state "forward" and associated resource. +type ForwardInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Target type where this packet is forwarded to. + Target ForwardInfo_Target `protobuf:"varint,1,opt,name=target,proto3,enum=google.events.cloud.networkmanagement.v1.ForwardInfo_Target" json:"target,omitempty"` + // URI of the resource that the packet is forwarded to. + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` +} + +func (x *ForwardInfo) Reset() { + *x = ForwardInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForwardInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForwardInfo) ProtoMessage() {} + +func (x *ForwardInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForwardInfo.ProtoReflect.Descriptor instead. +func (*ForwardInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{14} +} + +func (x *ForwardInfo) GetTarget() ForwardInfo_Target { + if x != nil { + return x.Target + } + return ForwardInfo_TARGET_UNSPECIFIED +} + +func (x *ForwardInfo) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +// Details of the final state "abort" and associated resource. +type AbortInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Causes that the analysis is aborted. + Cause AbortInfo_Cause `protobuf:"varint,1,opt,name=cause,proto3,enum=google.events.cloud.networkmanagement.v1.AbortInfo_Cause" json:"cause,omitempty"` + // URI of the resource that caused the abort. + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + // List of project IDs that the user has specified in the request but does + // not have permission to access network configs. Analysis is aborted in this + // case with the PERMISSION_DENIED cause. + ProjectsMissingPermission []string `protobuf:"bytes,3,rep,name=projects_missing_permission,json=projectsMissingPermission,proto3" json:"projects_missing_permission,omitempty"` +} + +func (x *AbortInfo) Reset() { + *x = AbortInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AbortInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AbortInfo) ProtoMessage() {} + +func (x *AbortInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AbortInfo.ProtoReflect.Descriptor instead. +func (*AbortInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{15} +} + +func (x *AbortInfo) GetCause() AbortInfo_Cause { + if x != nil { + return x.Cause + } + return AbortInfo_CAUSE_UNSPECIFIED +} + +func (x *AbortInfo) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +func (x *AbortInfo) GetProjectsMissingPermission() []string { + if x != nil { + return x.ProjectsMissingPermission + } + return nil +} + +// Details of the final state "drop" and associated resource. +type DropInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Cause that the packet is dropped. + Cause DropInfo_Cause `protobuf:"varint,1,opt,name=cause,proto3,enum=google.events.cloud.networkmanagement.v1.DropInfo_Cause" json:"cause,omitempty"` + // URI of the resource that caused the drop. + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` +} + +func (x *DropInfo) Reset() { + *x = DropInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropInfo) ProtoMessage() {} + +func (x *DropInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropInfo.ProtoReflect.Descriptor instead. +func (*DropInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{16} +} + +func (x *DropInfo) GetCause() DropInfo_Cause { + if x != nil { + return x.Cause + } + return DropInfo_CAUSE_UNSPECIFIED +} + +func (x *DropInfo) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +// For display only. Metadata associated with a Google Kubernetes Engine (GKE) +// cluster master. +type GKEMasterInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // URI of a GKE cluster. + ClusterUri string `protobuf:"bytes,2,opt,name=cluster_uri,json=clusterUri,proto3" json:"cluster_uri,omitempty"` + // URI of a GKE cluster network. + ClusterNetworkUri string `protobuf:"bytes,4,opt,name=cluster_network_uri,json=clusterNetworkUri,proto3" json:"cluster_network_uri,omitempty"` + // Internal IP address of a GKE cluster master. + InternalIp string `protobuf:"bytes,5,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // External IP address of a GKE cluster master. + ExternalIp string `protobuf:"bytes,6,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` +} + +func (x *GKEMasterInfo) Reset() { + *x = GKEMasterInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GKEMasterInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GKEMasterInfo) ProtoMessage() {} + +func (x *GKEMasterInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GKEMasterInfo.ProtoReflect.Descriptor instead. +func (*GKEMasterInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{17} +} + +func (x *GKEMasterInfo) GetClusterUri() string { + if x != nil { + return x.ClusterUri + } + return "" +} + +func (x *GKEMasterInfo) GetClusterNetworkUri() string { + if x != nil { + return x.ClusterNetworkUri + } + return "" +} + +func (x *GKEMasterInfo) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *GKEMasterInfo) GetExternalIp() string { + if x != nil { + return x.ExternalIp + } + return "" +} + +// For display only. Metadata associated with a Cloud SQL instance. +type CloudSQLInstanceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Cloud SQL instance. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Cloud SQL instance. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // URI of a Cloud SQL instance network or empty string if the instance does + // not have one. + NetworkUri string `protobuf:"bytes,4,opt,name=network_uri,json=networkUri,proto3" json:"network_uri,omitempty"` + // Internal IP address of a Cloud SQL instance. + InternalIp string `protobuf:"bytes,5,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // External IP address of a Cloud SQL instance. + ExternalIp string `protobuf:"bytes,6,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` + // Region in which the Cloud SQL instance is running. + Region string `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"` +} + +func (x *CloudSQLInstanceInfo) Reset() { + *x = CloudSQLInstanceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudSQLInstanceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudSQLInstanceInfo) ProtoMessage() {} + +func (x *CloudSQLInstanceInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudSQLInstanceInfo.ProtoReflect.Descriptor instead. +func (*CloudSQLInstanceInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{18} +} + +func (x *CloudSQLInstanceInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CloudSQLInstanceInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CloudSQLInstanceInfo) GetNetworkUri() string { + if x != nil { + return x.NetworkUri + } + return "" +} + +func (x *CloudSQLInstanceInfo) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *CloudSQLInstanceInfo) GetExternalIp() string { + if x != nil { + return x.ExternalIp + } + return "" +} + +func (x *CloudSQLInstanceInfo) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +// For display only. Metadata associated with a Cloud Function. +type CloudFunctionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Cloud Function. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Cloud Function. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Location in which the Cloud Function is deployed. + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` + // Latest successfully deployed version id of the Cloud Function. + VersionId int64 `protobuf:"varint,4,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` +} + +func (x *CloudFunctionInfo) Reset() { + *x = CloudFunctionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudFunctionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudFunctionInfo) ProtoMessage() {} + +func (x *CloudFunctionInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudFunctionInfo.ProtoReflect.Descriptor instead. +func (*CloudFunctionInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{19} +} + +func (x *CloudFunctionInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CloudFunctionInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CloudFunctionInfo) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *CloudFunctionInfo) GetVersionId() int64 { + if x != nil { + return x.VersionId + } + return 0 +} + +// For display only. Metadata associated with a Cloud Run revision. +type CloudRunRevisionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a Cloud Run revision. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a Cloud Run revision. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Location in which this revision is deployed. + Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` + // URI of Cloud Run service this revision belongs to. + ServiceUri string `protobuf:"bytes,5,opt,name=service_uri,json=serviceUri,proto3" json:"service_uri,omitempty"` +} + +func (x *CloudRunRevisionInfo) Reset() { + *x = CloudRunRevisionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudRunRevisionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudRunRevisionInfo) ProtoMessage() {} + +func (x *CloudRunRevisionInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudRunRevisionInfo.ProtoReflect.Descriptor instead. +func (*CloudRunRevisionInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{20} +} + +func (x *CloudRunRevisionInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CloudRunRevisionInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CloudRunRevisionInfo) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *CloudRunRevisionInfo) GetServiceUri() string { + if x != nil { + return x.ServiceUri + } + return "" +} + +// For display only. Metadata associated with an App Engine version. +type AppEngineVersionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of an App Engine version. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of an App Engine version. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Runtime of the App Engine version. + Runtime string `protobuf:"bytes,3,opt,name=runtime,proto3" json:"runtime,omitempty"` + // App Engine execution environment for a version. + Environment string `protobuf:"bytes,4,opt,name=environment,proto3" json:"environment,omitempty"` +} + +func (x *AppEngineVersionInfo) Reset() { + *x = AppEngineVersionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppEngineVersionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppEngineVersionInfo) ProtoMessage() {} + +func (x *AppEngineVersionInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppEngineVersionInfo.ProtoReflect.Descriptor instead. +func (*AppEngineVersionInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{21} +} + +func (x *AppEngineVersionInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *AppEngineVersionInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *AppEngineVersionInfo) GetRuntime() string { + if x != nil { + return x.Runtime + } + return "" +} + +func (x *AppEngineVersionInfo) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + +// For display only. Metadata associated with a VPC connector. +type VpcConnectorInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a VPC connector. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // URI of a VPC connector. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Location in which the VPC connector is deployed. + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *VpcConnectorInfo) Reset() { + *x = VpcConnectorInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VpcConnectorInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VpcConnectorInfo) ProtoMessage() {} + +func (x *VpcConnectorInfo) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VpcConnectorInfo.ProtoReflect.Descriptor instead. +func (*VpcConnectorInfo) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{22} +} + +func (x *VpcConnectorInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *VpcConnectorInfo) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *VpcConnectorInfo) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +// A Connectivity Test for a network reachability analysis. +type ConnectivityTest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Unique name of the resource using the form: + // + // `projects/{project_id}/locations/global/connectivityTests/{test_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The user-supplied description of the Connectivity Test. + // Maximum of 512 characters. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Required. Source specification of the Connectivity Test. + // + // You can use a combination of source IP address, virtual machine + // (VM) instance, or Compute Engine network to uniquely identify + // the source location. + // + // Examples: + // If the source IP address is an internal IP address within a Google Cloud + // Virtual Private Cloud (VPC) network, then you must also specify the VPC + // network. Otherwise, specify the VM instance, which already contains its + // internal IP address and VPC network information. + // + // If the source of the test is within an on-premises network, then you must + // provide the destination VPC network. + // + // If the source endpoint is a Compute Engine VM instance with multiple + // network interfaces, the instance itself is not sufficient to identify the + // endpoint. So, you must also specify the source IP address or VPC network. + // + // A reachability analysis proceeds even if the source location is + // ambiguous. However, the test result may include endpoints that you don't + // intend to test. + Source *Endpoint `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` + // Required. Destination specification of the Connectivity Test. + // + // You can use a combination of destination IP address, Compute Engine + // VM instance, or VPC network to uniquely identify the destination + // location. + // + // Even if the destination IP address is not unique, the source IP + // location is unique. Usually, the analysis can infer the destination + // endpoint from route information. + // + // If the destination you specify is a VM instance and the instance has + // multiple network interfaces, then you must also specify either + // a destination IP address or VPC network to identify the destination + // interface. + // + // A reachability analysis proceeds even if the destination location is + // ambiguous. However, the result can include endpoints that you don't + // intend to test. + Destination *Endpoint `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"` + // IP Protocol of the test. When not provided, "TCP" is assumed. + Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"` + // Other projects that may be relevant for reachability analysis. + // This is applicable to scenarios where a test can cross project boundaries. + RelatedProjects []string `protobuf:"bytes,6,rep,name=related_projects,json=relatedProjects,proto3" json:"related_projects,omitempty"` + // Output only. The display name of a Connectivity Test. + DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Resource labels to represent user-provided metadata. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. The time the test was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the test's configuration was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The reachability details of this test from the latest run. + // The details are updated when creating a new test, updating an + // existing test, or triggering a one-time rerun of an existing test. + ReachabilityDetails *ReachabilityDetails `protobuf:"bytes,12,opt,name=reachability_details,json=reachabilityDetails,proto3" json:"reachability_details,omitempty"` +} + +func (x *ConnectivityTest) Reset() { + *x = ConnectivityTest{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectivityTest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectivityTest) ProtoMessage() {} + +func (x *ConnectivityTest) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectivityTest.ProtoReflect.Descriptor instead. +func (*ConnectivityTest) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{23} +} + +func (x *ConnectivityTest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ConnectivityTest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ConnectivityTest) GetSource() *Endpoint { + if x != nil { + return x.Source + } + return nil +} + +func (x *ConnectivityTest) GetDestination() *Endpoint { + if x != nil { + return x.Destination + } + return nil +} + +func (x *ConnectivityTest) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ConnectivityTest) GetRelatedProjects() []string { + if x != nil { + return x.RelatedProjects + } + return nil +} + +func (x *ConnectivityTest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ConnectivityTest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ConnectivityTest) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ConnectivityTest) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ConnectivityTest) GetReachabilityDetails() *ReachabilityDetails { + if x != nil { + return x.ReachabilityDetails + } + return nil +} + +// Source or destination of the Connectivity Test. +type Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The IP address of the endpoint, which can be an external or internal IP. + // An IPv6 address is only allowed when the test's destination is a + // [global load balancer VIP](/load-balancing/docs/load-balancing-overview). + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + // The IP protocol port of the endpoint. + // Only applicable when protocol is TCP or UDP. + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + // A Compute Engine instance URI. + Instance string `protobuf:"bytes,3,opt,name=instance,proto3" json:"instance,omitempty"` + // A cluster URI for [Google Kubernetes Engine + // master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + GkeMasterCluster string `protobuf:"bytes,7,opt,name=gke_master_cluster,json=gkeMasterCluster,proto3" json:"gke_master_cluster,omitempty"` + // A [Cloud SQL](https://cloud.google.com/sql) instance URI. + CloudSqlInstance string `protobuf:"bytes,8,opt,name=cloud_sql_instance,json=cloudSqlInstance,proto3" json:"cloud_sql_instance,omitempty"` + // A [Cloud Function](https://cloud.google.com/functions). + CloudFunction *Endpoint_CloudFunctionEndpoint `protobuf:"bytes,10,opt,name=cloud_function,json=cloudFunction,proto3" json:"cloud_function,omitempty"` + // An [App Engine](https://cloud.google.com/appengine) [service + // version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions). + AppEngineVersion *Endpoint_AppEngineVersionEndpoint `protobuf:"bytes,11,opt,name=app_engine_version,json=appEngineVersion,proto3" json:"app_engine_version,omitempty"` + // A [Cloud Run](https://cloud.google.com/run) + // [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) + CloudRunRevision *Endpoint_CloudRunRevisionEndpoint `protobuf:"bytes,12,opt,name=cloud_run_revision,json=cloudRunRevision,proto3" json:"cloud_run_revision,omitempty"` + // A Compute Engine network URI. + Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"` + // Type of the network where the endpoint is located. + // Applicable only to source endpoint, as destination network type can be + // inferred from the source. + NetworkType Endpoint_NetworkType `protobuf:"varint,5,opt,name=network_type,json=networkType,proto3,enum=google.events.cloud.networkmanagement.v1.Endpoint_NetworkType" json:"network_type,omitempty"` + // Project ID where the endpoint is located. + // The Project ID can be derived from the URI if you provide a VM instance or + // network URI. + // The following are two cases where you must provide the project ID: + // 1. Only the IP address is specified, and the IP address is within a Google + // Cloud project. + // 2. When you are using Shared VPC and the IP address that you provide is + // from the service project. In this case, the network that the IP address + // resides in is defined in the host project. + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` +} + +func (x *Endpoint) Reset() { + *x = Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint) ProtoMessage() {} + +func (x *Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. +func (*Endpoint) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{24} +} + +func (x *Endpoint) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *Endpoint) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *Endpoint) GetInstance() string { + if x != nil { + return x.Instance + } + return "" +} + +func (x *Endpoint) GetGkeMasterCluster() string { + if x != nil { + return x.GkeMasterCluster + } + return "" +} + +func (x *Endpoint) GetCloudSqlInstance() string { + if x != nil { + return x.CloudSqlInstance + } + return "" +} + +func (x *Endpoint) GetCloudFunction() *Endpoint_CloudFunctionEndpoint { + if x != nil { + return x.CloudFunction + } + return nil +} + +func (x *Endpoint) GetAppEngineVersion() *Endpoint_AppEngineVersionEndpoint { + if x != nil { + return x.AppEngineVersion + } + return nil +} + +func (x *Endpoint) GetCloudRunRevision() *Endpoint_CloudRunRevisionEndpoint { + if x != nil { + return x.CloudRunRevision + } + return nil +} + +func (x *Endpoint) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *Endpoint) GetNetworkType() Endpoint_NetworkType { + if x != nil { + return x.NetworkType + } + return Endpoint_NETWORK_TYPE_UNSPECIFIED +} + +func (x *Endpoint) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +// Results of the configuration analysis from the last run of the test. +type ReachabilityDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The overall result of the test's configuration analysis. + Result ReachabilityDetails_Result `protobuf:"varint,1,opt,name=result,proto3,enum=google.events.cloud.networkmanagement.v1.ReachabilityDetails_Result" json:"result,omitempty"` + // The time of the configuration analysis. + VerifyTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=verify_time,json=verifyTime,proto3" json:"verify_time,omitempty"` + // The details of a failure or a cancellation of reachability analysis. + Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + // Result may contain a list of traces if a test has multiple possible + // paths in the network, such as when destination endpoint is a load balancer + // with multiple backends. + Traces []*Trace `protobuf:"bytes,5,rep,name=traces,proto3" json:"traces,omitempty"` +} + +func (x *ReachabilityDetails) Reset() { + *x = ReachabilityDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReachabilityDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReachabilityDetails) ProtoMessage() {} + +func (x *ReachabilityDetails) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReachabilityDetails.ProtoReflect.Descriptor instead. +func (*ReachabilityDetails) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{25} +} + +func (x *ReachabilityDetails) GetResult() ReachabilityDetails_Result { + if x != nil { + return x.Result + } + return ReachabilityDetails_RESULT_UNSPECIFIED +} + +func (x *ReachabilityDetails) GetVerifyTime() *timestamppb.Timestamp { + if x != nil { + return x.VerifyTime + } + return nil +} + +func (x *ReachabilityDetails) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *ReachabilityDetails) GetTraces() []*Trace { + if x != nil { + return x.Traces + } + return nil +} + +// The data within all ConnectivityTest events. +type ConnectivityTestEventData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The ConnectivityTest event payload. Unset for deletion events. + Payload *ConnectivityTest `protobuf:"bytes,1,opt,name=payload,proto3,oneof" json:"payload,omitempty"` +} + +func (x *ConnectivityTestEventData) Reset() { + *x = ConnectivityTestEventData{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectivityTestEventData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectivityTestEventData) ProtoMessage() {} + +func (x *ConnectivityTestEventData) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectivityTestEventData.ProtoReflect.Descriptor instead. +func (*ConnectivityTestEventData) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{26} +} + +func (x *ConnectivityTestEventData) GetPayload() *ConnectivityTest { + if x != nil { + return x.Payload + } + return nil +} + +// Wrapper for Cloud Function attributes. +type Endpoint_CloudFunctionEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A [Cloud Function](https://cloud.google.com/functions) name. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *Endpoint_CloudFunctionEndpoint) Reset() { + *x = Endpoint_CloudFunctionEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint_CloudFunctionEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint_CloudFunctionEndpoint) ProtoMessage() {} + +func (x *Endpoint_CloudFunctionEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoint_CloudFunctionEndpoint.ProtoReflect.Descriptor instead. +func (*Endpoint_CloudFunctionEndpoint) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{24, 0} +} + +func (x *Endpoint_CloudFunctionEndpoint) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +// Wrapper for the App Engine service version attributes. +type Endpoint_AppEngineVersionEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An [App Engine](https://cloud.google.com/appengine) [service + // version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions) + // name. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *Endpoint_AppEngineVersionEndpoint) Reset() { + *x = Endpoint_AppEngineVersionEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint_AppEngineVersionEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint_AppEngineVersionEndpoint) ProtoMessage() {} + +func (x *Endpoint_AppEngineVersionEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoint_AppEngineVersionEndpoint.ProtoReflect.Descriptor instead. +func (*Endpoint_AppEngineVersionEndpoint) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{24, 1} +} + +func (x *Endpoint_AppEngineVersionEndpoint) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +// Wrapper for Cloud Run revision attributes. +type Endpoint_CloudRunRevisionEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A [Cloud Run](https://cloud.google.com/run) + // [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) + // URI. The format is: + // projects/{project}/locations/{location}/revisions/{revision} + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *Endpoint_CloudRunRevisionEndpoint) Reset() { + *x = Endpoint_CloudRunRevisionEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint_CloudRunRevisionEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint_CloudRunRevisionEndpoint) ProtoMessage() {} + +func (x *Endpoint_CloudRunRevisionEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_cloud_networkmanagement_v1_data_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoint_CloudRunRevisionEndpoint.ProtoReflect.Descriptor instead. +func (*Endpoint_CloudRunRevisionEndpoint) Descriptor() ([]byte, []int) { + return file_cloud_networkmanagement_v1_data_proto_rawDescGZIP(), []int{24, 2} +} + +func (x *Endpoint_CloudRunRevisionEndpoint) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +var File_cloud_networkmanagement_v1_data_proto protoreflect.FileDescriptor + +var file_cloud_networkmanagement_v1_data_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x05, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x65, + 0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x22, 0xd8, 0x15, 0x0a, 0x04, 0x53, 0x74, 0x65, + 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x65, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x44, 0x72, 0x6f, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x54, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x4b, 0x0a, 0x05, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x64, + 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x5b, 0x0a, + 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, + 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x58, 0x0a, 0x0a, 0x76, 0x70, + 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x76, 0x70, 0x6e, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x61, 0x0a, 0x0d, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x70, 0x63, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4b, 0x0a, + 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x48, 0x00, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x64, 0x72, + 0x6f, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x04, + 0x64, 0x72, 0x6f, 0x70, 0x12, 0x61, 0x0a, 0x0d, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x58, 0x0a, 0x0a, 0x67, 0x6b, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x4b, 0x45, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6b, 0x65, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x6e, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x71, + 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x53, 0x51, 0x4c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x00, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x71, 0x6c, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x12, 0x61, 0x70, + 0x70, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x61, 0x70, 0x70, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x12, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x05, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, + 0x43, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, + 0x4f, 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0x02, 0x12, 0x1d, 0x0a, + 0x19, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x47, + 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x1b, 0x12, 0x1e, 0x0a, 0x1a, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, + 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, 0x4b, 0x45, 0x5f, 0x4d, + 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x15, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x46, + 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x17, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x41, + 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x45, 0x4e, 0x47, 0x49, + 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, 0x21, 0x0a, 0x1d, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, + 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x1a, 0x12, + 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x04, + 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, + 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, + 0x06, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, + 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x50, 0x4f, 0x4f, 0x46, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, + 0x44, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x52, 0x52, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x54, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x09, 0x12, 0x24, 0x0a, 0x20, 0x41, + 0x52, 0x52, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, + 0x0a, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x52, 0x52, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, + 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x52, 0x49, 0x56, + 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, + 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x52, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x54, 0x5f, + 0x56, 0x50, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x0d, 0x12, 0x1b, 0x0a, 0x17, + 0x41, 0x52, 0x52, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x56, 0x50, 0x43, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x18, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x41, 0x54, + 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x49, + 0x56, 0x45, 0x52, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x11, 0x12, + 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x12, 0x12, 0x09, 0x0a, 0x05, + 0x41, 0x42, 0x4f, 0x52, 0x54, 0x10, 0x13, 0x12, 0x1d, 0x0a, 0x19, 0x56, 0x49, 0x45, 0x57, 0x45, + 0x52, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53, + 0x53, 0x49, 0x4e, 0x47, 0x10, 0x14, 0x42, 0x0b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x61, 0x67, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6c, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x49, 0x70, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x22, 0x87, 0x05, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x36, + 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x75, + 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x49, + 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, + 0x0a, 0x21, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x46, + 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, + 0x55, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x50, 0x43, 0x5f, 0x46, 0x49, 0x52, + 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, + 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x50, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, + 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x2f, 0x0a, 0x2b, 0x53, + 0x45, 0x52, 0x56, 0x45, 0x52, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x56, 0x50, 0x43, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x52, + 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, 0x22, 0x8d, + 0x08, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x0a, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x69, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63, + 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x72, 0x63, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, + 0x41, 0x4d, 0x49, 0x43, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, + 0x47, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x45, + 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x05, 0x12, 0x13, + 0x0a, 0x0f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, + 0x43, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x42, 0x41, + 0x53, 0x45, 0x44, 0x10, 0x07, 0x22, 0xb6, 0x02, 0x0a, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x49, 0x50, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, + 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x50, + 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, 0x58, 0x54, + 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, + 0x56, 0x50, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, + 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, + 0x45, 0x57, 0x41, 0x59, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, + 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x54, 0x45, + 0x57, 0x41, 0x59, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x48, 0x4f, 0x4c, 0x45, 0x10, 0x09, 0x12, 0x10, 0x0a, + 0x0c, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4c, 0x42, 0x10, 0x0a, 0x12, + 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x52, 0x4f, 0x55, 0x54, + 0x45, 0x52, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x0b, 0x22, 0xa7, + 0x02, 0x0a, 0x11, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x70, 0x12, 0x7d, 0x0a, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x76, 0x0a, 0x11, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, + 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x41, + 0x50, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, + 0x5f, 0x4f, 0x52, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, + 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, + 0x55, 0x44, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x03, 0x22, 0xed, 0x01, 0x0a, 0x12, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x76, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x69, 0x70, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x22, 0x98, 0x05, 0x0a, 0x10, 0x4c, 0x6f, 0x61, + 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x79, 0x0a, + 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, + 0x72, 0x69, 0x12, 0x59, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x69, 0x0a, + 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x55, 0x72, 0x69, 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x4c, 0x6f, + 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, + 0x0a, 0x1e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x54, + 0x43, 0x50, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x43, 0x50, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x02, 0x12, 0x0e, 0x0a, + 0x0a, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x03, 0x12, 0x0d, 0x0a, + 0x09, 0x54, 0x43, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, + 0x53, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x05, 0x22, 0x66, 0x0a, 0x0b, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x41, + 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, 0x43, 0x4b, + 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, + 0x0b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x13, + 0x0a, 0x0f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, + 0x45, 0x10, 0x03, 0x22, 0xee, 0x03, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x12, 0x95, 0x01, 0x0a, 0x1b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x18, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x20, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x20, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x27, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, + 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, + 0x45, 0x44, 0x10, 0x02, 0x22, 0xc3, 0x01, 0x0a, 0x0e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, + 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x55, + 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xe8, 0x03, 0x0a, 0x0d, 0x56, + 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x69, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, + 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x55, 0x54, 0x49, + 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x42, + 0x41, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, + 0x4d, 0x49, 0x43, 0x10, 0x03, 0x22, 0xa0, 0x02, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, + 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x69, 0x22, 0xbc, 0x02, 0x0a, 0x0b, 0x44, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, + 0x69, 0x22, 0xb3, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x12, + 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0x02, + 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x4b, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x04, + 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x53, 0x43, 0x5f, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, + 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x53, 0x43, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x45, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x53, 0x43, 0x5f, 0x56, + 0x50, 0x43, 0x5f, 0x53, 0x43, 0x10, 0x08, 0x22, 0xbe, 0x02, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, + 0x22, 0xb5, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x54, + 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x56, + 0x50, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, + 0x57, 0x41, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x4b, 0x45, 0x5f, 0x4d, + 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4d, 0x50, 0x4f, 0x52, + 0x54, 0x45, 0x44, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x43, + 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, + 0x45, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x07, 0x22, 0xb0, 0x05, 0x0a, 0x09, 0x41, 0x62, 0x6f, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x75, 0x73, 0x65, + 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xee, 0x03, 0x0a, 0x05, 0x43, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x50, 0x10, 0x02, + 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, + 0x4e, 0x4f, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, + 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x50, 0x10, 0x07, 0x12, 0x1a, + 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x53, + 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x12, + 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x44, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, + 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x0c, + 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, + 0x4e, 0x44, 0x10, 0x0d, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x45, 0x44, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55, + 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x53, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, + 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x4b, 0x45, 0x5f, 0x4b, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x55, + 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x12, 0x22, 0xe0, 0x0b, 0x0a, 0x08, + 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x75, 0x73, + 0x65, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x22, 0xe0, 0x0a, 0x0a, 0x05, + 0x43, 0x61, 0x75, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x4f, + 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x4c, 0x4c, 0x4f, + 0x57, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, + 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x48, 0x4f, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, + 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x45, 0x54, 0x10, 0x07, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, + 0x49, 0x53, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x4e, + 0x4f, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, + 0x53, 0x53, 0x10, 0x09, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, + 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, + 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x0b, + 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x55, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, + 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x38, 0x0a, 0x34, 0x46, 0x49, 0x52, 0x45, 0x57, + 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, + 0x4e, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, + 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x0e, 0x12, 0x1b, 0x0a, 0x17, 0x47, + 0x4b, 0x45, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, + 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x1b, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4c, 0x4f, 0x55, + 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x1c, 0x12, 0x18, 0x0a, 0x14, + 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x22, 0x0a, 0x1e, 0x47, 0x4b, 0x45, 0x5f, 0x4d, 0x41, + 0x53, 0x54, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, + 0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4c, + 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, + 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x47, 0x4b, 0x45, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x49, 0x43, 0x45, 0x10, 0x12, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, + 0x51, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x13, 0x12, 0x25, 0x0a, 0x21, + 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x53, + 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, + 0x47, 0x10, 0x14, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, + 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x26, 0x12, + 0x1c, 0x0a, 0x18, 0x47, 0x4b, 0x45, 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, + 0x49, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x24, 0x12, 0x24, 0x0a, + 0x20, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, + 0x53, 0x10, 0x15, 0x12, 0x25, 0x0a, 0x21, 0x47, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, + 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x1e, 0x12, 0x33, 0x0a, 0x2f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x47, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, + 0x45, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x1f, 0x12, + 0x1e, 0x0a, 0x1a, 0x47, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, + 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x20, 0x12, + 0x3a, 0x0a, 0x36, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x55, 0x52, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x10, 0x21, 0x12, 0x34, 0x0a, 0x30, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x22, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x10, 0x23, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x46, 0x55, 0x4e, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, + 0x16, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x50, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x17, 0x12, 0x1d, 0x0a, 0x19, + 0x56, 0x50, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x50, + 0x53, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x1a, 0x12, 0x20, 0x0a, 0x1c, + 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x1d, 0x12, 0x27, + 0x0a, 0x23, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x49, 0x44, 0x45, + 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, + 0x44, 0x55, 0x43, 0x45, 0x52, 0x10, 0x25, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, + 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0x27, 0x22, 0xa2, + 0x01, 0x0a, 0x0d, 0x47, 0x4b, 0x45, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x72, + 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, + 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x49, 0x70, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x51, 0x4c, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, + 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, + 0x11, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x22, 0x87, 0x01, + 0x0a, 0x14, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x63, 0x0a, 0x10, 0x56, 0x70, 0x63, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x05, 0x0a, + 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x70, 0x0a, + 0x14, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x13, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x92, 0x07, 0x0a, 0x08, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x6b, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x67, 0x6b, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x71, + 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x71, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x61, 0x70, + 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x79, + 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x12, 0x61, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x1a, 0x29, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x1a, 0x2c, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x1a, 0x2c, + 0x0a, 0x18, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x51, 0x0a, 0x0b, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x43, 0x50, + 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, + 0x4e, 0x5f, 0x47, 0x43, 0x50, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x02, 0x22, + 0x86, 0x03, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a, 0x06, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x06, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x43, 0x48, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, + 0x48, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4d, 0x42, 0x49, 0x47, + 0x55, 0x4f, 0x55, 0x53, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x44, 0x45, 0x54, 0x45, + 0x52, 0x4d, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x22, 0x82, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x8e, 0x01, + 0xaa, 0x02, 0x31, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xea, + 0x02, 0x2c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cloud_networkmanagement_v1_data_proto_rawDescOnce sync.Once + file_cloud_networkmanagement_v1_data_proto_rawDescData = file_cloud_networkmanagement_v1_data_proto_rawDesc +) + +func file_cloud_networkmanagement_v1_data_proto_rawDescGZIP() []byte { + file_cloud_networkmanagement_v1_data_proto_rawDescOnce.Do(func() { + file_cloud_networkmanagement_v1_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_cloud_networkmanagement_v1_data_proto_rawDescData) + }) + return file_cloud_networkmanagement_v1_data_proto_rawDescData +} + +var file_cloud_networkmanagement_v1_data_proto_enumTypes = make([]protoimpl.EnumInfo, 15) +var file_cloud_networkmanagement_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_cloud_networkmanagement_v1_data_proto_goTypes = []interface{}{ + (Step_State)(0), // 0: google.events.cloud.networkmanagement.v1.Step.State + (FirewallInfo_FirewallRuleType)(0), // 1: google.events.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType + (RouteInfo_RouteType)(0), // 2: google.events.cloud.networkmanagement.v1.RouteInfo.RouteType + (RouteInfo_NextHopType)(0), // 3: google.events.cloud.networkmanagement.v1.RouteInfo.NextHopType + (GoogleServiceInfo_GoogleServiceType)(0), // 4: google.events.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType + (LoadBalancerInfo_LoadBalancerType)(0), // 5: google.events.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType + (LoadBalancerInfo_BackendType)(0), // 6: google.events.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType + (LoadBalancerBackend_HealthCheckFirewallState)(0), // 7: google.events.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState + (VpnTunnelInfo_RoutingType)(0), // 8: google.events.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType + (DeliverInfo_Target)(0), // 9: google.events.cloud.networkmanagement.v1.DeliverInfo.Target + (ForwardInfo_Target)(0), // 10: google.events.cloud.networkmanagement.v1.ForwardInfo.Target + (AbortInfo_Cause)(0), // 11: google.events.cloud.networkmanagement.v1.AbortInfo.Cause + (DropInfo_Cause)(0), // 12: google.events.cloud.networkmanagement.v1.DropInfo.Cause + (Endpoint_NetworkType)(0), // 13: google.events.cloud.networkmanagement.v1.Endpoint.NetworkType + (ReachabilityDetails_Result)(0), // 14: google.events.cloud.networkmanagement.v1.ReachabilityDetails.Result + (*Trace)(nil), // 15: google.events.cloud.networkmanagement.v1.Trace + (*Step)(nil), // 16: google.events.cloud.networkmanagement.v1.Step + (*InstanceInfo)(nil), // 17: google.events.cloud.networkmanagement.v1.InstanceInfo + (*NetworkInfo)(nil), // 18: google.events.cloud.networkmanagement.v1.NetworkInfo + (*FirewallInfo)(nil), // 19: google.events.cloud.networkmanagement.v1.FirewallInfo + (*RouteInfo)(nil), // 20: google.events.cloud.networkmanagement.v1.RouteInfo + (*GoogleServiceInfo)(nil), // 21: google.events.cloud.networkmanagement.v1.GoogleServiceInfo + (*ForwardingRuleInfo)(nil), // 22: google.events.cloud.networkmanagement.v1.ForwardingRuleInfo + (*LoadBalancerInfo)(nil), // 23: google.events.cloud.networkmanagement.v1.LoadBalancerInfo + (*LoadBalancerBackend)(nil), // 24: google.events.cloud.networkmanagement.v1.LoadBalancerBackend + (*VpnGatewayInfo)(nil), // 25: google.events.cloud.networkmanagement.v1.VpnGatewayInfo + (*VpnTunnelInfo)(nil), // 26: google.events.cloud.networkmanagement.v1.VpnTunnelInfo + (*EndpointInfo)(nil), // 27: google.events.cloud.networkmanagement.v1.EndpointInfo + (*DeliverInfo)(nil), // 28: google.events.cloud.networkmanagement.v1.DeliverInfo + (*ForwardInfo)(nil), // 29: google.events.cloud.networkmanagement.v1.ForwardInfo + (*AbortInfo)(nil), // 30: google.events.cloud.networkmanagement.v1.AbortInfo + (*DropInfo)(nil), // 31: google.events.cloud.networkmanagement.v1.DropInfo + (*GKEMasterInfo)(nil), // 32: google.events.cloud.networkmanagement.v1.GKEMasterInfo + (*CloudSQLInstanceInfo)(nil), // 33: google.events.cloud.networkmanagement.v1.CloudSQLInstanceInfo + (*CloudFunctionInfo)(nil), // 34: google.events.cloud.networkmanagement.v1.CloudFunctionInfo + (*CloudRunRevisionInfo)(nil), // 35: google.events.cloud.networkmanagement.v1.CloudRunRevisionInfo + (*AppEngineVersionInfo)(nil), // 36: google.events.cloud.networkmanagement.v1.AppEngineVersionInfo + (*VpcConnectorInfo)(nil), // 37: google.events.cloud.networkmanagement.v1.VpcConnectorInfo + (*ConnectivityTest)(nil), // 38: google.events.cloud.networkmanagement.v1.ConnectivityTest + (*Endpoint)(nil), // 39: google.events.cloud.networkmanagement.v1.Endpoint + (*ReachabilityDetails)(nil), // 40: google.events.cloud.networkmanagement.v1.ReachabilityDetails + (*ConnectivityTestEventData)(nil), // 41: google.events.cloud.networkmanagement.v1.ConnectivityTestEventData + nil, // 42: google.events.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry + (*Endpoint_CloudFunctionEndpoint)(nil), // 43: google.events.cloud.networkmanagement.v1.Endpoint.CloudFunctionEndpoint + (*Endpoint_AppEngineVersionEndpoint)(nil), // 44: google.events.cloud.networkmanagement.v1.Endpoint.AppEngineVersionEndpoint + (*Endpoint_CloudRunRevisionEndpoint)(nil), // 45: google.events.cloud.networkmanagement.v1.Endpoint.CloudRunRevisionEndpoint + (*timestamppb.Timestamp)(nil), // 46: google.protobuf.Timestamp + (*status.Status)(nil), // 47: google.rpc.Status +} +var file_cloud_networkmanagement_v1_data_proto_depIdxs = []int32{ + 27, // 0: google.events.cloud.networkmanagement.v1.Trace.endpoint_info:type_name -> google.events.cloud.networkmanagement.v1.EndpointInfo + 16, // 1: google.events.cloud.networkmanagement.v1.Trace.steps:type_name -> google.events.cloud.networkmanagement.v1.Step + 0, // 2: google.events.cloud.networkmanagement.v1.Step.state:type_name -> google.events.cloud.networkmanagement.v1.Step.State + 17, // 3: google.events.cloud.networkmanagement.v1.Step.instance:type_name -> google.events.cloud.networkmanagement.v1.InstanceInfo + 19, // 4: google.events.cloud.networkmanagement.v1.Step.firewall:type_name -> google.events.cloud.networkmanagement.v1.FirewallInfo + 20, // 5: google.events.cloud.networkmanagement.v1.Step.route:type_name -> google.events.cloud.networkmanagement.v1.RouteInfo + 27, // 6: google.events.cloud.networkmanagement.v1.Step.endpoint:type_name -> google.events.cloud.networkmanagement.v1.EndpointInfo + 21, // 7: google.events.cloud.networkmanagement.v1.Step.google_service:type_name -> google.events.cloud.networkmanagement.v1.GoogleServiceInfo + 22, // 8: google.events.cloud.networkmanagement.v1.Step.forwarding_rule:type_name -> google.events.cloud.networkmanagement.v1.ForwardingRuleInfo + 25, // 9: google.events.cloud.networkmanagement.v1.Step.vpn_gateway:type_name -> google.events.cloud.networkmanagement.v1.VpnGatewayInfo + 26, // 10: google.events.cloud.networkmanagement.v1.Step.vpn_tunnel:type_name -> google.events.cloud.networkmanagement.v1.VpnTunnelInfo + 37, // 11: google.events.cloud.networkmanagement.v1.Step.vpc_connector:type_name -> google.events.cloud.networkmanagement.v1.VpcConnectorInfo + 28, // 12: google.events.cloud.networkmanagement.v1.Step.deliver:type_name -> google.events.cloud.networkmanagement.v1.DeliverInfo + 29, // 13: google.events.cloud.networkmanagement.v1.Step.forward:type_name -> google.events.cloud.networkmanagement.v1.ForwardInfo + 30, // 14: google.events.cloud.networkmanagement.v1.Step.abort:type_name -> google.events.cloud.networkmanagement.v1.AbortInfo + 31, // 15: google.events.cloud.networkmanagement.v1.Step.drop:type_name -> google.events.cloud.networkmanagement.v1.DropInfo + 23, // 16: google.events.cloud.networkmanagement.v1.Step.load_balancer:type_name -> google.events.cloud.networkmanagement.v1.LoadBalancerInfo + 18, // 17: google.events.cloud.networkmanagement.v1.Step.network:type_name -> google.events.cloud.networkmanagement.v1.NetworkInfo + 32, // 18: google.events.cloud.networkmanagement.v1.Step.gke_master:type_name -> google.events.cloud.networkmanagement.v1.GKEMasterInfo + 33, // 19: google.events.cloud.networkmanagement.v1.Step.cloud_sql_instance:type_name -> google.events.cloud.networkmanagement.v1.CloudSQLInstanceInfo + 34, // 20: google.events.cloud.networkmanagement.v1.Step.cloud_function:type_name -> google.events.cloud.networkmanagement.v1.CloudFunctionInfo + 36, // 21: google.events.cloud.networkmanagement.v1.Step.app_engine_version:type_name -> google.events.cloud.networkmanagement.v1.AppEngineVersionInfo + 35, // 22: google.events.cloud.networkmanagement.v1.Step.cloud_run_revision:type_name -> google.events.cloud.networkmanagement.v1.CloudRunRevisionInfo + 1, // 23: google.events.cloud.networkmanagement.v1.FirewallInfo.firewall_rule_type:type_name -> google.events.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType + 2, // 24: google.events.cloud.networkmanagement.v1.RouteInfo.route_type:type_name -> google.events.cloud.networkmanagement.v1.RouteInfo.RouteType + 3, // 25: google.events.cloud.networkmanagement.v1.RouteInfo.next_hop_type:type_name -> google.events.cloud.networkmanagement.v1.RouteInfo.NextHopType + 4, // 26: google.events.cloud.networkmanagement.v1.GoogleServiceInfo.google_service_type:type_name -> google.events.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType + 5, // 27: google.events.cloud.networkmanagement.v1.LoadBalancerInfo.load_balancer_type:type_name -> google.events.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType + 24, // 28: google.events.cloud.networkmanagement.v1.LoadBalancerInfo.backends:type_name -> google.events.cloud.networkmanagement.v1.LoadBalancerBackend + 6, // 29: google.events.cloud.networkmanagement.v1.LoadBalancerInfo.backend_type:type_name -> google.events.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType + 7, // 30: google.events.cloud.networkmanagement.v1.LoadBalancerBackend.health_check_firewall_state:type_name -> google.events.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState + 8, // 31: google.events.cloud.networkmanagement.v1.VpnTunnelInfo.routing_type:type_name -> google.events.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType + 9, // 32: google.events.cloud.networkmanagement.v1.DeliverInfo.target:type_name -> google.events.cloud.networkmanagement.v1.DeliverInfo.Target + 10, // 33: google.events.cloud.networkmanagement.v1.ForwardInfo.target:type_name -> google.events.cloud.networkmanagement.v1.ForwardInfo.Target + 11, // 34: google.events.cloud.networkmanagement.v1.AbortInfo.cause:type_name -> google.events.cloud.networkmanagement.v1.AbortInfo.Cause + 12, // 35: google.events.cloud.networkmanagement.v1.DropInfo.cause:type_name -> google.events.cloud.networkmanagement.v1.DropInfo.Cause + 39, // 36: google.events.cloud.networkmanagement.v1.ConnectivityTest.source:type_name -> google.events.cloud.networkmanagement.v1.Endpoint + 39, // 37: google.events.cloud.networkmanagement.v1.ConnectivityTest.destination:type_name -> google.events.cloud.networkmanagement.v1.Endpoint + 42, // 38: google.events.cloud.networkmanagement.v1.ConnectivityTest.labels:type_name -> google.events.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry + 46, // 39: google.events.cloud.networkmanagement.v1.ConnectivityTest.create_time:type_name -> google.protobuf.Timestamp + 46, // 40: google.events.cloud.networkmanagement.v1.ConnectivityTest.update_time:type_name -> google.protobuf.Timestamp + 40, // 41: google.events.cloud.networkmanagement.v1.ConnectivityTest.reachability_details:type_name -> google.events.cloud.networkmanagement.v1.ReachabilityDetails + 43, // 42: google.events.cloud.networkmanagement.v1.Endpoint.cloud_function:type_name -> google.events.cloud.networkmanagement.v1.Endpoint.CloudFunctionEndpoint + 44, // 43: google.events.cloud.networkmanagement.v1.Endpoint.app_engine_version:type_name -> google.events.cloud.networkmanagement.v1.Endpoint.AppEngineVersionEndpoint + 45, // 44: google.events.cloud.networkmanagement.v1.Endpoint.cloud_run_revision:type_name -> google.events.cloud.networkmanagement.v1.Endpoint.CloudRunRevisionEndpoint + 13, // 45: google.events.cloud.networkmanagement.v1.Endpoint.network_type:type_name -> google.events.cloud.networkmanagement.v1.Endpoint.NetworkType + 14, // 46: google.events.cloud.networkmanagement.v1.ReachabilityDetails.result:type_name -> google.events.cloud.networkmanagement.v1.ReachabilityDetails.Result + 46, // 47: google.events.cloud.networkmanagement.v1.ReachabilityDetails.verify_time:type_name -> google.protobuf.Timestamp + 47, // 48: google.events.cloud.networkmanagement.v1.ReachabilityDetails.error:type_name -> google.rpc.Status + 15, // 49: google.events.cloud.networkmanagement.v1.ReachabilityDetails.traces:type_name -> google.events.cloud.networkmanagement.v1.Trace + 38, // 50: google.events.cloud.networkmanagement.v1.ConnectivityTestEventData.payload:type_name -> google.events.cloud.networkmanagement.v1.ConnectivityTest + 51, // [51:51] is the sub-list for method output_type + 51, // [51:51] is the sub-list for method input_type + 51, // [51:51] is the sub-list for extension type_name + 51, // [51:51] is the sub-list for extension extendee + 0, // [0:51] is the sub-list for field type_name +} + +func init() { file_cloud_networkmanagement_v1_data_proto_init() } +func file_cloud_networkmanagement_v1_data_proto_init() { + if File_cloud_networkmanagement_v1_data_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cloud_networkmanagement_v1_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Trace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Step); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FirewallInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GoogleServiceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForwardingRuleInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerBackend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VpnGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VpnTunnelInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EndpointInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeliverInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForwardInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AbortInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GKEMasterInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudSQLInstanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudFunctionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudRunRevisionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppEngineVersionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VpcConnectorInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectivityTest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReachabilityDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectivityTestEventData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint_CloudFunctionEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint_AppEngineVersionEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint_CloudRunRevisionEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Step_Instance)(nil), + (*Step_Firewall)(nil), + (*Step_Route)(nil), + (*Step_Endpoint)(nil), + (*Step_GoogleService)(nil), + (*Step_ForwardingRule)(nil), + (*Step_VpnGateway)(nil), + (*Step_VpnTunnel)(nil), + (*Step_VpcConnector)(nil), + (*Step_Deliver)(nil), + (*Step_Forward)(nil), + (*Step_Abort)(nil), + (*Step_Drop)(nil), + (*Step_LoadBalancer)(nil), + (*Step_Network)(nil), + (*Step_GkeMaster)(nil), + (*Step_CloudSqlInstance)(nil), + (*Step_CloudFunction)(nil), + (*Step_AppEngineVersion)(nil), + (*Step_CloudRunRevision)(nil), + } + file_cloud_networkmanagement_v1_data_proto_msgTypes[26].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cloud_networkmanagement_v1_data_proto_rawDesc, + NumEnums: 15, + NumMessages: 31, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cloud_networkmanagement_v1_data_proto_goTypes, + DependencyIndexes: file_cloud_networkmanagement_v1_data_proto_depIdxs, + EnumInfos: file_cloud_networkmanagement_v1_data_proto_enumTypes, + MessageInfos: file_cloud_networkmanagement_v1_data_proto_msgTypes, + }.Build() + File_cloud_networkmanagement_v1_data_proto = out.File + file_cloud_networkmanagement_v1_data_proto_rawDesc = nil + file_cloud_networkmanagement_v1_data_proto_goTypes = nil + file_cloud_networkmanagement_v1_data_proto_depIdxs = nil +} diff --git a/cloud/networkmanagementdata/data_test.go b/cloud/networkmanagementdata/data_test.go new file mode 100644 index 0000000..ff7563f --- /dev/null +++ b/cloud/networkmanagementdata/data_test.go @@ -0,0 +1,71 @@ +// Copyright 2023 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 +// +// https://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. + +// Code generated by protoc-gen-go-googlecetypes. DO NOT EDIT. +// versions: +// protoc v3.21.6 +// protoc-gen-go v1.30.0 +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) +// source: google/events/cloud/networkmanagement/v1/events.proto + +package networkmanagementdata_test + +import ( + "os" + "path/filepath" + "testing" + + "github.com/googleapis/google-cloudevents-go/cloud/networkmanagementdata" + "github.com/googleapis/google-cloudevents-go/internal/testhelper" + "google.golang.org/protobuf/encoding/protojson" +) + +// Validate the type can parse test data. +// Goals: +// - "Loose" parsing confirms the expected library experience +// - "Strict" parsing confirms: +// - no deleted or renamed fields in protos covered in test data +// - test data does not carry unknown fields +func TestParsingConnectivityTestEventData(t *testing.T) { + cases := testhelper.FindTestData(t, "ConnectivityTestEventData", "google/events/cloud/networkmanagement/v1") + + for name, file := range cases { + t.Run(name, func(t *testing.T) { + data, err := os.ReadFile(file) + if err != nil { + t.Fatal("os.ReadFile:", err) + } + + if ext := filepath.Ext(file); ext != ".json" { + t.Fatalf("test support for %q data not implemented", ext) + } + + t.Run("loose", func(t *testing.T) { + out := networkmanagementdata.ConnectivityTestEventData{} + pj := protojson.UnmarshalOptions{DiscardUnknown: true} + if err := pj.Unmarshal(data, &out); err != nil { + t.Fatalf("protojson.Unmarshal: could not parse %q\n----%s\n----", file, data) + } + }) + + t.Run("strict", func(t *testing.T) { + out := networkmanagementdata.ConnectivityTestEventData{} + if err := protojson.Unmarshal(data, &out); err != nil { + t.Fatalf("protojson.Unmarshal: could not parse %q\n----%s\n----", file, data) + } + }) + + }) + } +} diff --git a/cloud/networkmanagementdata/doc.go b/cloud/networkmanagementdata/doc.go new file mode 100644 index 0000000..79eaf14 --- /dev/null +++ b/cloud/networkmanagementdata/doc.go @@ -0,0 +1,8 @@ +// Package networkmanagementdata provides Network Management type definitions for CloudEvent data payloads. +// +// # Supported CloudEvent Types +// +// - google.cloud.networkmanagement.connectivityTest.v1.created +// - google.cloud.networkmanagement.connectivityTest.v1.updated +// - google.cloud.networkmanagement.connectivityTest.v1.deleted +package networkmanagementdata diff --git a/cloud/notebooksdata/data_test.go b/cloud/notebooksdata/data_test.go index f88b848..c137ebf 100644 --- a/cloud/notebooksdata/data_test.go +++ b/cloud/notebooksdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/notebooks/v1/events.proto package notebooksdata_test diff --git a/cloud/redisdata/data_test.go b/cloud/redisdata/data_test.go index 42b4229..9acac20 100644 --- a/cloud/redisdata/data_test.go +++ b/cloud/redisdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/redis/v1/events.proto package redisdata_test diff --git a/cloud/schedulerdata/data_test.go b/cloud/schedulerdata/data_test.go index 6005d65..fdc6b68 100644 --- a/cloud/schedulerdata/data_test.go +++ b/cloud/schedulerdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/scheduler/v1/events.proto package schedulerdata_test diff --git a/cloud/storagedata/data_test.go b/cloud/storagedata/data_test.go index 0fd1f16..548ec70 100644 --- a/cloud/storagedata/data_test.go +++ b/cloud/storagedata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/storage/v1/events.proto package storagedata_test diff --git a/cloud/video/transcoderdata/data_test.go b/cloud/video/transcoderdata/data_test.go index afa5252..8824b4b 100644 --- a/cloud/video/transcoderdata/data_test.go +++ b/cloud/video/transcoderdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/video/transcoder/v1/events.proto package transcoderdata_test diff --git a/cloud/visionaidata/data_test.go b/cloud/visionaidata/data_test.go index 02f3d86..d415406 100644 --- a/cloud/visionaidata/data_test.go +++ b/cloud/visionaidata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/visionai/v1/events.proto package visionaidata_test diff --git a/cloud/vmmigrationdata/data_test.go b/cloud/vmmigrationdata/data_test.go index d5ffd5c..957ec06 100644 --- a/cloud/vmmigrationdata/data_test.go +++ b/cloud/vmmigrationdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/vmmigration/v1/events.proto package vmmigrationdata_test diff --git a/cloud/workflowsdata/data_test.go b/cloud/workflowsdata/data_test.go index 3c15057..fcdf509 100644 --- a/cloud/workflowsdata/data_test.go +++ b/cloud/workflowsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/cloud/workflows/v1/events.proto package workflowsdata_test diff --git a/firebase/analyticsdata/data_test.go b/firebase/analyticsdata/data_test.go index 367a5d2..ddb320d 100644 --- a/firebase/analyticsdata/data_test.go +++ b/firebase/analyticsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/analytics/v1/events.proto package analyticsdata_test diff --git a/firebase/authdata/data_test.go b/firebase/authdata/data_test.go index a3ca5b3..8ad30f9 100644 --- a/firebase/authdata/data_test.go +++ b/firebase/authdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/auth/v1/events.proto package authdata_test diff --git a/firebase/databasedata/data_test.go b/firebase/databasedata/data_test.go index dbeb7e2..4fb51f2 100644 --- a/firebase/databasedata/data_test.go +++ b/firebase/databasedata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/database/v1/events.proto package databasedata_test diff --git a/firebase/firebasealertsdata/data_test.go b/firebase/firebasealertsdata/data_test.go index 2a3cbd5..fb9a30c 100644 --- a/firebase/firebasealertsdata/data_test.go +++ b/firebase/firebasealertsdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/firebasealerts/v1/events.proto package firebasealertsdata_test diff --git a/firebase/remoteconfigdata/data_test.go b/firebase/remoteconfigdata/data_test.go index 8a1f83f..d858c20 100644 --- a/firebase/remoteconfigdata/data_test.go +++ b/firebase/remoteconfigdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/remoteconfig/v1/events.proto package remoteconfigdata_test diff --git a/firebase/testlabdata/data_test.go b/firebase/testlabdata/data_test.go index 7d9aaca..1d3341c 100644 --- a/firebase/testlabdata/data_test.go +++ b/firebase/testlabdata/data_test.go @@ -16,7 +16,7 @@ // versions: // protoc v3.21.6 // protoc-gen-go v1.30.0 -// protoc-gen-go-googlecetypes short-sha:15d4dad (2023-05-25 11:11:02 -0700) +// protoc-gen-go-googlecetypes short-sha:74c44f2 (2023-06-15 15:43:30 -0700) // source: google/events/firebase/testlab/v1/events.proto package testlabdata_test