1// Copyright 2019 Google LLC. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16// Code generated by protoc-gen-go. DO NOT EDIT. 17// versions: 18// protoc-gen-go v1.22.0 19// protoc v3.11.2 20// source: google/cloud/webrisk/v1beta1/webrisk.proto 21 22package webrisk 23 24import ( 25 context "context" 26 reflect "reflect" 27 sync "sync" 28 29 proto "github.com/golang/protobuf/proto" 30 timestamp "github.com/golang/protobuf/ptypes/timestamp" 31 _ "google.golang.org/genproto/googleapis/api/annotations" 32 grpc "google.golang.org/grpc" 33 codes "google.golang.org/grpc/codes" 34 status "google.golang.org/grpc/status" 35 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 36 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 37) 38 39const ( 40 // Verify that this generated code is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 42 // Verify that runtime/protoimpl is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 44) 45 46// This is a compile-time assertion that a sufficiently up-to-date version 47// of the legacy proto package is being used. 48const _ = proto.ProtoPackageIsVersion4 49 50// The type of threat. This maps dirrectly to the threat list a threat may 51// belong to. 52type ThreatType int32 53 54const ( 55 // Unknown. 56 ThreatType_THREAT_TYPE_UNSPECIFIED ThreatType = 0 57 // Malware targeting any platform. 58 ThreatType_MALWARE ThreatType = 1 59 // Social engineering targeting any platform. 60 ThreatType_SOCIAL_ENGINEERING ThreatType = 2 61 // Unwanted software targeting any platform. 62 ThreatType_UNWANTED_SOFTWARE ThreatType = 3 63) 64 65// Enum value maps for ThreatType. 66var ( 67 ThreatType_name = map[int32]string{ 68 0: "THREAT_TYPE_UNSPECIFIED", 69 1: "MALWARE", 70 2: "SOCIAL_ENGINEERING", 71 3: "UNWANTED_SOFTWARE", 72 } 73 ThreatType_value = map[string]int32{ 74 "THREAT_TYPE_UNSPECIFIED": 0, 75 "MALWARE": 1, 76 "SOCIAL_ENGINEERING": 2, 77 "UNWANTED_SOFTWARE": 3, 78 } 79) 80 81func (x ThreatType) Enum() *ThreatType { 82 p := new(ThreatType) 83 *p = x 84 return p 85} 86 87func (x ThreatType) String() string { 88 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 89} 90 91func (ThreatType) Descriptor() protoreflect.EnumDescriptor { 92 return file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[0].Descriptor() 93} 94 95func (ThreatType) Type() protoreflect.EnumType { 96 return &file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[0] 97} 98 99func (x ThreatType) Number() protoreflect.EnumNumber { 100 return protoreflect.EnumNumber(x) 101} 102 103// Deprecated: Use ThreatType.Descriptor instead. 104func (ThreatType) EnumDescriptor() ([]byte, []int) { 105 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{0} 106} 107 108// The ways in which threat entry sets can be compressed. 109type CompressionType int32 110 111const ( 112 // Unknown. 113 CompressionType_COMPRESSION_TYPE_UNSPECIFIED CompressionType = 0 114 // Raw, uncompressed data. 115 CompressionType_RAW CompressionType = 1 116 // Rice-Golomb encoded data. 117 CompressionType_RICE CompressionType = 2 118) 119 120// Enum value maps for CompressionType. 121var ( 122 CompressionType_name = map[int32]string{ 123 0: "COMPRESSION_TYPE_UNSPECIFIED", 124 1: "RAW", 125 2: "RICE", 126 } 127 CompressionType_value = map[string]int32{ 128 "COMPRESSION_TYPE_UNSPECIFIED": 0, 129 "RAW": 1, 130 "RICE": 2, 131 } 132) 133 134func (x CompressionType) Enum() *CompressionType { 135 p := new(CompressionType) 136 *p = x 137 return p 138} 139 140func (x CompressionType) String() string { 141 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 142} 143 144func (CompressionType) Descriptor() protoreflect.EnumDescriptor { 145 return file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[1].Descriptor() 146} 147 148func (CompressionType) Type() protoreflect.EnumType { 149 return &file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[1] 150} 151 152func (x CompressionType) Number() protoreflect.EnumNumber { 153 return protoreflect.EnumNumber(x) 154} 155 156// Deprecated: Use CompressionType.Descriptor instead. 157func (CompressionType) EnumDescriptor() ([]byte, []int) { 158 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{1} 159} 160 161// The type of response sent to the client. 162type ComputeThreatListDiffResponse_ResponseType int32 163 164const ( 165 // Unknown. 166 ComputeThreatListDiffResponse_RESPONSE_TYPE_UNSPECIFIED ComputeThreatListDiffResponse_ResponseType = 0 167 // Partial updates are applied to the client's existing local database. 168 ComputeThreatListDiffResponse_DIFF ComputeThreatListDiffResponse_ResponseType = 1 169 // Full updates resets the client's entire local database. This means 170 // that either the client had no state, was seriously out-of-date, 171 // or the client is believed to be corrupt. 172 ComputeThreatListDiffResponse_RESET ComputeThreatListDiffResponse_ResponseType = 2 173) 174 175// Enum value maps for ComputeThreatListDiffResponse_ResponseType. 176var ( 177 ComputeThreatListDiffResponse_ResponseType_name = map[int32]string{ 178 0: "RESPONSE_TYPE_UNSPECIFIED", 179 1: "DIFF", 180 2: "RESET", 181 } 182 ComputeThreatListDiffResponse_ResponseType_value = map[string]int32{ 183 "RESPONSE_TYPE_UNSPECIFIED": 0, 184 "DIFF": 1, 185 "RESET": 2, 186 } 187) 188 189func (x ComputeThreatListDiffResponse_ResponseType) Enum() *ComputeThreatListDiffResponse_ResponseType { 190 p := new(ComputeThreatListDiffResponse_ResponseType) 191 *p = x 192 return p 193} 194 195func (x ComputeThreatListDiffResponse_ResponseType) String() string { 196 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 197} 198 199func (ComputeThreatListDiffResponse_ResponseType) Descriptor() protoreflect.EnumDescriptor { 200 return file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[2].Descriptor() 201} 202 203func (ComputeThreatListDiffResponse_ResponseType) Type() protoreflect.EnumType { 204 return &file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes[2] 205} 206 207func (x ComputeThreatListDiffResponse_ResponseType) Number() protoreflect.EnumNumber { 208 return protoreflect.EnumNumber(x) 209} 210 211// Deprecated: Use ComputeThreatListDiffResponse_ResponseType.Descriptor instead. 212func (ComputeThreatListDiffResponse_ResponseType) EnumDescriptor() ([]byte, []int) { 213 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{1, 0} 214} 215 216// Describes an API diff request. 217type ComputeThreatListDiffRequest struct { 218 state protoimpl.MessageState 219 sizeCache protoimpl.SizeCache 220 unknownFields protoimpl.UnknownFields 221 222 // The ThreatList to update. 223 ThreatType ThreatType `protobuf:"varint,1,opt,name=threat_type,json=threatType,proto3,enum=google.cloud.webrisk.v1beta1.ThreatType" json:"threat_type,omitempty"` 224 // The current version token of the client for the requested list (the 225 // client version that was received from the last successful diff). 226 VersionToken []byte `protobuf:"bytes,2,opt,name=version_token,json=versionToken,proto3" json:"version_token,omitempty"` 227 // Required. The constraints associated with this request. 228 Constraints *ComputeThreatListDiffRequest_Constraints `protobuf:"bytes,3,opt,name=constraints,proto3" json:"constraints,omitempty"` 229} 230 231func (x *ComputeThreatListDiffRequest) Reset() { 232 *x = ComputeThreatListDiffRequest{} 233 if protoimpl.UnsafeEnabled { 234 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[0] 235 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 236 ms.StoreMessageInfo(mi) 237 } 238} 239 240func (x *ComputeThreatListDiffRequest) String() string { 241 return protoimpl.X.MessageStringOf(x) 242} 243 244func (*ComputeThreatListDiffRequest) ProtoMessage() {} 245 246func (x *ComputeThreatListDiffRequest) ProtoReflect() protoreflect.Message { 247 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[0] 248 if protoimpl.UnsafeEnabled && x != nil { 249 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 250 if ms.LoadMessageInfo() == nil { 251 ms.StoreMessageInfo(mi) 252 } 253 return ms 254 } 255 return mi.MessageOf(x) 256} 257 258// Deprecated: Use ComputeThreatListDiffRequest.ProtoReflect.Descriptor instead. 259func (*ComputeThreatListDiffRequest) Descriptor() ([]byte, []int) { 260 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{0} 261} 262 263func (x *ComputeThreatListDiffRequest) GetThreatType() ThreatType { 264 if x != nil { 265 return x.ThreatType 266 } 267 return ThreatType_THREAT_TYPE_UNSPECIFIED 268} 269 270func (x *ComputeThreatListDiffRequest) GetVersionToken() []byte { 271 if x != nil { 272 return x.VersionToken 273 } 274 return nil 275} 276 277func (x *ComputeThreatListDiffRequest) GetConstraints() *ComputeThreatListDiffRequest_Constraints { 278 if x != nil { 279 return x.Constraints 280 } 281 return nil 282} 283 284type ComputeThreatListDiffResponse struct { 285 state protoimpl.MessageState 286 sizeCache protoimpl.SizeCache 287 unknownFields protoimpl.UnknownFields 288 289 // The type of response. This may indicate that an action must be taken by the 290 // client when the response is received. 291 ResponseType ComputeThreatListDiffResponse_ResponseType `protobuf:"varint,4,opt,name=response_type,json=responseType,proto3,enum=google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse_ResponseType" json:"response_type,omitempty"` 292 // A set of entries to add to a local threat type's list. 293 Additions *ThreatEntryAdditions `protobuf:"bytes,5,opt,name=additions,proto3" json:"additions,omitempty"` 294 // A set of entries to remove from a local threat type's list. 295 // This field may be empty. 296 Removals *ThreatEntryRemovals `protobuf:"bytes,6,opt,name=removals,proto3" json:"removals,omitempty"` 297 // The new opaque client version token. 298 NewVersionToken []byte `protobuf:"bytes,7,opt,name=new_version_token,json=newVersionToken,proto3" json:"new_version_token,omitempty"` 299 // The expected SHA256 hash of the client state; that is, of the sorted list 300 // of all hashes present in the database after applying the provided diff. 301 // If the client state doesn't match the expected state, the client must 302 // disregard this diff and retry later. 303 Checksum *ComputeThreatListDiffResponse_Checksum `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"` 304 // The soonest the client should wait before issuing any diff 305 // request. Querying sooner is unlikely to produce a meaningful diff. 306 // Waiting longer is acceptable considering the use case. 307 // If this field is not set clients may update as soon as they want. 308 RecommendedNextDiff *timestamp.Timestamp `protobuf:"bytes,2,opt,name=recommended_next_diff,json=recommendedNextDiff,proto3" json:"recommended_next_diff,omitempty"` 309} 310 311func (x *ComputeThreatListDiffResponse) Reset() { 312 *x = ComputeThreatListDiffResponse{} 313 if protoimpl.UnsafeEnabled { 314 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[1] 315 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 316 ms.StoreMessageInfo(mi) 317 } 318} 319 320func (x *ComputeThreatListDiffResponse) String() string { 321 return protoimpl.X.MessageStringOf(x) 322} 323 324func (*ComputeThreatListDiffResponse) ProtoMessage() {} 325 326func (x *ComputeThreatListDiffResponse) ProtoReflect() protoreflect.Message { 327 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[1] 328 if protoimpl.UnsafeEnabled && x != nil { 329 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 330 if ms.LoadMessageInfo() == nil { 331 ms.StoreMessageInfo(mi) 332 } 333 return ms 334 } 335 return mi.MessageOf(x) 336} 337 338// Deprecated: Use ComputeThreatListDiffResponse.ProtoReflect.Descriptor instead. 339func (*ComputeThreatListDiffResponse) Descriptor() ([]byte, []int) { 340 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{1} 341} 342 343func (x *ComputeThreatListDiffResponse) GetResponseType() ComputeThreatListDiffResponse_ResponseType { 344 if x != nil { 345 return x.ResponseType 346 } 347 return ComputeThreatListDiffResponse_RESPONSE_TYPE_UNSPECIFIED 348} 349 350func (x *ComputeThreatListDiffResponse) GetAdditions() *ThreatEntryAdditions { 351 if x != nil { 352 return x.Additions 353 } 354 return nil 355} 356 357func (x *ComputeThreatListDiffResponse) GetRemovals() *ThreatEntryRemovals { 358 if x != nil { 359 return x.Removals 360 } 361 return nil 362} 363 364func (x *ComputeThreatListDiffResponse) GetNewVersionToken() []byte { 365 if x != nil { 366 return x.NewVersionToken 367 } 368 return nil 369} 370 371func (x *ComputeThreatListDiffResponse) GetChecksum() *ComputeThreatListDiffResponse_Checksum { 372 if x != nil { 373 return x.Checksum 374 } 375 return nil 376} 377 378func (x *ComputeThreatListDiffResponse) GetRecommendedNextDiff() *timestamp.Timestamp { 379 if x != nil { 380 return x.RecommendedNextDiff 381 } 382 return nil 383} 384 385// Request to check URI entries against threatLists. 386type SearchUrisRequest struct { 387 state protoimpl.MessageState 388 sizeCache protoimpl.SizeCache 389 unknownFields protoimpl.UnknownFields 390 391 // Required. The URI to be checked for matches. 392 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` 393 // Required. The ThreatLists to search in. 394 ThreatTypes []ThreatType `protobuf:"varint,2,rep,packed,name=threat_types,json=threatTypes,proto3,enum=google.cloud.webrisk.v1beta1.ThreatType" json:"threat_types,omitempty"` 395} 396 397func (x *SearchUrisRequest) Reset() { 398 *x = SearchUrisRequest{} 399 if protoimpl.UnsafeEnabled { 400 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[2] 401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 402 ms.StoreMessageInfo(mi) 403 } 404} 405 406func (x *SearchUrisRequest) String() string { 407 return protoimpl.X.MessageStringOf(x) 408} 409 410func (*SearchUrisRequest) ProtoMessage() {} 411 412func (x *SearchUrisRequest) ProtoReflect() protoreflect.Message { 413 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[2] 414 if protoimpl.UnsafeEnabled && x != nil { 415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 416 if ms.LoadMessageInfo() == nil { 417 ms.StoreMessageInfo(mi) 418 } 419 return ms 420 } 421 return mi.MessageOf(x) 422} 423 424// Deprecated: Use SearchUrisRequest.ProtoReflect.Descriptor instead. 425func (*SearchUrisRequest) Descriptor() ([]byte, []int) { 426 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{2} 427} 428 429func (x *SearchUrisRequest) GetUri() string { 430 if x != nil { 431 return x.Uri 432 } 433 return "" 434} 435 436func (x *SearchUrisRequest) GetThreatTypes() []ThreatType { 437 if x != nil { 438 return x.ThreatTypes 439 } 440 return nil 441} 442 443type SearchUrisResponse struct { 444 state protoimpl.MessageState 445 sizeCache protoimpl.SizeCache 446 unknownFields protoimpl.UnknownFields 447 448 // The threat list matches. This may be empty if the URI is on no list. 449 Threat *SearchUrisResponse_ThreatUri `protobuf:"bytes,1,opt,name=threat,proto3" json:"threat,omitempty"` 450} 451 452func (x *SearchUrisResponse) Reset() { 453 *x = SearchUrisResponse{} 454 if protoimpl.UnsafeEnabled { 455 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[3] 456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 457 ms.StoreMessageInfo(mi) 458 } 459} 460 461func (x *SearchUrisResponse) String() string { 462 return protoimpl.X.MessageStringOf(x) 463} 464 465func (*SearchUrisResponse) ProtoMessage() {} 466 467func (x *SearchUrisResponse) ProtoReflect() protoreflect.Message { 468 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[3] 469 if protoimpl.UnsafeEnabled && x != nil { 470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 471 if ms.LoadMessageInfo() == nil { 472 ms.StoreMessageInfo(mi) 473 } 474 return ms 475 } 476 return mi.MessageOf(x) 477} 478 479// Deprecated: Use SearchUrisResponse.ProtoReflect.Descriptor instead. 480func (*SearchUrisResponse) Descriptor() ([]byte, []int) { 481 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{3} 482} 483 484func (x *SearchUrisResponse) GetThreat() *SearchUrisResponse_ThreatUri { 485 if x != nil { 486 return x.Threat 487 } 488 return nil 489} 490 491// Request to return full hashes matched by the provided hash prefixes. 492type SearchHashesRequest struct { 493 state protoimpl.MessageState 494 sizeCache protoimpl.SizeCache 495 unknownFields protoimpl.UnknownFields 496 497 // A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 498 // hash. For JSON requests, this field is base64-encoded. 499 HashPrefix []byte `protobuf:"bytes,1,opt,name=hash_prefix,json=hashPrefix,proto3" json:"hash_prefix,omitempty"` 500 // Required. The ThreatLists to search in. 501 ThreatTypes []ThreatType `protobuf:"varint,2,rep,packed,name=threat_types,json=threatTypes,proto3,enum=google.cloud.webrisk.v1beta1.ThreatType" json:"threat_types,omitempty"` 502} 503 504func (x *SearchHashesRequest) Reset() { 505 *x = SearchHashesRequest{} 506 if protoimpl.UnsafeEnabled { 507 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[4] 508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 509 ms.StoreMessageInfo(mi) 510 } 511} 512 513func (x *SearchHashesRequest) String() string { 514 return protoimpl.X.MessageStringOf(x) 515} 516 517func (*SearchHashesRequest) ProtoMessage() {} 518 519func (x *SearchHashesRequest) ProtoReflect() protoreflect.Message { 520 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[4] 521 if protoimpl.UnsafeEnabled && x != nil { 522 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 523 if ms.LoadMessageInfo() == nil { 524 ms.StoreMessageInfo(mi) 525 } 526 return ms 527 } 528 return mi.MessageOf(x) 529} 530 531// Deprecated: Use SearchHashesRequest.ProtoReflect.Descriptor instead. 532func (*SearchHashesRequest) Descriptor() ([]byte, []int) { 533 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{4} 534} 535 536func (x *SearchHashesRequest) GetHashPrefix() []byte { 537 if x != nil { 538 return x.HashPrefix 539 } 540 return nil 541} 542 543func (x *SearchHashesRequest) GetThreatTypes() []ThreatType { 544 if x != nil { 545 return x.ThreatTypes 546 } 547 return nil 548} 549 550type SearchHashesResponse struct { 551 state protoimpl.MessageState 552 sizeCache protoimpl.SizeCache 553 unknownFields protoimpl.UnknownFields 554 555 // The full hashes that matched the requested prefixes. 556 // The hash will be populated in the key. 557 Threats []*SearchHashesResponse_ThreatHash `protobuf:"bytes,1,rep,name=threats,proto3" json:"threats,omitempty"` 558 // For requested entities that did not match the threat list, how long to 559 // cache the response until. 560 NegativeExpireTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=negative_expire_time,json=negativeExpireTime,proto3" json:"negative_expire_time,omitempty"` 561} 562 563func (x *SearchHashesResponse) Reset() { 564 *x = SearchHashesResponse{} 565 if protoimpl.UnsafeEnabled { 566 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[5] 567 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 568 ms.StoreMessageInfo(mi) 569 } 570} 571 572func (x *SearchHashesResponse) String() string { 573 return protoimpl.X.MessageStringOf(x) 574} 575 576func (*SearchHashesResponse) ProtoMessage() {} 577 578func (x *SearchHashesResponse) ProtoReflect() protoreflect.Message { 579 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[5] 580 if protoimpl.UnsafeEnabled && x != nil { 581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 582 if ms.LoadMessageInfo() == nil { 583 ms.StoreMessageInfo(mi) 584 } 585 return ms 586 } 587 return mi.MessageOf(x) 588} 589 590// Deprecated: Use SearchHashesResponse.ProtoReflect.Descriptor instead. 591func (*SearchHashesResponse) Descriptor() ([]byte, []int) { 592 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{5} 593} 594 595func (x *SearchHashesResponse) GetThreats() []*SearchHashesResponse_ThreatHash { 596 if x != nil { 597 return x.Threats 598 } 599 return nil 600} 601 602func (x *SearchHashesResponse) GetNegativeExpireTime() *timestamp.Timestamp { 603 if x != nil { 604 return x.NegativeExpireTime 605 } 606 return nil 607} 608 609// Contains the set of entries to add to a local database. 610// May contain a combination of compressed and raw data in a single response. 611type ThreatEntryAdditions struct { 612 state protoimpl.MessageState 613 sizeCache protoimpl.SizeCache 614 unknownFields protoimpl.UnknownFields 615 616 // The raw SHA256-formatted entries. 617 // Repeated to allow returning sets of hashes with different prefix sizes. 618 RawHashes []*RawHashes `protobuf:"bytes,1,rep,name=raw_hashes,json=rawHashes,proto3" json:"raw_hashes,omitempty"` 619 // The encoded 4-byte prefixes of SHA256-formatted entries, using a 620 // Golomb-Rice encoding. The hashes are converted to uint32, sorted in 621 // ascending order, then delta encoded and stored as encoded_data. 622 RiceHashes *RiceDeltaEncoding `protobuf:"bytes,2,opt,name=rice_hashes,json=riceHashes,proto3" json:"rice_hashes,omitempty"` 623} 624 625func (x *ThreatEntryAdditions) Reset() { 626 *x = ThreatEntryAdditions{} 627 if protoimpl.UnsafeEnabled { 628 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[6] 629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 630 ms.StoreMessageInfo(mi) 631 } 632} 633 634func (x *ThreatEntryAdditions) String() string { 635 return protoimpl.X.MessageStringOf(x) 636} 637 638func (*ThreatEntryAdditions) ProtoMessage() {} 639 640func (x *ThreatEntryAdditions) ProtoReflect() protoreflect.Message { 641 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[6] 642 if protoimpl.UnsafeEnabled && x != nil { 643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 644 if ms.LoadMessageInfo() == nil { 645 ms.StoreMessageInfo(mi) 646 } 647 return ms 648 } 649 return mi.MessageOf(x) 650} 651 652// Deprecated: Use ThreatEntryAdditions.ProtoReflect.Descriptor instead. 653func (*ThreatEntryAdditions) Descriptor() ([]byte, []int) { 654 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{6} 655} 656 657func (x *ThreatEntryAdditions) GetRawHashes() []*RawHashes { 658 if x != nil { 659 return x.RawHashes 660 } 661 return nil 662} 663 664func (x *ThreatEntryAdditions) GetRiceHashes() *RiceDeltaEncoding { 665 if x != nil { 666 return x.RiceHashes 667 } 668 return nil 669} 670 671// Contains the set of entries to remove from a local database. 672type ThreatEntryRemovals struct { 673 state protoimpl.MessageState 674 sizeCache protoimpl.SizeCache 675 unknownFields protoimpl.UnknownFields 676 677 // The raw removal indices for a local list. 678 RawIndices *RawIndices `protobuf:"bytes,1,opt,name=raw_indices,json=rawIndices,proto3" json:"raw_indices,omitempty"` 679 // The encoded local, lexicographically-sorted list indices, using a 680 // Golomb-Rice encoding. Used for sending compressed removal indices. The 681 // removal indices (uint32) are sorted in ascending order, then delta encoded 682 // and stored as encoded_data. 683 RiceIndices *RiceDeltaEncoding `protobuf:"bytes,2,opt,name=rice_indices,json=riceIndices,proto3" json:"rice_indices,omitempty"` 684} 685 686func (x *ThreatEntryRemovals) Reset() { 687 *x = ThreatEntryRemovals{} 688 if protoimpl.UnsafeEnabled { 689 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[7] 690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 691 ms.StoreMessageInfo(mi) 692 } 693} 694 695func (x *ThreatEntryRemovals) String() string { 696 return protoimpl.X.MessageStringOf(x) 697} 698 699func (*ThreatEntryRemovals) ProtoMessage() {} 700 701func (x *ThreatEntryRemovals) ProtoReflect() protoreflect.Message { 702 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[7] 703 if protoimpl.UnsafeEnabled && x != nil { 704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 705 if ms.LoadMessageInfo() == nil { 706 ms.StoreMessageInfo(mi) 707 } 708 return ms 709 } 710 return mi.MessageOf(x) 711} 712 713// Deprecated: Use ThreatEntryRemovals.ProtoReflect.Descriptor instead. 714func (*ThreatEntryRemovals) Descriptor() ([]byte, []int) { 715 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{7} 716} 717 718func (x *ThreatEntryRemovals) GetRawIndices() *RawIndices { 719 if x != nil { 720 return x.RawIndices 721 } 722 return nil 723} 724 725func (x *ThreatEntryRemovals) GetRiceIndices() *RiceDeltaEncoding { 726 if x != nil { 727 return x.RiceIndices 728 } 729 return nil 730} 731 732// A set of raw indices to remove from a local list. 733type RawIndices struct { 734 state protoimpl.MessageState 735 sizeCache protoimpl.SizeCache 736 unknownFields protoimpl.UnknownFields 737 738 // The indices to remove from a lexicographically-sorted local list. 739 Indices []int32 `protobuf:"varint,1,rep,packed,name=indices,proto3" json:"indices,omitempty"` 740} 741 742func (x *RawIndices) Reset() { 743 *x = RawIndices{} 744 if protoimpl.UnsafeEnabled { 745 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[8] 746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 747 ms.StoreMessageInfo(mi) 748 } 749} 750 751func (x *RawIndices) String() string { 752 return protoimpl.X.MessageStringOf(x) 753} 754 755func (*RawIndices) ProtoMessage() {} 756 757func (x *RawIndices) ProtoReflect() protoreflect.Message { 758 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[8] 759 if protoimpl.UnsafeEnabled && x != nil { 760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 761 if ms.LoadMessageInfo() == nil { 762 ms.StoreMessageInfo(mi) 763 } 764 return ms 765 } 766 return mi.MessageOf(x) 767} 768 769// Deprecated: Use RawIndices.ProtoReflect.Descriptor instead. 770func (*RawIndices) Descriptor() ([]byte, []int) { 771 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{8} 772} 773 774func (x *RawIndices) GetIndices() []int32 { 775 if x != nil { 776 return x.Indices 777 } 778 return nil 779} 780 781// The uncompressed threat entries in hash format. 782// Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 783// bytes, but some hashes are lengthened if they collide with the hash of a 784// popular URI. 785// 786// Used for sending ThreatEntryAdditons to clients that do not support 787// compression, or when sending non-4-byte hashes to clients that do support 788// compression. 789type RawHashes struct { 790 state protoimpl.MessageState 791 sizeCache protoimpl.SizeCache 792 unknownFields protoimpl.UnknownFields 793 794 // The number of bytes for each prefix encoded below. This field can be 795 // anywhere from 4 (shortest prefix) to 32 (full SHA256 hash). 796 PrefixSize int32 `protobuf:"varint,1,opt,name=prefix_size,json=prefixSize,proto3" json:"prefix_size,omitempty"` 797 // The hashes, in binary format, concatenated into one long string. Hashes are 798 // sorted in lexicographic order. For JSON API users, hashes are 799 // base64-encoded. 800 RawHashes []byte `protobuf:"bytes,2,opt,name=raw_hashes,json=rawHashes,proto3" json:"raw_hashes,omitempty"` 801} 802 803func (x *RawHashes) Reset() { 804 *x = RawHashes{} 805 if protoimpl.UnsafeEnabled { 806 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[9] 807 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 808 ms.StoreMessageInfo(mi) 809 } 810} 811 812func (x *RawHashes) String() string { 813 return protoimpl.X.MessageStringOf(x) 814} 815 816func (*RawHashes) ProtoMessage() {} 817 818func (x *RawHashes) ProtoReflect() protoreflect.Message { 819 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[9] 820 if protoimpl.UnsafeEnabled && x != nil { 821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 822 if ms.LoadMessageInfo() == nil { 823 ms.StoreMessageInfo(mi) 824 } 825 return ms 826 } 827 return mi.MessageOf(x) 828} 829 830// Deprecated: Use RawHashes.ProtoReflect.Descriptor instead. 831func (*RawHashes) Descriptor() ([]byte, []int) { 832 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{9} 833} 834 835func (x *RawHashes) GetPrefixSize() int32 { 836 if x != nil { 837 return x.PrefixSize 838 } 839 return 0 840} 841 842func (x *RawHashes) GetRawHashes() []byte { 843 if x != nil { 844 return x.RawHashes 845 } 846 return nil 847} 848 849// The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or 850// compressed removal indices. 851type RiceDeltaEncoding struct { 852 state protoimpl.MessageState 853 sizeCache protoimpl.SizeCache 854 unknownFields protoimpl.UnknownFields 855 856 // The offset of the first entry in the encoded data, or, if only a single 857 // integer was encoded, that single integer's value. If the field is empty or 858 // missing, assume zero. 859 FirstValue int64 `protobuf:"varint,1,opt,name=first_value,json=firstValue,proto3" json:"first_value,omitempty"` 860 // The Golomb-Rice parameter, which is a number between 2 and 28. This field 861 // is missing (that is, zero) if `num_entries` is zero. 862 RiceParameter int32 `protobuf:"varint,2,opt,name=rice_parameter,json=riceParameter,proto3" json:"rice_parameter,omitempty"` 863 // The number of entries that are delta encoded in the encoded data. If only a 864 // single integer was encoded, this will be zero and the single value will be 865 // stored in `first_value`. 866 EntryCount int32 `protobuf:"varint,3,opt,name=entry_count,json=entryCount,proto3" json:"entry_count,omitempty"` 867 // The encoded deltas that are encoded using the Golomb-Rice coder. 868 EncodedData []byte `protobuf:"bytes,4,opt,name=encoded_data,json=encodedData,proto3" json:"encoded_data,omitempty"` 869} 870 871func (x *RiceDeltaEncoding) Reset() { 872 *x = RiceDeltaEncoding{} 873 if protoimpl.UnsafeEnabled { 874 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[10] 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 ms.StoreMessageInfo(mi) 877 } 878} 879 880func (x *RiceDeltaEncoding) String() string { 881 return protoimpl.X.MessageStringOf(x) 882} 883 884func (*RiceDeltaEncoding) ProtoMessage() {} 885 886func (x *RiceDeltaEncoding) ProtoReflect() protoreflect.Message { 887 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[10] 888 if protoimpl.UnsafeEnabled && x != nil { 889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 890 if ms.LoadMessageInfo() == nil { 891 ms.StoreMessageInfo(mi) 892 } 893 return ms 894 } 895 return mi.MessageOf(x) 896} 897 898// Deprecated: Use RiceDeltaEncoding.ProtoReflect.Descriptor instead. 899func (*RiceDeltaEncoding) Descriptor() ([]byte, []int) { 900 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{10} 901} 902 903func (x *RiceDeltaEncoding) GetFirstValue() int64 { 904 if x != nil { 905 return x.FirstValue 906 } 907 return 0 908} 909 910func (x *RiceDeltaEncoding) GetRiceParameter() int32 { 911 if x != nil { 912 return x.RiceParameter 913 } 914 return 0 915} 916 917func (x *RiceDeltaEncoding) GetEntryCount() int32 { 918 if x != nil { 919 return x.EntryCount 920 } 921 return 0 922} 923 924func (x *RiceDeltaEncoding) GetEncodedData() []byte { 925 if x != nil { 926 return x.EncodedData 927 } 928 return nil 929} 930 931// The constraints for this diff. 932type ComputeThreatListDiffRequest_Constraints struct { 933 state protoimpl.MessageState 934 sizeCache protoimpl.SizeCache 935 unknownFields protoimpl.UnknownFields 936 937 // The maximum size in number of entries. The diff will not contain more 938 // entries than this value. This should be a power of 2 between 2**10 and 939 // 2**20. If zero, no diff size limit is set. 940 MaxDiffEntries int32 `protobuf:"varint,1,opt,name=max_diff_entries,json=maxDiffEntries,proto3" json:"max_diff_entries,omitempty"` 941 // Sets the maximum number of entries that the client is willing to have 942 // in the local database. This should be a power of 2 between 2**10 and 943 // 2**20. If zero, no database size limit is set. 944 MaxDatabaseEntries int32 `protobuf:"varint,2,opt,name=max_database_entries,json=maxDatabaseEntries,proto3" json:"max_database_entries,omitempty"` 945 // The compression types supported by the client. 946 SupportedCompressions []CompressionType `protobuf:"varint,3,rep,packed,name=supported_compressions,json=supportedCompressions,proto3,enum=google.cloud.webrisk.v1beta1.CompressionType" json:"supported_compressions,omitempty"` 947} 948 949func (x *ComputeThreatListDiffRequest_Constraints) Reset() { 950 *x = ComputeThreatListDiffRequest_Constraints{} 951 if protoimpl.UnsafeEnabled { 952 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[11] 953 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 954 ms.StoreMessageInfo(mi) 955 } 956} 957 958func (x *ComputeThreatListDiffRequest_Constraints) String() string { 959 return protoimpl.X.MessageStringOf(x) 960} 961 962func (*ComputeThreatListDiffRequest_Constraints) ProtoMessage() {} 963 964func (x *ComputeThreatListDiffRequest_Constraints) ProtoReflect() protoreflect.Message { 965 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[11] 966 if protoimpl.UnsafeEnabled && x != nil { 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 if ms.LoadMessageInfo() == nil { 969 ms.StoreMessageInfo(mi) 970 } 971 return ms 972 } 973 return mi.MessageOf(x) 974} 975 976// Deprecated: Use ComputeThreatListDiffRequest_Constraints.ProtoReflect.Descriptor instead. 977func (*ComputeThreatListDiffRequest_Constraints) Descriptor() ([]byte, []int) { 978 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{0, 0} 979} 980 981func (x *ComputeThreatListDiffRequest_Constraints) GetMaxDiffEntries() int32 { 982 if x != nil { 983 return x.MaxDiffEntries 984 } 985 return 0 986} 987 988func (x *ComputeThreatListDiffRequest_Constraints) GetMaxDatabaseEntries() int32 { 989 if x != nil { 990 return x.MaxDatabaseEntries 991 } 992 return 0 993} 994 995func (x *ComputeThreatListDiffRequest_Constraints) GetSupportedCompressions() []CompressionType { 996 if x != nil { 997 return x.SupportedCompressions 998 } 999 return nil 1000} 1001 1002// The expected state of a client's local database. 1003type ComputeThreatListDiffResponse_Checksum struct { 1004 state protoimpl.MessageState 1005 sizeCache protoimpl.SizeCache 1006 unknownFields protoimpl.UnknownFields 1007 1008 // The SHA256 hash of the client state; that is, of the sorted list of all 1009 // hashes present in the database. 1010 Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3" json:"sha256,omitempty"` 1011} 1012 1013func (x *ComputeThreatListDiffResponse_Checksum) Reset() { 1014 *x = ComputeThreatListDiffResponse_Checksum{} 1015 if protoimpl.UnsafeEnabled { 1016 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[12] 1017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1018 ms.StoreMessageInfo(mi) 1019 } 1020} 1021 1022func (x *ComputeThreatListDiffResponse_Checksum) String() string { 1023 return protoimpl.X.MessageStringOf(x) 1024} 1025 1026func (*ComputeThreatListDiffResponse_Checksum) ProtoMessage() {} 1027 1028func (x *ComputeThreatListDiffResponse_Checksum) ProtoReflect() protoreflect.Message { 1029 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[12] 1030 if protoimpl.UnsafeEnabled && x != nil { 1031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1032 if ms.LoadMessageInfo() == nil { 1033 ms.StoreMessageInfo(mi) 1034 } 1035 return ms 1036 } 1037 return mi.MessageOf(x) 1038} 1039 1040// Deprecated: Use ComputeThreatListDiffResponse_Checksum.ProtoReflect.Descriptor instead. 1041func (*ComputeThreatListDiffResponse_Checksum) Descriptor() ([]byte, []int) { 1042 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{1, 0} 1043} 1044 1045func (x *ComputeThreatListDiffResponse_Checksum) GetSha256() []byte { 1046 if x != nil { 1047 return x.Sha256 1048 } 1049 return nil 1050} 1051 1052// Contains threat information on a matching uri. 1053type SearchUrisResponse_ThreatUri struct { 1054 state protoimpl.MessageState 1055 sizeCache protoimpl.SizeCache 1056 unknownFields protoimpl.UnknownFields 1057 1058 // The ThreatList this threat belongs to. 1059 ThreatTypes []ThreatType `protobuf:"varint,1,rep,packed,name=threat_types,json=threatTypes,proto3,enum=google.cloud.webrisk.v1beta1.ThreatType" json:"threat_types,omitempty"` 1060 // The cache lifetime for the returned match. Clients must not cache this 1061 // response past this timestamp to avoid false positives. 1062 ExpireTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` 1063} 1064 1065func (x *SearchUrisResponse_ThreatUri) Reset() { 1066 *x = SearchUrisResponse_ThreatUri{} 1067 if protoimpl.UnsafeEnabled { 1068 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[13] 1069 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1070 ms.StoreMessageInfo(mi) 1071 } 1072} 1073 1074func (x *SearchUrisResponse_ThreatUri) String() string { 1075 return protoimpl.X.MessageStringOf(x) 1076} 1077 1078func (*SearchUrisResponse_ThreatUri) ProtoMessage() {} 1079 1080func (x *SearchUrisResponse_ThreatUri) ProtoReflect() protoreflect.Message { 1081 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[13] 1082 if protoimpl.UnsafeEnabled && x != nil { 1083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1084 if ms.LoadMessageInfo() == nil { 1085 ms.StoreMessageInfo(mi) 1086 } 1087 return ms 1088 } 1089 return mi.MessageOf(x) 1090} 1091 1092// Deprecated: Use SearchUrisResponse_ThreatUri.ProtoReflect.Descriptor instead. 1093func (*SearchUrisResponse_ThreatUri) Descriptor() ([]byte, []int) { 1094 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{3, 0} 1095} 1096 1097func (x *SearchUrisResponse_ThreatUri) GetThreatTypes() []ThreatType { 1098 if x != nil { 1099 return x.ThreatTypes 1100 } 1101 return nil 1102} 1103 1104func (x *SearchUrisResponse_ThreatUri) GetExpireTime() *timestamp.Timestamp { 1105 if x != nil { 1106 return x.ExpireTime 1107 } 1108 return nil 1109} 1110 1111// Contains threat information on a matching hash. 1112type SearchHashesResponse_ThreatHash struct { 1113 state protoimpl.MessageState 1114 sizeCache protoimpl.SizeCache 1115 unknownFields protoimpl.UnknownFields 1116 1117 // The ThreatList this threat belongs to. 1118 // This must contain at least one entry. 1119 ThreatTypes []ThreatType `protobuf:"varint,1,rep,packed,name=threat_types,json=threatTypes,proto3,enum=google.cloud.webrisk.v1beta1.ThreatType" json:"threat_types,omitempty"` 1120 // A 32 byte SHA256 hash. This field is in binary format. For JSON 1121 // requests, hashes are base64-encoded. 1122 Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` 1123 // The cache lifetime for the returned match. Clients must not cache this 1124 // response past this timestamp to avoid false positives. 1125 ExpireTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` 1126} 1127 1128func (x *SearchHashesResponse_ThreatHash) Reset() { 1129 *x = SearchHashesResponse_ThreatHash{} 1130 if protoimpl.UnsafeEnabled { 1131 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[14] 1132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1133 ms.StoreMessageInfo(mi) 1134 } 1135} 1136 1137func (x *SearchHashesResponse_ThreatHash) String() string { 1138 return protoimpl.X.MessageStringOf(x) 1139} 1140 1141func (*SearchHashesResponse_ThreatHash) ProtoMessage() {} 1142 1143func (x *SearchHashesResponse_ThreatHash) ProtoReflect() protoreflect.Message { 1144 mi := &file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[14] 1145 if protoimpl.UnsafeEnabled && x != nil { 1146 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1147 if ms.LoadMessageInfo() == nil { 1148 ms.StoreMessageInfo(mi) 1149 } 1150 return ms 1151 } 1152 return mi.MessageOf(x) 1153} 1154 1155// Deprecated: Use SearchHashesResponse_ThreatHash.ProtoReflect.Descriptor instead. 1156func (*SearchHashesResponse_ThreatHash) Descriptor() ([]byte, []int) { 1157 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP(), []int{5, 0} 1158} 1159 1160func (x *SearchHashesResponse_ThreatHash) GetThreatTypes() []ThreatType { 1161 if x != nil { 1162 return x.ThreatTypes 1163 } 1164 return nil 1165} 1166 1167func (x *SearchHashesResponse_ThreatHash) GetHash() []byte { 1168 if x != nil { 1169 return x.Hash 1170 } 1171 return nil 1172} 1173 1174func (x *SearchHashesResponse_ThreatHash) GetExpireTime() *timestamp.Timestamp { 1175 if x != nil { 1176 return x.ExpireTime 1177 } 1178 return nil 1179} 1180 1181var File_google_cloud_webrisk_v1beta1_webrisk_proto protoreflect.FileDescriptor 1182 1183var file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDesc = []byte{ 1184 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x77, 1185 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 1186 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x67, 0x6f, 1187 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 1188 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 1189 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 1190 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1191 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1192 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 1193 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 1194 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1195 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 1196 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x03, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 1197 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 1198 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 1199 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1200 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 1201 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 1202 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 1203 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 1204 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x76, 0x65, 0x72, 1205 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x6d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 1206 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 1207 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 1208 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 1209 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x44, 1210 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 1211 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 1212 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0xcf, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 1213 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 1214 0x64, 0x69, 0x66, 0x66, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 1215 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x69, 1216 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1217 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 1218 0x52, 0x12, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 1219 0x72, 0x69, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 1220 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 1221 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1222 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 1223 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 1224 0x79, 0x70, 0x65, 0x52, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 1225 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf5, 0x04, 0x0a, 0x1d, 0x43, 1226 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 1227 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0d, 1228 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 1229 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1230 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1231 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 1232 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1233 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 1234 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x61, 1235 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 1236 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 1237 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 1238 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 1239 0x6e, 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 1240 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 1241 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 1242 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 1243 0x68, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 1244 0x6c, 0x73, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 1245 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1246 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 1247 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x60, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 1248 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 1249 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 1250 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 1251 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 1252 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 1253 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x4e, 0x0a, 0x15, 0x72, 0x65, 1254 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x64, 1255 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1256 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 1257 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 1258 0x65, 0x64, 0x4e, 0x65, 0x78, 0x74, 0x44, 0x69, 0x66, 0x66, 0x1a, 0x22, 0x0a, 0x08, 0x43, 0x68, 1259 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 1260 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x42, 1261 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 1262 0x0a, 0x19, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 1263 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 1264 0x04, 0x44, 0x49, 0x46, 0x46, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 1265 0x10, 0x02, 0x22, 0x7c, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x72, 0x69, 0x73, 1266 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 1267 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x50, 1268 0x0a, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 1269 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1270 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 1271 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 1272 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 1273 0x22, 0x80, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x72, 0x69, 0x73, 0x52, 1274 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 1275 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1276 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 1277 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x72, 0x69, 1278 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 1279 0x55, 0x72, 0x69, 0x52, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x1a, 0x95, 0x01, 0x0a, 0x09, 1280 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x55, 0x72, 0x69, 0x12, 0x4b, 0x0a, 0x0c, 0x74, 0x68, 0x72, 1281 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 1282 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 1283 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 1284 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 1285 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 1286 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 1287 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 1288 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 1289 0x69, 0x6d, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 1290 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 1291 0x61, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 1292 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x50, 0x0a, 0x0c, 1293 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 1294 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1295 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1296 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 1297 0x02, 0x52, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xea, 1298 0x02, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 1299 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 1300 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1301 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 1302 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 1303 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x68, 0x72, 1304 0x65, 0x61, 0x74, 0x48, 0x61, 0x73, 0x68, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x73, 1305 0x12, 0x4c, 0x0a, 0x14, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 1306 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1307 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1308 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6e, 0x65, 0x67, 0x61, 1309 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xaa, 1310 0x01, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4b, 0x0a, 1311 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 1312 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1313 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1314 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 1315 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 1316 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3b, 1317 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 1318 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1319 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 1320 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x14, 1321 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x64, 0x64, 0x69, 0x74, 1322 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x68, 0x61, 0x73, 0x68, 1323 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1324 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 1325 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x61, 0x73, 0x68, 0x65, 1326 0x73, 0x52, 0x09, 0x72, 0x61, 0x77, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0b, 1327 0x72, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 1328 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1329 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1330 0x2e, 0x52, 0x69, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 1331 0x6e, 0x67, 0x52, 0x0a, 0x72, 0x69, 0x63, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xb4, 1332 0x01, 0x0a, 0x13, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 1333 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x69, 0x6e, 1334 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 1335 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 1336 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x49, 0x6e, 1337 0x64, 0x69, 0x63, 0x65, 0x73, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 1338 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 1339 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1340 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 1341 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x69, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 1342 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 1343 0x64, 0x69, 0x63, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x49, 0x6e, 0x64, 0x69, 1344 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 1345 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x22, 0x4b, 0x0a, 1346 0x09, 0x52, 0x61, 0x77, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 1347 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 1348 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 1349 0x61, 0x77, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 1350 0x09, 0x72, 0x61, 0x77, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x52, 1351 0x69, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 1352 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 1353 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 1354 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 1355 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x69, 0x63, 0x65, 0x50, 1356 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 1357 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 1358 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 1359 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 1360 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2a, 0x65, 0x0a, 0x0a, 1361 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x48, 1362 0x52, 0x45, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 1363 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x41, 0x4c, 0x57, 0x41, 1364 0x52, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x45, 1365 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 1366 0x55, 0x4e, 0x57, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 1367 0x45, 0x10, 0x03, 0x2a, 0x46, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1368 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 1369 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 1370 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x41, 0x57, 0x10, 1371 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x49, 0x43, 0x45, 0x10, 0x02, 0x32, 0x9e, 0x05, 0x0a, 0x15, 1372 0x57, 0x65, 0x62, 0x52, 0x69, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x31, 1373 0x42, 0x65, 0x74, 0x61, 0x31, 0x12, 0xe2, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 1374 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x12, 1375 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 1376 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 1377 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 1378 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 1379 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 1380 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 1381 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 1382 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 1383 0x12, 0x20, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x68, 0x72, 0x65, 0x61, 1384 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x44, 0x69, 1385 0x66, 0x66, 0xda, 0x41, 0x25, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 1386 0x2c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x63, 1387 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x0a, 0x53, 1388 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x72, 0x69, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1389 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 1390 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 1391 0x72, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 1392 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 1393 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 1394 0x55, 0x72, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 1395 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x75, 1396 0x72, 0x69, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0xda, 0x41, 0x10, 0x75, 0x72, 0x69, 1397 0x2c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0xb0, 0x01, 1398 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x31, 1399 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x65, 1400 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 1401 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1402 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1403 0x2e, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1404 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 1405 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 1406 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x3a, 0x73, 1407 0x65, 0x61, 0x72, 0x63, 0x68, 0xda, 0x41, 0x18, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x65, 1408 0x66, 0x69, 0x78, 0x2c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 1409 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 0x2e, 0x67, 0x6f, 0x6f, 1410 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 1411 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1412 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 1413 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xd8, 0x01, 0x0a, 1414 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x72, 1415 0x69, 0x73, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x57, 0x65, 0x62, 1416 0x52, 0x69, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 1417 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 1418 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 1419 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 1420 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x77, 0x65, 0x62, 0x72, 0x69, 0x73, 0x6b, 1421 0xa2, 0x02, 0x04, 0x47, 0x43, 0x57, 0x52, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1422 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x57, 0x65, 0x62, 0x52, 0x69, 0x73, 0x6b, 0x2e, 0x56, 1423 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 1424 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x57, 0x65, 0x62, 0x52, 0x69, 0x73, 0x6b, 0x5c, 0x56, 0x31, 1425 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 1426 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x57, 0x65, 0x62, 0x52, 0x69, 0x73, 0x6b, 0x3a, 0x3a, 1427 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1428} 1429 1430var ( 1431 file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescOnce sync.Once 1432 file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescData = file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDesc 1433) 1434 1435func file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescGZIP() []byte { 1436 file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescOnce.Do(func() { 1437 file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescData) 1438 }) 1439 return file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDescData 1440} 1441 1442var file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 1443var file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes = make([]protoimpl.MessageInfo, 15) 1444var file_google_cloud_webrisk_v1beta1_webrisk_proto_goTypes = []interface{}{ 1445 (ThreatType)(0), // 0: google.cloud.webrisk.v1beta1.ThreatType 1446 (CompressionType)(0), // 1: google.cloud.webrisk.v1beta1.CompressionType 1447 (ComputeThreatListDiffResponse_ResponseType)(0), // 2: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.ResponseType 1448 (*ComputeThreatListDiffRequest)(nil), // 3: google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest 1449 (*ComputeThreatListDiffResponse)(nil), // 4: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse 1450 (*SearchUrisRequest)(nil), // 5: google.cloud.webrisk.v1beta1.SearchUrisRequest 1451 (*SearchUrisResponse)(nil), // 6: google.cloud.webrisk.v1beta1.SearchUrisResponse 1452 (*SearchHashesRequest)(nil), // 7: google.cloud.webrisk.v1beta1.SearchHashesRequest 1453 (*SearchHashesResponse)(nil), // 8: google.cloud.webrisk.v1beta1.SearchHashesResponse 1454 (*ThreatEntryAdditions)(nil), // 9: google.cloud.webrisk.v1beta1.ThreatEntryAdditions 1455 (*ThreatEntryRemovals)(nil), // 10: google.cloud.webrisk.v1beta1.ThreatEntryRemovals 1456 (*RawIndices)(nil), // 11: google.cloud.webrisk.v1beta1.RawIndices 1457 (*RawHashes)(nil), // 12: google.cloud.webrisk.v1beta1.RawHashes 1458 (*RiceDeltaEncoding)(nil), // 13: google.cloud.webrisk.v1beta1.RiceDeltaEncoding 1459 (*ComputeThreatListDiffRequest_Constraints)(nil), // 14: google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest.Constraints 1460 (*ComputeThreatListDiffResponse_Checksum)(nil), // 15: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.Checksum 1461 (*SearchUrisResponse_ThreatUri)(nil), // 16: google.cloud.webrisk.v1beta1.SearchUrisResponse.ThreatUri 1462 (*SearchHashesResponse_ThreatHash)(nil), // 17: google.cloud.webrisk.v1beta1.SearchHashesResponse.ThreatHash 1463 (*timestamp.Timestamp)(nil), // 18: google.protobuf.Timestamp 1464} 1465var file_google_cloud_webrisk_v1beta1_webrisk_proto_depIdxs = []int32{ 1466 0, // 0: google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest.threat_type:type_name -> google.cloud.webrisk.v1beta1.ThreatType 1467 14, // 1: google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest.constraints:type_name -> google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest.Constraints 1468 2, // 2: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.response_type:type_name -> google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.ResponseType 1469 9, // 3: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.additions:type_name -> google.cloud.webrisk.v1beta1.ThreatEntryAdditions 1470 10, // 4: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.removals:type_name -> google.cloud.webrisk.v1beta1.ThreatEntryRemovals 1471 15, // 5: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.checksum:type_name -> google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.Checksum 1472 18, // 6: google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse.recommended_next_diff:type_name -> google.protobuf.Timestamp 1473 0, // 7: google.cloud.webrisk.v1beta1.SearchUrisRequest.threat_types:type_name -> google.cloud.webrisk.v1beta1.ThreatType 1474 16, // 8: google.cloud.webrisk.v1beta1.SearchUrisResponse.threat:type_name -> google.cloud.webrisk.v1beta1.SearchUrisResponse.ThreatUri 1475 0, // 9: google.cloud.webrisk.v1beta1.SearchHashesRequest.threat_types:type_name -> google.cloud.webrisk.v1beta1.ThreatType 1476 17, // 10: google.cloud.webrisk.v1beta1.SearchHashesResponse.threats:type_name -> google.cloud.webrisk.v1beta1.SearchHashesResponse.ThreatHash 1477 18, // 11: google.cloud.webrisk.v1beta1.SearchHashesResponse.negative_expire_time:type_name -> google.protobuf.Timestamp 1478 12, // 12: google.cloud.webrisk.v1beta1.ThreatEntryAdditions.raw_hashes:type_name -> google.cloud.webrisk.v1beta1.RawHashes 1479 13, // 13: google.cloud.webrisk.v1beta1.ThreatEntryAdditions.rice_hashes:type_name -> google.cloud.webrisk.v1beta1.RiceDeltaEncoding 1480 11, // 14: google.cloud.webrisk.v1beta1.ThreatEntryRemovals.raw_indices:type_name -> google.cloud.webrisk.v1beta1.RawIndices 1481 13, // 15: google.cloud.webrisk.v1beta1.ThreatEntryRemovals.rice_indices:type_name -> google.cloud.webrisk.v1beta1.RiceDeltaEncoding 1482 1, // 16: google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest.Constraints.supported_compressions:type_name -> google.cloud.webrisk.v1beta1.CompressionType 1483 0, // 17: google.cloud.webrisk.v1beta1.SearchUrisResponse.ThreatUri.threat_types:type_name -> google.cloud.webrisk.v1beta1.ThreatType 1484 18, // 18: google.cloud.webrisk.v1beta1.SearchUrisResponse.ThreatUri.expire_time:type_name -> google.protobuf.Timestamp 1485 0, // 19: google.cloud.webrisk.v1beta1.SearchHashesResponse.ThreatHash.threat_types:type_name -> google.cloud.webrisk.v1beta1.ThreatType 1486 18, // 20: google.cloud.webrisk.v1beta1.SearchHashesResponse.ThreatHash.expire_time:type_name -> google.protobuf.Timestamp 1487 3, // 21: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.ComputeThreatListDiff:input_type -> google.cloud.webrisk.v1beta1.ComputeThreatListDiffRequest 1488 5, // 22: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.SearchUris:input_type -> google.cloud.webrisk.v1beta1.SearchUrisRequest 1489 7, // 23: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.SearchHashes:input_type -> google.cloud.webrisk.v1beta1.SearchHashesRequest 1490 4, // 24: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.ComputeThreatListDiff:output_type -> google.cloud.webrisk.v1beta1.ComputeThreatListDiffResponse 1491 6, // 25: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.SearchUris:output_type -> google.cloud.webrisk.v1beta1.SearchUrisResponse 1492 8, // 26: google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1.SearchHashes:output_type -> google.cloud.webrisk.v1beta1.SearchHashesResponse 1493 24, // [24:27] is the sub-list for method output_type 1494 21, // [21:24] is the sub-list for method input_type 1495 21, // [21:21] is the sub-list for extension type_name 1496 21, // [21:21] is the sub-list for extension extendee 1497 0, // [0:21] is the sub-list for field type_name 1498} 1499 1500func init() { file_google_cloud_webrisk_v1beta1_webrisk_proto_init() } 1501func file_google_cloud_webrisk_v1beta1_webrisk_proto_init() { 1502 if File_google_cloud_webrisk_v1beta1_webrisk_proto != nil { 1503 return 1504 } 1505 if !protoimpl.UnsafeEnabled { 1506 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1507 switch v := v.(*ComputeThreatListDiffRequest); i { 1508 case 0: 1509 return &v.state 1510 case 1: 1511 return &v.sizeCache 1512 case 2: 1513 return &v.unknownFields 1514 default: 1515 return nil 1516 } 1517 } 1518 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1519 switch v := v.(*ComputeThreatListDiffResponse); i { 1520 case 0: 1521 return &v.state 1522 case 1: 1523 return &v.sizeCache 1524 case 2: 1525 return &v.unknownFields 1526 default: 1527 return nil 1528 } 1529 } 1530 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1531 switch v := v.(*SearchUrisRequest); i { 1532 case 0: 1533 return &v.state 1534 case 1: 1535 return &v.sizeCache 1536 case 2: 1537 return &v.unknownFields 1538 default: 1539 return nil 1540 } 1541 } 1542 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1543 switch v := v.(*SearchUrisResponse); i { 1544 case 0: 1545 return &v.state 1546 case 1: 1547 return &v.sizeCache 1548 case 2: 1549 return &v.unknownFields 1550 default: 1551 return nil 1552 } 1553 } 1554 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1555 switch v := v.(*SearchHashesRequest); i { 1556 case 0: 1557 return &v.state 1558 case 1: 1559 return &v.sizeCache 1560 case 2: 1561 return &v.unknownFields 1562 default: 1563 return nil 1564 } 1565 } 1566 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1567 switch v := v.(*SearchHashesResponse); i { 1568 case 0: 1569 return &v.state 1570 case 1: 1571 return &v.sizeCache 1572 case 2: 1573 return &v.unknownFields 1574 default: 1575 return nil 1576 } 1577 } 1578 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1579 switch v := v.(*ThreatEntryAdditions); i { 1580 case 0: 1581 return &v.state 1582 case 1: 1583 return &v.sizeCache 1584 case 2: 1585 return &v.unknownFields 1586 default: 1587 return nil 1588 } 1589 } 1590 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1591 switch v := v.(*ThreatEntryRemovals); i { 1592 case 0: 1593 return &v.state 1594 case 1: 1595 return &v.sizeCache 1596 case 2: 1597 return &v.unknownFields 1598 default: 1599 return nil 1600 } 1601 } 1602 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1603 switch v := v.(*RawIndices); i { 1604 case 0: 1605 return &v.state 1606 case 1: 1607 return &v.sizeCache 1608 case 2: 1609 return &v.unknownFields 1610 default: 1611 return nil 1612 } 1613 } 1614 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1615 switch v := v.(*RawHashes); i { 1616 case 0: 1617 return &v.state 1618 case 1: 1619 return &v.sizeCache 1620 case 2: 1621 return &v.unknownFields 1622 default: 1623 return nil 1624 } 1625 } 1626 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1627 switch v := v.(*RiceDeltaEncoding); i { 1628 case 0: 1629 return &v.state 1630 case 1: 1631 return &v.sizeCache 1632 case 2: 1633 return &v.unknownFields 1634 default: 1635 return nil 1636 } 1637 } 1638 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1639 switch v := v.(*ComputeThreatListDiffRequest_Constraints); i { 1640 case 0: 1641 return &v.state 1642 case 1: 1643 return &v.sizeCache 1644 case 2: 1645 return &v.unknownFields 1646 default: 1647 return nil 1648 } 1649 } 1650 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1651 switch v := v.(*ComputeThreatListDiffResponse_Checksum); i { 1652 case 0: 1653 return &v.state 1654 case 1: 1655 return &v.sizeCache 1656 case 2: 1657 return &v.unknownFields 1658 default: 1659 return nil 1660 } 1661 } 1662 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1663 switch v := v.(*SearchUrisResponse_ThreatUri); i { 1664 case 0: 1665 return &v.state 1666 case 1: 1667 return &v.sizeCache 1668 case 2: 1669 return &v.unknownFields 1670 default: 1671 return nil 1672 } 1673 } 1674 file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1675 switch v := v.(*SearchHashesResponse_ThreatHash); i { 1676 case 0: 1677 return &v.state 1678 case 1: 1679 return &v.sizeCache 1680 case 2: 1681 return &v.unknownFields 1682 default: 1683 return nil 1684 } 1685 } 1686 } 1687 type x struct{} 1688 out := protoimpl.TypeBuilder{ 1689 File: protoimpl.DescBuilder{ 1690 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1691 RawDescriptor: file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDesc, 1692 NumEnums: 3, 1693 NumMessages: 15, 1694 NumExtensions: 0, 1695 NumServices: 1, 1696 }, 1697 GoTypes: file_google_cloud_webrisk_v1beta1_webrisk_proto_goTypes, 1698 DependencyIndexes: file_google_cloud_webrisk_v1beta1_webrisk_proto_depIdxs, 1699 EnumInfos: file_google_cloud_webrisk_v1beta1_webrisk_proto_enumTypes, 1700 MessageInfos: file_google_cloud_webrisk_v1beta1_webrisk_proto_msgTypes, 1701 }.Build() 1702 File_google_cloud_webrisk_v1beta1_webrisk_proto = out.File 1703 file_google_cloud_webrisk_v1beta1_webrisk_proto_rawDesc = nil 1704 file_google_cloud_webrisk_v1beta1_webrisk_proto_goTypes = nil 1705 file_google_cloud_webrisk_v1beta1_webrisk_proto_depIdxs = nil 1706} 1707 1708// Reference imports to suppress errors if they are not otherwise used. 1709var _ context.Context 1710var _ grpc.ClientConnInterface 1711 1712// This is a compile-time assertion to ensure that this generated file 1713// is compatible with the grpc package it is being compiled against. 1714const _ = grpc.SupportPackageIsVersion6 1715 1716// WebRiskServiceV1Beta1Client is the client API for WebRiskServiceV1Beta1 service. 1717// 1718// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 1719type WebRiskServiceV1Beta1Client interface { 1720 // Gets the most recent threat list diffs. 1721 ComputeThreatListDiff(ctx context.Context, in *ComputeThreatListDiffRequest, opts ...grpc.CallOption) (*ComputeThreatListDiffResponse, error) 1722 // This method is used to check whether a URI is on a given threatList. 1723 SearchUris(ctx context.Context, in *SearchUrisRequest, opts ...grpc.CallOption) (*SearchUrisResponse, error) 1724 // Gets the full hashes that match the requested hash prefix. 1725 // This is used after a hash prefix is looked up in a threatList 1726 // and there is a match. The client side threatList only holds partial hashes 1727 // so the client must query this method to determine if there is a full 1728 // hash match of a threat. 1729 SearchHashes(ctx context.Context, in *SearchHashesRequest, opts ...grpc.CallOption) (*SearchHashesResponse, error) 1730} 1731 1732type webRiskServiceV1Beta1Client struct { 1733 cc grpc.ClientConnInterface 1734} 1735 1736func NewWebRiskServiceV1Beta1Client(cc grpc.ClientConnInterface) WebRiskServiceV1Beta1Client { 1737 return &webRiskServiceV1Beta1Client{cc} 1738} 1739 1740func (c *webRiskServiceV1Beta1Client) ComputeThreatListDiff(ctx context.Context, in *ComputeThreatListDiffRequest, opts ...grpc.CallOption) (*ComputeThreatListDiffResponse, error) { 1741 out := new(ComputeThreatListDiffResponse) 1742 err := c.cc.Invoke(ctx, "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/ComputeThreatListDiff", in, out, opts...) 1743 if err != nil { 1744 return nil, err 1745 } 1746 return out, nil 1747} 1748 1749func (c *webRiskServiceV1Beta1Client) SearchUris(ctx context.Context, in *SearchUrisRequest, opts ...grpc.CallOption) (*SearchUrisResponse, error) { 1750 out := new(SearchUrisResponse) 1751 err := c.cc.Invoke(ctx, "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/SearchUris", in, out, opts...) 1752 if err != nil { 1753 return nil, err 1754 } 1755 return out, nil 1756} 1757 1758func (c *webRiskServiceV1Beta1Client) SearchHashes(ctx context.Context, in *SearchHashesRequest, opts ...grpc.CallOption) (*SearchHashesResponse, error) { 1759 out := new(SearchHashesResponse) 1760 err := c.cc.Invoke(ctx, "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/SearchHashes", in, out, opts...) 1761 if err != nil { 1762 return nil, err 1763 } 1764 return out, nil 1765} 1766 1767// WebRiskServiceV1Beta1Server is the server API for WebRiskServiceV1Beta1 service. 1768type WebRiskServiceV1Beta1Server interface { 1769 // Gets the most recent threat list diffs. 1770 ComputeThreatListDiff(context.Context, *ComputeThreatListDiffRequest) (*ComputeThreatListDiffResponse, error) 1771 // This method is used to check whether a URI is on a given threatList. 1772 SearchUris(context.Context, *SearchUrisRequest) (*SearchUrisResponse, error) 1773 // Gets the full hashes that match the requested hash prefix. 1774 // This is used after a hash prefix is looked up in a threatList 1775 // and there is a match. The client side threatList only holds partial hashes 1776 // so the client must query this method to determine if there is a full 1777 // hash match of a threat. 1778 SearchHashes(context.Context, *SearchHashesRequest) (*SearchHashesResponse, error) 1779} 1780 1781// UnimplementedWebRiskServiceV1Beta1Server can be embedded to have forward compatible implementations. 1782type UnimplementedWebRiskServiceV1Beta1Server struct { 1783} 1784 1785func (*UnimplementedWebRiskServiceV1Beta1Server) ComputeThreatListDiff(context.Context, *ComputeThreatListDiffRequest) (*ComputeThreatListDiffResponse, error) { 1786 return nil, status.Errorf(codes.Unimplemented, "method ComputeThreatListDiff not implemented") 1787} 1788func (*UnimplementedWebRiskServiceV1Beta1Server) SearchUris(context.Context, *SearchUrisRequest) (*SearchUrisResponse, error) { 1789 return nil, status.Errorf(codes.Unimplemented, "method SearchUris not implemented") 1790} 1791func (*UnimplementedWebRiskServiceV1Beta1Server) SearchHashes(context.Context, *SearchHashesRequest) (*SearchHashesResponse, error) { 1792 return nil, status.Errorf(codes.Unimplemented, "method SearchHashes not implemented") 1793} 1794 1795func RegisterWebRiskServiceV1Beta1Server(s *grpc.Server, srv WebRiskServiceV1Beta1Server) { 1796 s.RegisterService(&_WebRiskServiceV1Beta1_serviceDesc, srv) 1797} 1798 1799func _WebRiskServiceV1Beta1_ComputeThreatListDiff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1800 in := new(ComputeThreatListDiffRequest) 1801 if err := dec(in); err != nil { 1802 return nil, err 1803 } 1804 if interceptor == nil { 1805 return srv.(WebRiskServiceV1Beta1Server).ComputeThreatListDiff(ctx, in) 1806 } 1807 info := &grpc.UnaryServerInfo{ 1808 Server: srv, 1809 FullMethod: "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/ComputeThreatListDiff", 1810 } 1811 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1812 return srv.(WebRiskServiceV1Beta1Server).ComputeThreatListDiff(ctx, req.(*ComputeThreatListDiffRequest)) 1813 } 1814 return interceptor(ctx, in, info, handler) 1815} 1816 1817func _WebRiskServiceV1Beta1_SearchUris_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1818 in := new(SearchUrisRequest) 1819 if err := dec(in); err != nil { 1820 return nil, err 1821 } 1822 if interceptor == nil { 1823 return srv.(WebRiskServiceV1Beta1Server).SearchUris(ctx, in) 1824 } 1825 info := &grpc.UnaryServerInfo{ 1826 Server: srv, 1827 FullMethod: "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/SearchUris", 1828 } 1829 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1830 return srv.(WebRiskServiceV1Beta1Server).SearchUris(ctx, req.(*SearchUrisRequest)) 1831 } 1832 return interceptor(ctx, in, info, handler) 1833} 1834 1835func _WebRiskServiceV1Beta1_SearchHashes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1836 in := new(SearchHashesRequest) 1837 if err := dec(in); err != nil { 1838 return nil, err 1839 } 1840 if interceptor == nil { 1841 return srv.(WebRiskServiceV1Beta1Server).SearchHashes(ctx, in) 1842 } 1843 info := &grpc.UnaryServerInfo{ 1844 Server: srv, 1845 FullMethod: "/google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1/SearchHashes", 1846 } 1847 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1848 return srv.(WebRiskServiceV1Beta1Server).SearchHashes(ctx, req.(*SearchHashesRequest)) 1849 } 1850 return interceptor(ctx, in, info, handler) 1851} 1852 1853var _WebRiskServiceV1Beta1_serviceDesc = grpc.ServiceDesc{ 1854 ServiceName: "google.cloud.webrisk.v1beta1.WebRiskServiceV1Beta1", 1855 HandlerType: (*WebRiskServiceV1Beta1Server)(nil), 1856 Methods: []grpc.MethodDesc{ 1857 { 1858 MethodName: "ComputeThreatListDiff", 1859 Handler: _WebRiskServiceV1Beta1_ComputeThreatListDiff_Handler, 1860 }, 1861 { 1862 MethodName: "SearchUris", 1863 Handler: _WebRiskServiceV1Beta1_SearchUris_Handler, 1864 }, 1865 { 1866 MethodName: "SearchHashes", 1867 Handler: _WebRiskServiceV1Beta1_SearchHashes_Handler, 1868 }, 1869 }, 1870 Streams: []grpc.StreamDesc{}, 1871 Metadata: "google/cloud/webrisk/v1beta1/webrisk.proto", 1872} 1873